Servus!
Schleifen waren für mich schon immer ein schwarzes Tuch. So beiß ich mir seit geraumer Zeit auch hier wieder die Zähne aus (obwohl sicherlich voll einfach

)
Also folgendes:
Ich möchte einen vorhandenen String bearbeiten und ausgeben lassen. Die veränderungen soll der User in einer ListBox, hier abschlussbox genannt) eintrgaen können. Hierbei handelt es sich um einfache Zeichenketten. Nun soll die ListBox von oben nach unten abgearbeitet werden, indem der vorgegebene String eben auf jene vom Nutzer eingetragene Zeichenketten untersucht und dann das eingegebene aus dem String löscht.
Meine bisherigen Gedanken:
i und p sind vom Typ Integer deklariert
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| IF (abschlussbox.count)<>-1 Then begin p:= abschlussbox.count; for i := 0 to p do begin s3:= formatiert.Items[0]; s := abschlussbox.Items[i]; _pos := Pos(abschlussbox.Items[i],s3); Delete(s3, _pos, length(abschlussbox.Items[i])); formatiert.Items[0] := s3; end; end; |
So, den ersten Durchgang meistert er ohne Fehlermeldung. Beim zweiten bekomme ich die fehlermeldung "List out of Bounds (1)" (oder so ähnlich, ich werd noch nen screenshot machen). Steht nichts in der listBox, wird auch nichts bearbeitet. so wie es sein soll.
Wo habe ich hier nen Denkfehler? kann mir jemand nen Denkanstoss geben?
MfG,
Gruenschnabel
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Fr 02.07.2010 um 09:38