1. Dafür nimmt man kein REPEAT...UNTIL sondern ein WHILE...DO
Delphi-Quellcode:
i := 0;
while i < ComboBox1.Items.Count do
begin
end;
, denn so gibt es keine Zugriffsfehler, wenn keine Elemente in der Liste stehen.
2. Was passiert bei Delete?
ComboBox1.Items
Code:
(0)Hallo
(1)YASU
(2)DT
(3)du da
wenn wir jetzt zu dieser Zeile ( i ist 1) kommen
ComboBox1.Items.Delete( i );
dann sieht ComboBox1.Items so aus
Wenn jetzt im nächsten Schritt i um 1 erhöht wird ( i ist dann ja 2 ), dann wird die (jetzige) Zeile 1 nicht mehr überprüft!
Also sollte man nach einem Delete den Index nicht höchzählen, weil einem dann eine Zeile immer entwischt
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)