Funções são parecidas com Procedimentos, mas a única diferença é que as funções retornam um valor.
Por exemplo:
result := <variavel>
end;
Onde, result := variavel indica a variável que será retornada pela função. Lembrando que o tipo da variável tem que ser o mesmo tipo indicado no retorno.
Exemplo:
// O tipo de retorno da variável será Real, conforme negritado abaixo:
function Calcular(valor1: Real; operador: Char; valor2: Real): Real;
var
resultado: Real; // variavel de retorno
begin
case operador of
'+': resultado := valor1 + valor2; // soma
'-': resultado := valor1 - valor2; // subtração
'*': resultado := valor1 * valor2; // multiplicação
'/': resultado := valor1 / valor2; // divisão
end;
result := resultado; // retorna resultado
end;
A função acima, recebe valor1 que é do tipo Real, recebe operador que é do tipo Char e recebe valor2 que é do tipo Real, além de ter a variável de retorno do tipo Real;
Podemos chamar a função da seguinte maneira:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FloatToStr(Calcular(50, '*', 10)));
end;
* FloatToStr converte Real para String, pois ShowMessage recebe apenas String e Calcular é do tipo Real.
* Repare os argumentos da função Calcular.
Calcular(50, '*', 10);
O primeiro argumento (valor1: Real) é 50.
O segundo argumento (operador: Char) é '*'. Poderia ser '-', '/' ou '-'.
O terceiro argumento (valor2: Real) é 10.
Tudo conforme programado na função Calcular. Assim podemos ver o resultado.
Calcular(50, '*', 10);
Por exemplo:
function <nome_da_funcao>(<argumento1>: <tipo>; <argumento2>: <tipo>):<retorno>;
beginresult := <variavel>
end;
Onde, result := variavel indica a variável que será retornada pela função. Lembrando que o tipo da variável tem que ser o mesmo tipo indicado no retorno.
Exemplo:
// O tipo de retorno da variável será Real, conforme negritado abaixo:
function Calcular(valor1: Real; operador: Char; valor2: Real): Real;
var
resultado: Real; // variavel de retorno
begin
case operador of
'+': resultado := valor1 + valor2; // soma
'-': resultado := valor1 - valor2; // subtração
'*': resultado := valor1 * valor2; // multiplicação
'/': resultado := valor1 / valor2; // divisão
end;
result := resultado; // retorna resultado
end;
A função acima, recebe valor1 que é do tipo Real, recebe operador que é do tipo Char e recebe valor2 que é do tipo Real, além de ter a variável de retorno do tipo Real;
Podemos chamar a função da seguinte maneira:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(FloatToStr(Calcular(50, '*', 10)));
end;
* FloatToStr converte Real para String, pois ShowMessage recebe apenas String e Calcular é do tipo Real.
* Repare os argumentos da função Calcular.
Calcular(50, '*', 10);
O primeiro argumento (valor1: Real) é 50.
O segundo argumento (operador: Char) é '*'. Poderia ser '-', '/' ou '-'.
O terceiro argumento (valor2: Real) é 10.
Tudo conforme programado na função Calcular. Assim podemos ver o resultado.
Calcular(50, '*', 10);
Por hoje é isso galera, no próximo artigo, falarei sobre DLLs em Delphi.
Abraço e até a próxima.
0 comentários:
Postar um comentário