Hallo,
eine Prozedur hat keinen Rückgabewert, kann aber Rückgabeparameter (Referenzparameter) haben.
function Foo1(S: String): Integer;
S: Parameter
: Integer = Rückgabewert der Funktion
procedure Proc1(S: String);
S: Parameter
procedure Proc2(S: String; var X: Integer);
S: Parameter - Wertparameter
X: Parameter - Referenzparameter
Wird X in der Prozedur verändert, ändert sich auch der Wert der Variable das Aufrufers
procedure Proc2(S: String; var X: Integer; Y: Integer);
S: Parameter
X: Parameter
Y: Parameter = Referenzparameter
Wird X in der Prozedur verändert, ändert sich auch die Variable das Aufrufers
Wird Y in der Prozedur verändert, ändert sich die Variable das Aufrufers NICHT
Das
var kann man sich wie einen Pointer (eine Referenz) auf die eigentliche Variable beim Aufrufer vorstellen, der an die Prozedur übergeben wird.
http://bergt.de/workshop/delphi/html/delphi39.htm