Zitat von
gangs-taas:
wenn ich jetzt frage "wann kann man das weglassen und wann muss es dableiben" bekomme ich dann die antwort 'mach für jede frage nen neuen post auf' ?!
Wie bereits von anderen geschrieben dürfen Schleifenvariablen nicht woanders geändert werden.
Zu Deiner eigentlichen Frage:
Funktionen können nun mal nur einen Wert zurück lieferen. Nun kann es aber sein, dass Du weitere Infos zurück haben möchtest (einfaches Bsp.):
Delphi-Quellcode:
function CreateFile(AFileName: string; var IOResult: integer): boolean;
var FOut: System.Text;
begin
{$I-}
System.AssignFile(FOut, AFileName);
System.Rewrite(FOut);
{$I+}
IOResult:= System.IOResult;
Result:= IOResult = 0;
end;
procedure Test;
var IOResult: integer;
begin
if not CreateFile('dummy.txt', IOResult) then
begin
{IOResult auswerten}
end;
end;
Hier erhälst Du zurück, ob das Anlegen einer Datei geklappt hat und falls nicht, kannst Du noch IOResult auswerten.