![]() |
Listenindex fehler bei einer Tstringlist
hey,
ich hoffe ihr könnt mir helfen. also ich habe eine Tstringlist die aus einer txt-datei geladen wird. nun möchte ich ein paar zeilen in memo-felder einfügen. das klappt auch noch. Aber direkt nach dem einfügen bekomme ich die meldung Listenindex übersteigt Maxmimum(irgendeinezahl) ich versteh einfach nicht wieso. muss man die größe von Tstringlisten auch angeben ?! und wenn ja kann ich irgendwie sagen die sind immer so groß wie die Textdatei ?! hoffe ihr könnt mir helfen. Danke schonmal. lg |
Re: Listenindex fehler bei einer Tstringlist
Ein kleiner Codeausschnitt wäre ganz gut, aber vermuten was schiefgeht kann ich auch so: Irgendwo wirst Du wohl ein Pred bzw. eine -1 vergessen haben. Daher probiert er auf einen nicht vorhandenen Stringlist-Eintrag zuzugreifen und da bis vor diesen alles im Memo steht, empfindest Du die Fehlermeldung als unabhängig davon. Aber ist nur eine Vermutung, ohne Code schwierig zu sagen.
|
Re: Listenindex fehler bei einer Tstringlist
hier der code müsst ihr nicht alles durchlesen ist oft ähnlich nur mit anderen Tagen
Delphi-Quellcode:
[edit=Sharky]Neu gesendet damit es neu in den aufbereitet wird. Mfg, Sharky[/edit]
procedure TForm1.InDieMemoFelderSchreiben(var Textdatei,Textdatei2: String);
var zv : integer; zv2 :integer; Pruefstring : String ; begin zv := 0; zv2 := 0; if FileExists(Textdatei) and FileExists(Textdatei2) then begin Zwischenspeicher.LoadFromFile(Textdatei); Zwischenspeicher2.LoadFromFile(Textdatei2); end Pruefstring := Zwischenspeicher[Zv]; If Pruefstring = 'Montag' Then begin Label1.Caption := Zwischenspeicher[Zv]; inc(Zv) ; end; Pruefstring := Zwischenspeicher[Zv]; While not (PruefString = 'Dienstag') do begin Memo1.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; end; If Pruefstring = 'Dienstag' Then begin Label2.Caption := Zwischenspeicher[Zv]; inc(Zv) ; Pruefstring := Zwischenspeicher[Zv]; end; While not (PruefString = 'Mittwoch') do begin Memo2.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; If Pruefstring = 'Mittwoch' Then begin Label3.Caption := Zwischenspeicher[Zv]; inc(Zv) ; Pruefstring := Zwischenspeicher[Zv]; end; While not (PruefString = 'Donnerstag') do begin Memo3.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; end; If Pruefstring = 'Donnerstag' Then begin Label4.Caption := Zwischenspeicher[Zv]; inc(Zv) ; Pruefstring := Zwischenspeicher[Zv]; end; While not (PruefString = 'Freitag') do begin Memo4.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; end; If Pruefstring = 'Freitag' Then begin Label5.Caption := Zwischenspeicher[Zv]; inc(Zv) ; Pruefstring := Zwischenspeicher[Zv]; end; While not (PruefString = 'Samstag') do begin Memo5.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; end; If Pruefstring = 'Samstag' Then begin Label6.Caption := Zwischenspeicher[Zv]; inc(Zv) ; Pruefstring := Zwischenspeicher[Zv]; end; While not (PruefString = 'Sonntag') do begin Memo6.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; end; If Pruefstring = 'Sonntag' Then begin Label7.Caption := Zwischenspeicher[Zv]; inc(Zv) ; Pruefstring := Zwischenspeicher[Zv]; end; While not (PruefString = 'Ende') do begin Memo7.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; If Pruefstring = 'Ende' Then begin Label8.Caption := Zwischenspeicher2[Zv2]; inc(Zv2) ; Pruefstring := Zwischenspeicher2[Zv2]; end; While not (PruefString = 'Dienstag') do begin Memo8.Lines.Add(Zwischenspeicher2[Zv2]); inc(Zv2); Pruefstring := Zwischenspeicher2[Zv2]; end; end; end; end; |
Re: Listenindex fehler bei einer Tstringlist
In welcher Zeile tritt der Fehler auf?
|
Re: Listenindex fehler bei einer Tstringlist
Puh. Etwas Quellcodeformatierung könnte wohl nicht schaden. :?
|
Re: Listenindex fehler bei einer Tstringlist
Der fehler kommt wenn Prüfstring 'Dienstag' ist also ganz unten ...
und beide Tstringlisten entahlten genügend einträge ... |
Re: Listenindex fehler bei einer Tstringlist
ps. wieso macht der den quelltext hier oben eigendlich nicth farbig ?
müpsste nicht z.b. das Procedure Blau sein ?! wenn andere quelltexte einfügen ist das auch so aber bei mir irgendwien icht wieso ?! |
Re: Listenindex fehler bei einer Tstringlist
Setze einen Breakpoint und schau dir Zeile für Zeile an, was passiert. Der Fehler sitzt meist vor dem Gerät. Dadurch, dass der Fehler kommt sind garantiert nicht genug Zeilen in deiner Datei. Testweise kannst du ja auch einfach mal ein paar mehr eintragen.
Versuch einfach rauszufinden, an welcher Stelle die Realität und deine Gedankenwelt nicht mehr zusammenpassen. Sprich: benutze den Debugger. |
Re: Listenindex fehler bei einer Tstringlist
also ich habe in meiner Datei2 die also auch in Zwischenspeicher2 geladen wird
Montag dann ein Termin Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag und er soll montag + termin laden und wenn prüfstring Dienstag ist dann nicht mehr. also es sind genügend zeilen im Tstringlist da.... und wo der Fehler kommt zeig ich euch oben im quelltext okay ?! |
Re: Listenindex fehler bei einer Tstringlist
nein also hab das mit F7 überprüft
er arbeitet die ganz schleife ab ABER nachdem er ganz unten angekommen ist springt er irgednwie wieder hoch er springt bis hier
Delphi-Quellcode:
und dann gibt er einen fehler ...
While not (PruefString = 'Mittwoch') do begin
Memo2.Lines.Add(Zwischenspeicher[Zv]); inc(Zv); Pruefstring := Zwischenspeicher[Zv]; aber wieso springt er wieder hoch ?! versteht ihr das ?! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 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 by Thomas Breitkreuz