Hier kommt wieder der fehler "listenindex überschreitet das maximum (anzahl der einträge in derlistbox)", auch wenn mehrere einträge in der listbox sind.
Delphi-Quellcode:
while i<RichEdit1.Lines.Count do
begin
Image6.Top:=15*i+30;
Button5.Caption := RichEdit1.Lines[i];
Application.ProcessMessages;
if StringEnthalten('*solange',RichEdit1.Lines[i]) then
begin
g:=ListBox1.Items.Count;
i:=strtoint(ListBox1.Items[g]); //<<<<<<<<<hier kommt listenindex..
//i:=strtoint(ListBox1.Items[f])-1;
end
else if StringEnthalten('schritt',RichEdit1.Lines[i]) then
Button1.Click
else if StringEnthalten('linksdrehen', RichEdit1.Lines[i]) then
Button3.Click
else if StringEnthalten('rechtsdrehen', RichEdit1.Lines[i]) then
Button4.Click
else if StringEnthalten('umdrehen', RichEdit1.Lines[i]) then
begin
Button4.Click;
Button4.Click;
end
else if StringEnthalten('solange', RichEdit1.Lines[i]) then
begin //a
if StringEnthalten('nichtistwand', RichEdit1.Lines[i]) then //hier alle dinge wie istwand ect.
begin //b
if (posx<15) and (posy<15) then
begin //c
f:=ListBox1.Items.Count;
h:=Strtoint(ListBox1.Items[f]); //<<<<<<<<<hier kommt listenindex..
if i=h then //abfrage, ob i schon in der liste ist, wenn ja entfern es
begin //d
listbox1.Selected[ListBox1.Items.Count-1];
listbox1.DeleteSelected;
end; //d
while not StringEnthalten('*solange', RichEdit1.Lines[i]) do
begin
i:=i+1;
end;
end //c
else
listbox1.Items.Add(inttostr(i));
continue;
end; //b
end; //a
i:=i+1;
sleep(200);
end; //while
end; //begin
@deddyH:
wie soll ich das mun ändern?