Function e Procedure

04/01/2006

Fala ae camaradas...Felicidades pra vcs!!! :D

Estou com uma pequena e grande dúvida, lá vai!!! :?: :?:

Qual a diferença entre uma Função e uma Procedure? E em quais casos eu devo usar uma função ou uma procedure?...se vcs poderem exemplificar eu agradeço mais ainda.

Grato e valew!!! :)


Rafaeldf22

Respostas

04/01/2006

Paulo

vamos lá:
Qual a diferença entre uma Função e uma Procedure?

R: Uma função retorna um valor e uma procedure não.
E em quais casos eu devo usar uma função ou uma procedure?

R:Não tem assim uma regra para isso. Se vc precisa que uma determinada tarefa te retorne um valor ou vários, então vc usa uma função, ou então, uma procedure. Ex: Se for validar um CNPJ,CPF,PIS e etc..., usa-se uma função, pois é necessário que se tenha um valor de retorno. Eu tenho uma rotina de impressão onde a mesma rotina seria usado em várias partes do programa. mas a mesma rotina, então eu usaria uma procedure. Isso é muito próprio do sistema, depende de como vc está fazendo e etc... É vc que deve ter a visão de saber se usa uma function ou uma procedure. Espero ter esclarecido algo ou pelo menos cheguei perto.


Responder Citar

04/01/2006

Techsoft

Cara, basicamente uma função é algo que vai te dar um retorno de alguma coisa... tipo tu cria uma função para retornar a média de um aluno por exemplo

function media(nota1, nota2, nota3: Real):Real;

ai tu faz ela

function media(nota1, nota2, nota3:Real):Real;
begin
Result := (nota1 + nota2 + nota3)/3;
end;

ai em determina parte tu precisa usar a função para calcular a média..

edit1.text := FormatFloat(´#,0.00´, media(10, 9, 8));

e uma procedure eh algo que vai executar um bloco de comandos porém não vai de dar retorno algum....

procedure media(nota1, nota2, nota3);

ai tu faz ela

procedure media(nota1, nota2, nota3);
begin
edit1.Text := FormatFloat(´,0.00´, (nota1+nota2+nota3)/3);
end;


esses são somente exemplos bem bobos, mas que já mostram mais ou menos a diferença entre as duas coisas....

Sempre que precisar escrever um bloco de comandos que vai passar alguns parâmetros e após precisa retornar um valor, vai usar função, quando precisar apenas blocos de comandos sem retorno de valor... use procedimentos...

Espero ter ajudado.


Responder Citar