Parâmetros no Delphi: Como trabalhar com passagem de parâmetros

Nesta Quick iremos falar sobre a forma de passagem de parametros no Delphi

Olá galera, nesta Quick Tips irei falar sobre os s que implementamos em nossas functions e procedures, assim podemos obter mais seguranças na de s.

Valor x Referência

Valor: O conteúdo que foi passado para o método permanece intacto ao final do mesmo. O compilador gera uma cópia da variável.

Exemplo:

procedure TFrmPrincipal.ParamValor(Valor: Real; Qtd: Integer); begin Valor := Valor * Qtd; end;

Usando o Método

procedure TFrmPrincipal.Button1Click(Sender: TObject); Var xValor : Real; begin xValor := 60; ShowMessage(FloatToStr(xValor)); ParamValor(xValor, 2); ShowMessage(FloatToStr(xValor)); end;

Referência: O conteúdo que foi passado para o método pode ser modificado. Temos um endereço em comum para a variável passada como e o próprio , ou seja, se mudar dentro do método o conteúdo da variável de fora será modificado.

Exemplo:

procedure TFrmPrincipal.ParamReferencia(var Valor: Real; Qtd: Integer); begin Valor := Valor * Qtd; end;

Usando o método

procedure TFrmPrincipal.Button1Click(Sender: TObject); Var xValor : Real; begin xValor := 60; ShowMessage(FloatToStr(xValor)); //Observe que irá aparecer a mensagem 60 ParamReferencia(xValor, 2); ShowMessage(FloatToStr(xValor)); //Observe que irá aparecer a mensagem 120 end;

s Const

Não podemos atribuir nenhum valor, dentro do método, a variável passada como .

Exemplo:

procedure TFrmPrincipal.ParamConst(const Valor: Real; Qtd: Integer); begin //Errado: Não podemos atribuir valor a um Const; Valor := (Valor * Qtd); end;

Usando o Método

ParamConst(6000, 10);

Constantes tipadas. s de Valor Default

Podemos atribuir um valor a um em nossos métodos sem que tenha a necessidade de informarmos seu valor, na hora de executar o método.

Exemplo:

procedure TFrmPrincipal.ParamDefault(Valor: Real; Qtd: Integer = 2); begin Valor := Valor * Qtd; end;

Usando o Método

ParamDefault(6000); //Observe que não preciso passar a Qtd, caso ela seja = 2

Fico por aqui ate a próxima Quick Tips.

Um abraço

Artigos relacionados