Autor Beitrag
MisterBum
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 107



BeitragVerfasst: Di 20.09.05 13:52 
Hallo,
wie kann ich alle Zeilen eines ValueListEditors löschen.

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


ausblenden Delphi-Quelltext
1:
2:
 for z := 0 to ValueListEditor1.RowCount-1 do
    ValueListEditor1.DeleteRow(z+1);
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
2:
for z:=ValueListEditor1.RowCount-1 downto 1 do  
    ValueListEditor1.DeleteRow(z);

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
MisterBum Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 107



BeitragVerfasst: Di 20.09.05 14:36 
Danke,
habe es so gelöst:

ausblenden Delphi-Quelltext
1:
ValueListEditor1.Strings.Clear;