Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#13

Re: Wieder E/A-Fehler...aber ich finde ihn nicht

  Alt 16. Jul 2006, 18: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;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat