Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Laden einer Datei (ReadLn) (https://www.delphipraxis.net/71625-problem-mit-laden-einer-datei-readln.html)

Kasch 18. Jun 2006 16:35


Problem mit Laden einer Datei (ReadLn)
 
Hallo Leute,

bin starkt deprimiert, weil ich immer wieder einen schweren Absturz ernte, wenn ich Zeilen aus einer Datei auslesen will.
Mein Lade-Button:

Delphi-Quellcode:
procedure TForm1.btn_ladeClick(Sender: TObject);
var

    daten: array[1..1000] of string[64];
    a : Integer;
    datei: textfile;

begin


  AssignFile(datei,'e:\string.txt');
   reset(datei);
while not eof(datei) do
    begin
      inc (a);
      Readln(datei,daten[a]);
    end;

closefile(datei);


end;
Was mache ich so falsch, daß EAcessViolation "Zugriffverletzung bei Adress Bla Bla" entsteht?
Datei existiert, ist auch nicht offen oder so.
Ich will einfach nur jede Zeile dieser Datei in ein String-Array einlesen...

Wer kann mir da freundlicherweise helfen? Vielen Dank

mkinzler 18. Jun 2006 16:39

Re: Problem mit Laden einer Datei (ReadLn)
 
Was für ein wert hat a am Beginn der Schleife?
Ich würde ne stringList zum speichern der Strings nehmen.

Dax 18. Jun 2006 16:41

Re: Problem mit Laden einer Datei (ReadLn)
 
Wie mkinzler schon sagte wäre eine Stringlist besser:
Delphi-Quellcode:
var List: TStringList;
begin
  List := TStringList.Create;
  List.LoadFromFile(...);
end;
Wenn du aber bei deiner Methode bleiben möchtest, muss a zu beginn der Read-Schleife als Wert den ersten Index des Daten-Arrays tragen, also Low(daten), also 1. :)

Hawkeye219 18. Jun 2006 16:47

Re: Problem mit Laden einer Datei (ReadLn)
 
0, weil er die Variable a vor dem Lesen erhöht :wink:

Gruß Hawkeye

Dax 18. Jun 2006 16:48

Re: Problem mit Laden einer Datei (ReadLn)
 
Oh, stimmt :) Habs falschrum gelesen, sorry. Glaub mir nicht, Hawk hat Recht ^^

mkinzler 18. Jun 2006 16:58

Re: Problem mit Laden einer Datei (ReadLn)
 
Tatsache ist aber, das der wert in dem geposteten Code nie gesetzt wird.

Daniel G 18. Jun 2006 17:01

Re: Problem mit Laden einer Datei (ReadLn)
 
Zitat:

Zitat von Dax
Tatsache ist aber, das der wert in dem geposteten Code nie gesetzt wird.

Tatsache ist aber auch, dass Dax ihn darauf schon hingewiesen hat. ;)
Zitat:

Zitat von Dax
Wenn du aber bei deiner Methode bleiben möchtest, muss a zu beginn der Read-Schleife als Wert den ersten Index des Daten-Arrays tragen, also Low(daten), also 0. :)


mkinzler 18. Jun 2006 17:02

Re: Problem mit Laden einer Datei (ReadLn)
 
Ich auch. ;-)

Kasch 18. Jun 2006 17:06

Re: Problem mit Laden einer Datei (ReadLn)
 
Hallo,

vielen Dank. Ich nehme den Stringlist-Vorschlag dankend an!
Hatt alles perfekt funktioniert.

Habe aber immer noch nicht verstanden, warum es zu dieser Fehlermeldung kam.
Kann das mir einer bitte noch erklären?
Vielen Dank

mkinzler 18. Jun 2006 17:11

Re: Problem mit Laden einer Datei (ReadLn)
 
Vielleicht am n?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
Seite 1 von 2  1 2      

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