Moin!
ItemIndex gibt die Eintragsnummer an die gerade selektiert ist (wenn MultiSelect aus ist) oder -1, daher ist die Schleife so falsch.
Durch
debuggen hättest du auch sehen können, das dein ItemIndex wahrscheinlich mehr als zu klein wäre um mit der Schleife über alle Items zu laufen.
Auch versuchst du über eine Schleife alle Einträge anzusprechen, benutzt dazu aber in der Schleife ItemIndex - ohne das du ihn irgendwo in der Schleife änderst. Daher nimmt er immer den selben Eintrag.
Deine Variable "Arsch" müsstest du vor der Schleife auf 0 setzen, da es eine lokale Variable ist und diese hat beim Eintritt in die Procedure zufällige Werte und das kann dein Ergebnis verfälschen.
Als Tipps:
Delphi-Quellcode:
ListBox1.Items.Count
Items[i]
MfG
Muetze1