Pascal/Functions

Define-se, de forma muito parecida com uma função matemática.
As funções recebem valores (parâmetros) e retorna um valor como resultado, ao contrario do procedure(procedimento), uma function(função) pode ser atribuída a uma variável.
Ex.: idade:= get_idade(joao);

Sintaxe:

  
function
NomeDaFunção(Parâmetro1: Tipo; ParâmetroN: Tipo): Tipo de retorno;
var
  {declaração de variáveis locais á função quando necessárias}
begin
  {bloco de instruções}
end;

Código Exemplo:

 
Function Pergunta(Titulo, Mensagem: String): Boolean;
Var
  I: Integer;
  F: Tform;

Begin
  if (Titulo = ' ') then
    Titulo:= Application.Title;

  F:= CreateMessageDialog(Mensagem, MtConfirmation,[MbYes,MbNo]);
  Try
    For I:=0 to F.ComponentCount -1 do
      If F.Components[i] is TButton then
        With TButton(F.Components[i]) do
          Case ModalResult of
            MrYes: Caption := 'Sim';
            MrNo:  Caption := 'Não';
          End;
    F.Caption:= Titulo;
    If (F.ShowModal = MrYes) Then
      Pergunta:= True
    Else
      Pergunta:= False;
  Finally
    F.Free;
  End;

End;