Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Readln vs. Stringlist Brauche hilfe pls
baer_en - Fr 25.04.08 13:43
Titel: Readln vs. Stringlist Brauche hilfe pls
Hallo,
ich bin gerade für die FOS-Prüfung in delphi fleißig am lernen und hab ma ne kleine frage:
Ich bin gerade am rätseln wo mein Fehler liegt...
Wenn ich aus einer Datei einzelne Zeilen auslesen und in eine Stinglist speichern will bringt der compiler einen fehler!
Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.Button1Click(Sender: TObject); var addresse,line : string; i : integer; sl : TStringlist; begin
sl.Create; i:= 0; addresse := ed_addresse.text; assignfile(datei,addresse); reset(datei);
while eof(datei) <> true do begin readln(datei,line); sl.add(line); memo1.lines.add(sl[i]); i:=i+1;
end;
sl.free; closefile(datei); end; |
Quelltext
1: 2:
| Fehler : 'access violation at 0x004044b2: read of address 0xfffffffc'. Prozeß angehalten. |
Ausserdem steht in der Variable line das richtige drin nur die sl beinhaltet () laut compiler!
Danke für Hilfe schonmal.
Gruß baer
Moderiert von
Gausi: Delphi-Tags hinzugefügt
jakobwenzel - Fr 25.04.08 13:58
Warum er erst nach dem Closefile die Fehlermeldung bringt, weiß ich nicht, der Fehler liegt aber hier:
Richtig sieht diese Zeile so aus:
Delphi-Quelltext
1:
| sl:=TStringList.Create; |
Wofür brauchst du eigentlich diese StringList?
Abgesehen davon kannst du mit Memo1.Lines.LoadFromFile den Dateiinhalt viel einfacher ins Memo kriegen.
baer_en - Fr 25.04.08 14:10
Danke für deine Hilfe das war die Lösung ...
Was eine Zeile an Nerven kosten kann :)
Die umständliche Art war nur als Lerneffekt gedacht um mehrere Komponenten zu benutzen!
Danke schoen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!