¡Hola a todos!
Bueno, ahora sigo yo.
Es algo realmente simplón y sencillezco.
Resulta que mientras programo suelen surgirme algunas ideas estrafalarias que casi siempre termino desechando por su poca utilidad. Una vez se me ocurrió que para hacer uso del resultado de una función en varios puntos de una rutina Delphi, sin tener que declarar una variable de por medio y sin llamar a dicha función más de una vez (algo que sería innecesario), podría modificar la función para que en lugar de devolver un entero, por ejemplo, devolviese un registro (
record) que contuviera un entero, y entonces colocar la llamada a la función como expresión de un bloque With.
Código Delphi
[-]
Function F1 :Integer;
Begin
Result := 4;
End;
procedure TForm1.Button1Click(Sender: TObject);
Var
I :Integer;
begin
I := F1 ();
If I = 5 Then
ShowMessage ('F1 devolvió 5.')
Else
ShowMessage ('¡Pabernosmatao! F1 devolvió ' + IntToStr (I) + '.');
end;
Type
TInteger = Record
Valor :Integer;
End;
Function F2 :TInteger;
Begin
Result.Valor := 4;
End;
procedure TForm1.Button2Click(Sender: TObject);
begin
With F2 () Do
If Valor = 5 Then
ShowMessage ('F2 devolvió 5.')
Else
ShowMessage ('¡Pabernosmatao! F2 devolvió ' + IntToStr (Valor) + '.');
end;
Dedicado a todos aquellos que no les gusta declarar variables.
Un abrazo inútil.
Al González.