Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - ValuelListEditor komplett löschen


MisterBum - Di 20.09.05 13:52
Titel: ValuelListEditor komplett löschen
Hallo,
wie kann ich alle Zeilen eines ValueListEditors löschen.

Folgender Code kommt immer die Meldung: Listenindex überschreitet das Maximum(0)



Delphi-Quelltext
1:
2:
 for z := 0 to ValueListEditor1.RowCount-1 do
    ValueListEditor1.DeleteRow(z+1);


smiegel - Di 20.09.05 14:31

Hallo,

dies liegt daran, wie Delphi for-Schleifen behandelt (Schleifenziel wird vor dem Ausführen berechnet und nicht mehr geändert).

Du musst in Deinem Fall die Schleife rückwärts durchlaufen:

Delphi-Quelltext
1:
2:
for z:=ValueListEditor1.RowCount-1 downto 1 do  
    ValueListEditor1.DeleteRow(z);


MisterBum - Di 20.09.05 14:36

Danke,
habe es so gelöst:


Delphi-Quelltext
1:
ValueListEditor1.Strings.Clear;