![]() |
TStringList: "Listen Index überschreitet das Maximum 0&
Folgender Auzug erzeug den Fehler: "Listen Index überschreitet das Maximum 0"
Aber ich weiß nicht wie ich ihn beheben kann :wall:
Delphi-Quellcode:
also dieser Auszug soll, wenn er ganz feritg ist, mein Level Text in Bildchen uminterpretieren.
procedure TForm1.Loadlevel;
var MapData :TStringList; i :integer; aktuell :Tstringlist; x1,x2,x3,x4,y1 :integer; begin MapData :=TStringList.Create; MapData.LoadFromFile('MapData.txt'); aktuell :=TStringlist.Create; for y1:=0 to MapData.Count do //ergibt 20 begin x1:=1; x2:=2; x3:=3; x4:=4; for i:=0 to ((length(MapData[0])+1)div 5) do //ergibt in meinem Fall 30 begin aktuell[0]:=((MapData[x1][y1])+(MapData[x2][y1])+(MapData[x3][y1])+(MapData[x4][y1])); //<= Langes //ausprobieren //brachte mich zu with TWall.Create(MySpriteEngine) do //dem Schluss das begin //der Fehler hier Image := MyImageList.Find(aktuell[0]) ; //steckt :( x := x1*50 ; y := y1*50 ; z := 0 ; end; x1:=x1+5; x2:=x2+5; x3:=x3+5; x4:=x4+5; aktuell.Clear; end; end; end; Aber das ist unwichtig, mein Problem ist das er mir die Fehler Meldung: "Listen Index überschreitet das Maximum 0" ausspuckt. Ich habe auch gekennzeichnet, wo ich vermute wo der Fehler erzeugt wird, nur kann ich keinen Fehler erkennen :gruebel: Hoffe ihr könnt mir helfen MfG Spiderpig |
Re: TStringList: "Listen Index überschreitet das Maximu
Setz mal einen absoluten Pfad ;)
Und die Schleife muss bis Count - 1 laufen. |
Re: TStringList: "Listen Index überschreitet das Maximu
Versuch es mal mit
Delphi-Quellcode:
aktuell.Add(...)
|
Re: TStringList: "Listen Index überschreitet das Maximu
Hallo,
schon mal versucht die Schleife
Delphi-Quellcode:
bis MapData.count -1 laufen zu lassen?
for y1:=0 to MapData.Count do //ergibt 20
begin x1:=1; x2:=2; x3:=3; x4:=4; for i:=0 to ((length(MapData[0])+1)div 5) do //ergibt in meinem Fall 30 begin aktuell[0]:=((MapData[x1][y1])+(MapData[x2][y1])+(MapData[x3][y1])+(MapData[x4][y1])); //<= Langes Grüße Klaus |
Re: TStringList: "Listen Index überschreitet das Maximu
Delphi-Quellcode:
// Falsch !!
for y1:=0 to MapData.Count do //ergibt 20 // korrekt for y1:=0 to MapData.Count-1 do |
Re: TStringList: "Listen Index überschreitet das Maximu
Delphi-Quellcode:
meint ihr so?
for y1:=0 to MapData.Count -1 do
begin x1:=1; x2:=2; x3:=3; x4:=4; for i:=0 to ((length(MapData[0])+1)div 5) do begin aktuell.add((MapData[x1][y1])+(MapData[x2][y1])+(MapData[x3][y1])+(MapData[x4][y1])); with TWall.Create(MySpriteEngine) do begin Image := MyImageList.Find(inttostr(x1)+inttostr(x2)+inttostr(x3)+inttostr(x4)) ; x := x1*50; y := y1*50; z := 0 ; end; x1:=x1+5; x2:=x2+5; x3:=x3+5; x4:=x4+5; aktuell.Clear; end; end; end; jetzt kommt: Listenindey überschreitet das maximum 21 :( |
Re: TStringList: "Listen Index überschreitet das Maximu
Wie sieht den der Typ des Arrays aus?
|
Re: TStringList: "Listen Index überschreitet das Maximu
Ist irgendwo sichergestellt, dass
die Werte x1,x2,x3 und x4 nicht größer als MapData.count -1 werden können? Grüße Klaus |
Re: TStringList: "Listen Index überschreitet das Maximu
hab den fehler, die frage hat sich erledigt
bei
Delphi-Quellcode:
muss
for i:=0 to ((length(MapData[0])+1)div 5) do
begin aktuell.add((MapData[x1][y1])+(MapData[x2]y1])+(MapData[x3][y1])+(MapData[x4][y1]));
Delphi-Quellcode:
Ich dachte bei einer Stringlist steht in der ersten eckigen Klammer [Nr Buchstabe] und in der 2ten [nr Zeile].
for i:=0 to ((length(MapData[0])+1)div 5) do
begin aktuell.add((MapData[y1][x1])+(MapData[y1][x2])+(MapData[y1][x3])+(MapData[y1][x4])); Ist aber andersrum :cry: aber ejtzt tutz :mrgreen: THX Spiderpig |
Re: TStringList: "Listen Index überschreitet das Maximu
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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