PROCEDIMENTOS - PROCEDURES

Os procedimentos são blocos de código que podem ser chamados de diferentes locais em um programa.

Sintaxe:

PROCEDURE nome (lista de parâmetros);
var
    
 lista de variáveis locais;
begin
     
lista de instruções;
end;


PROCEDIMENTOS com PASSAGEM de PARÂMETROS Por VALOR

As informações passadas para o procedimento são tratadas dentro da sub-rotina e qualquer alteração não sai do seu interior.


PROCEDIMENTOS com PASSAGEM de PARÂMETROS por REFERÊNCIA

Uma informação passada para o procedimento é tratada dentro da sub-rotina e devolvido à rotina chamadora.


Exemplos:

Chamada por Valor Chamada por Referência
// Procedimento para calcular o Fatorial de um número
procedure Fatorial (X: Integer);
var
  Y, F: Integer;
begin
  F:=1;
  for Y:= 1 to X do
     F:= F * Y;
  label1.caption:=IntToStr(F);
end;
// Procedimento para calcular o Fatorial de um número
procedure Fatorial (X: Integer; var F:Integer);
var
  Y: Integer;
begin
  F:=1;
  for Y:= 1 to X do
     F:= F * Y; 

end
;
// Procedimento que chama a procedure Fatorial // Procedimento que chama a procedure Fatorial

procedure TForm1.ButtonClick (Sender:TObject);
var
  N: Integer;
begin
  N:=StrToInt(Edit1.Text);
  Fatorial (N); // Chamada da Procedure Fatorial

end;

procedure TForm1.ButtonClick (Sender:TObject);
var
  N, FAT: Integer;
begin
  N:=StrToInt(Edit1.Text);
  Fatorial (N, FAT); // Chamada da Procedure Fatorial
  Label1.caption:= IntToStr (FAT);

end;