Postagens Recentes

terça-feira, 15 de outubro de 2013

Procedimentos e Funções



Olá Delphianos, hoje vamos falar um pouco sobre procedimentos (procedures) e funções (funtions).
Mas por que criar procedimentos e/ou funções?
R: Podemos (ou devemos?) criar procedimentos e/ou funções simplesmente por uma questão de modularização do código ou por uma questão de reutilização da rotina.

Definição:

Procedimentos/funções (procedure/function), as vezes chamados apenas de rotinas, são blocos de códigos que podem ser chamados de lugares diferentes dentro de um programa.
  • Procedimento: Um procedimento é o tipo de rotina que não devolve um valor para quem o chamou.
    • Exemplo: Application.Terminate; O objetivo do método é encerrar a aplicação, ou seja, não precisa devolver nada, apenas faz.
  • Funções: Funções é o contrário do procedimento, ou seja, uma função sempre vai devolver um valor para quem a chamou.
    • Exemplo: Quando queremos saber se um TEdit está selecionado (foco), podemos chamar a função Focused que retorna True/False.
Declaração de uma procedure:
  • A assinatura de uma procedure é dada de duas formas:
    • procedure <nome_procedure>;
    • procedure <nome_procedure>(Parametro: Tipo);
      • Exemplo: 
      • procedure limpaMemo(Memo: TMemo);
      • begin
        • Memo.Lines.Clear;
      • end;
Declaração de uma function:
  • Para uma function também é possível passar uma parâmetro. Veja:
    • function <nome_function>: Tipo;
    • function <nome_function>(Parametro: Tipo): Tipo;
      • Exemplo:
        • function contarLinhas(Memo: TMemo): Integer;
        • begin
          • Result := Memo.Lines.Count - 1;
        • end;
  • Observações: 
    • Toda function possui a variável Result que é declara implicitamente na function e sempre será do tipo que foi declarado no final da function, no nosso exemplo, Integer.
    • Em Delphi/Pascal, quando atribuímos um valor para Result, o programa segue normalmente até encontrar uma instrução que interrompa a execução do código, por exemplo, end, Break, Exit, Abort.

Bom pessoal, espero que tenham gostado deste primeiro artigo.
No blog também será apresentado códigos e dicas para usuários avançados. Está primeira parte foi apenas para deixarmos claro a diferença entre procedure e function para aqueles que estão começando.

Abraços!

Atualizações - Gratis



Smiley :)
:D
:)
:[
;)
:D
:O
(6)
(A)
:'(
:|
:o)
8)
(K)
(M)

Nenhum comentário:

Postar um comentário