segunda-feira, 14 de fevereiro de 2011

Procedimentos com parâmetros opcionais:

Quando você declara o procedimento:

procedure Esperar(Segundos: Byte);
Você está determinando que todas as vezes que o procedimento. Esperar for chamado, deverá ser passado um valor do tipo Byte. No entanto, esse tipo de declaração exige que em todas as chamadas ao procedimento Esperar seja especificado um parâmetro.

Se você fizer uma chamada do tipo:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Esperar()
end;
Será gerado um erro do tipo: Not enough actual parameters. Mas você pode declarar e implementar o procedimento da seguinte forma:

procedure Esperar(Segundos: Byte = 1);
begin
  Sleep(Segundos * 1000);
end;
A declaração acima faz com que o procedimento Esperar assuma o valor 1 caso nenhum parâmetro seja passado. Assim você poderá fazer uma chamada ao procedimento em qualquer das situações abaixo:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Esperar(); // nenhum parâmetro, será assumido o valor 1
  Esperar(1);
  Esperar // nenhum parâmetro, será assumido o valor 1
end;

Nenhum comentário:

Postar um comentário