Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Probleme mit dem Auslesen einer Textdatei (readln) (https://www.delphipraxis.net/32521-probleme-mit-dem-auslesen-einer-textdatei-readln.html)

MisterNiceGuy 24. Okt 2004 17:12


Probleme mit dem Auslesen einer Textdatei (readln)
 
Hi, ich habe folgenden QT und will damit erreichen, dass aus einer Textdatei bestimmte Werte ausgelesen werden.

Delphi-Quellcode:
if opendialog2.Execute then
  begin
    j:=0;
    assignfile(datei,opendialog2.FileName);
    reset(datei);
    while not eof(datei) do <= FEHLER! 
      begin
        if j=0 then readln(datei, datei_platz)
        else begin
          readln(datei, dateien[j-1]);
          j:=j+1;
        end;
      closefile(datei);
  end;
end;
Die erste Zeile in der Datei gibt den Index an, wieviele Zeilen folgen werden. Die folgenden Zeilen geben Pfadnamen an.

Leider bekomme ich jetzt immer eine Fehlermeldung an der markierten Stelle!
Bitte schaut euch das mal an, danke!!

MrSpock 24. Okt 2004 17:18

Re: Probleme mit dem Auslesen einer Textdatei (readln)
 
Hallo MisterNiceGuy,

welche Fehlermeldung bekommst du denn? Existiert die Datei auch? Welchen Typ hat datei?

MisterNiceGuy 24. Okt 2004 17:45

Re: Probleme mit dem Auslesen einer Textdatei (readln)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Siehe Anhang! Datei existiert und ist vom Typ *.txt

Datei ist auch nochmal angehängt!

MrSpock 24. Okt 2004 17:49

Re: Probleme mit dem Auslesen einer Textdatei (readln)
 
Hallo MisterNiceGuy,

hast du die Berechtigung auf das Verzeichnis zuzugreifen? Wie ist datei deklariert, als TextFile?

teebee 24. Okt 2004 21:53

Re: Probleme mit dem Auslesen einer Textdatei (readln)
 
E/A-Fehler 104 heisst, die Datei ist nicht geöffnet:
Zitat:

Zitat von MisterNiceGuy
Delphi-Quellcode:
if opendialog2.Execute then
  begin
    j:=0;
    assignfile(datei,opendialog2.FileName);
    reset(datei);
    while not eof(datei) do <= FEHLER! 
      begin
        if j=0 then readln(datei, datei_platz)
        else begin
          readln(datei, dateien[j-1]);
          j:=j+1;
        end;
      closefile(datei); // <- ist fälschlicherweise in der While-Schleife
  end;
end;

Schau Dir mal genau an, wo Du das CloseFile reingepackt hast... :wink:
Das gehört aus der While-Schleife raus,

Gruß, teebee


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz