Delphi-Quellcode:
procedure TForm1.speichernClick(Sender: TObject);
var
f: Textfile;
wert1: string;
wert2: string;
filename: string;
begin
filename := 'datensatz.csv';
AssignFile(f, filename);
IOResult; // IOResult zurücksetzen
// oder, wenn Funktuionen nicht ohne Ergegniszuweisung aufgerufen werden dürfen
// if IOResult = 0 then ;
{$i-}
if FileExists(fileName) then
append(f)
else
rewrite(f);
Writeln(f, Edit1.Text + ';' + ComboBox1.Text + ';' );
Closefile(f);
{$i+}
if IOResult <> 0 then
showmessage('Ein Fehler ist aufgetreten');
end;
WriteLn fühlt sich ohne Fehlerbehandlung (innerhalb {$i-} und {$i+}) auch ganz wohl ... vorallem bei Schreibfehlern (z.B. voller Datenträger)
PS: zu beachten ist, daß die Fehlernummer von IOResult immer nur dann zurückgesetzt wird, wenn dieses aufgerufen wurde.
Also alle I/O-Fehler (natürlich nur die Fehlernummer des Letzten) vor dessen Aufruf werden beachtet.