Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
Delphi 6 Personal
|
Re: Wieder E/A-Fehler...aber ich finde ihn nicht
16. Jul 2006, 19:31
Aslo zur Erleuterung:
Delphi-Quellcode:
var
f: TextFile;
daten1: array[1..100] of string;
s: string;
i, err: Integer;
function ShowEAErrors(Error: Integer): string;
begin
case Error of
100: Result := 'Fehler beim Lesen vom Datenträger';
101: Result := 'Fehler beim Schreiben auf Datenträger';
102: Result := 'Dateivariable ist keiner Datei zugewiesen';
103: Result := 'Datei nicht geöffnet';
104: Result := 'Datei wurde nicht für Leseoperationen geöffnet';
105: Result := 'Datei wurde nicht für Schreiboperationen geöffnet';
106: Result := 'Ungültiges numerisches Format';
else Result := 'Nicht dokumentierter Fehler';
end;
end;
procedure SaveFile;
begin
err := 0;
AssignFile(f, 'c:\aaa.txt');
{$I-}
Rewrite(f); // Erzeuge Datei neu !
{$I+}
err := IOResult;
if err = 0 then // Wenn kein Fehler vorhanden dann Daten schreiben
begin
for i:=1 to 100 do
begin
daten1[i] := inttostr(i); //Fülle das Array einfach sinnlos mit einem String
{$I-}
writeln(f, daten1[i]); // Daten schreiben
{$I+}
err := IOResult;
if err <> 0 then
begin
ShowMessage(ShowEAErrors(err));
break;
end;
end;
end else
ShowMessage(ShowEAErrors(err));
CloseFile(f);
end;
procedure OpenFile;
begin
err := 0;
AssignFile(f, 'c:\aaa.txt');
{$I-}
Reset(f); // Datei nur zum lesen öffnen !
{$I+}
err := IOResult;
if err = 0 then // Wenn kein Fehler vorhanden dann Daten schreiben
begin
for i:=1 to 100 do
readln(f, daten1[i]); // Daten in Array lesen
end else
ShowMessage(ShowEAErrors(err));
CloseFile(f);
end;
procedure AppendFile;
begin
err := 0;
AssignFile(f, 'c:\aaa.txt');
{$I-}
Append(f); // Datei zum anhängen von Daten öffnen
//(geht nur wenn Datei vorhanden)
{$I+}
err := IOResult;
if err = 0 then // Wenn kein Fehler vorhanden dann Daten anhängen
begin
for i:=1 to 100 do
begin
daten1[i] := ...
Writeln(f, daten1[i]); // Daten an vorh. Daten anhängen / schreiben
end;
end else
ShowMessage(ShowEAErrors(err));
CloseFile(f);
end;
|
|
Zitat
|