Ihr wollt das wirklich so oft deklarieren ?
Tja, dann macht eben.
Wenn IOResult benutzt werden soll, dann mus aber auch hier noch was deklariert werden :
Zitat von
Luckie:
Delphi-Quellcode:
procedure Foo;
var
tf: TextFile;
begin
Assign(tf, '...');
{$I-} // automatische Fehlerbehandlung ausschalten, machen wir selber
Rewrite(tf);
{$I+}
if IOResult = 0 then // auf Fehler prüfen
...
Man stelle sich mal so was vor :
Delphi-Quellcode:
procedure Foo;
{$I-} // automatische Fehlerbehandlung ausschalten, machen wir selber
Rewrite(tf);
{$I+}
writeln (IOresult);
if IOResult = 0 then // auf Fehler prüfen
...
Da will jetzt einer wissen, was IOResult eigentlich anzeigt und zerschießt sich das ganze IOResult, weil das writeln auch eine I/O-Operation ist. Das Programm wird dann nicht laufen, wie gewünscht. Das weist man sofort einer Variablen zu und verwendet die ! Also so :
Delphi-Quellcode:
procedure Foo;
var
tf: TextFile;
io : integer;
begin
Assign(tf, '...');
{$I-} // automatische Fehlerbehandlung ausschalten, machen wir selber
Rewrite(tf);
{$I+}
io := IOResult;
writeln (io);
if io = 0 then // auf Fehler prüfen
...
Sieht relativ unwichtig aus, sollte man aber schon so machen.