Entwickler-Ecke

Dateizugriff - E/A Fehler 6


Halber - Mo 10.10.05 15:17
Titel: E/A Fehler 6
Moderiert von user profile iconraziel: Abgetrennt aus diesem Topic [http://www.delphi-forum.de/viewtopic.php?t=49731]

Danke, ich hab allerdings noch ne frage:
bei folgendem pfad:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
{wiedergabeliste öffnen:}
var datei : textfile;
var zeile : string;
procedure TForm_start.ffne1Click(Sender: TObject);
begin
opendialog2.execute;
assignfile(datei,opendialog1.filename);
reset(datei);
while not eof(datei) do begin
      readln(datei, zeile);
      listbox1.items.add(zeile);
end;
closefile(datei);
end;


tritt folgendes problem auf: er zeigt mir einen E/A Fehler nummer 6 an,d er in der hilfe nicht zu finden ist. die markiert zeile, ist die mit der while-schleife. der fehler tritt allerdings auch auf wenn ich dei while-schleigfe durch eine einfache Readln(datei, zeile) aktion ersetze.

wenn ihr mir helfen könnt, schreiben!

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.


TM - Mo 10.10.05 15:25

Eigentlich neues Thema, aber was solls:

Muss des net

Delphi-Quelltext
1:
2:
3:
if opendialog2.execute then begin
 // ...
end;

heißen?

..


Heiko - Mo 10.10.05 15:26

Mhm, du dürftest allgemein ein Problem bekommen bei deinem Quelltext, durch Layer-8-Fehler.
1. Für das Forum: Rücke deinen Quelltext ein bissl ein und nimm Delphi-Tags, dann sieht der Quelltext hier besser aus ;).
2. Es reicht aus, wenn du bei der Variablendeklaration einmal var nimmst.
3. Der Layer-8-Fehler tritt bei dir auf, wenn der Anwender beim OpenDialog auf Abbrechen drückt. Das kannst du folgendermaßen verhindern durch eine if-Abfrage.
4. Der eigentliche Fehler bei dir ist, das du bei OpenDialog2 den Pfad abfragst, aber beim öffnen den FileName von OpenDialog1 nimmst, was nat. zu einem Fehler führt, da die datei nicht existiert ;).


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
var
  datei : textfile;
  zeile : string;

procedure TForm_start.ffne1Click(Sender: TObject);
begin
  if opendialog1.execute then
  begin
    assignfile(datei,opendialog1.filename);
    reset(datei);
    while not eof(datei) do
    begin
      readln(datei, zeile);
      listbox1.items.add(zeile)
    end;
    closefile(datei)
  end
end;


ili - Mi 26.10.05 12:54

hi, ich hab auch probleme mit einem E/A Fehler 6 :/
Ich will herausfinden, wielang die .txt Datei ist, um am Ende der Datei etwas anhängen zu können. Hab das folgender maßen gelöst:

Delphi-Quelltext
1:
2:
3:
4:
5:
         while not eof do
                begin
                  readln(daten,s);
                  l:=l+1
                end;

wie gesagt kommt jedes mal ein E/A Fehler 6. Wenn ich diese Zeilen herausnehme, dann geht alles.
Woran könnte das liegen, bzw gibt es einen bereits vorgefertigten Befehl zum Anhängen von Zeilen an eine txt Datei ? Hab in der Hilfe nichts dazu gefunden (benutze Delphi 6 )


drstar - Sa 29.10.05 02:13

Hmm, müßte es nicht while not eof(filehandle) do heißen? Ich denke mal, daran wirds liegen.

while not eof(s) do