Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#13

Re: Listenindex überschreitet das Maximum (9).

  Alt 16. Aug 2004, 16:14
Moin!

Warum das andere mit der While Schleife auch Murks ist? Ganz einfach:

For und While Schleifen holen sich vor dem Eintritt in die Schleife die Werte für die Bedingung nur einmalig und aktualisieren sie nicht mehr beim Durchlauf. Daher kommt es zu dem Fehler. Wenn man Glück hat, tritt dies bei einer While Schleife nicht auf, weil die Optimierung des Compilers dort was anderes draus macht - dem kann man sich aber nie sicher sein.

Man kann übrigens zu den hier geposteten While Schleifen auch alternativ eine For Schleife nehmen, nur man muss sie rückwärts durchlaufen:

Delphi-Quellcode:
  For i := ListBox1.Items.Count-1 DownTo 0 Do
    If ( ... ) Then
      ListBox1.Items.Delete(i);
MfG
Muetze1
  Mit Zitat antworten Zitat