Hallo,
inzwischen kann ich zeilenweise Strings in meine Listbox schreiben und auch die Listbox als Ganzes wieder leeeren.
Aber wer kann mir sagen, wie ich einzelne, markierte Zeilen aus der Listbox wieder entfernen kann?
Danke im Voraus Ebi
Hallo,
inzwischen kann ich zeilenweise Strings in meine Listbox schreiben und auch die Listbox als Ganzes wieder leeeren.
Aber wer kann mir sagen, wie ich einzelne, markierte Zeilen aus der Listbox wieder entfernen kann?
Danke im Voraus Ebi
Hallo,
wenn Listbox.MultiSelect auf false steht (nur 1 eintrag kann ausgewählt werden:
Listbox.Items.Delete(Listbox.ItemIndex);
wenn MultiSelect auf true (mehrere Einträge können gewählt sein):
var
i: Integer;
begin
with Listbox1 do begin
i := 0;
while (i 0) do begin
while (i
Die innere Schleife ist nötig, weil beim Löschen die folgenden Strings "nachrücken". Die innere Schleife funktioniert auch nur, wenn der Compiler auf "verkürzte Auswertung boolescher Ausdrücke" gestellt ist. Sonst gibt es einen Fehler, wenn der letzte String der Liste markiert ist (Selected[i] für ein nicht mehr vorhandenen String). In diesem Fall sollte Selected[i] in einer separaten if-Abfrage innerhalb der inneren Schleife abgefragt werden.
Gruss, Niels
Danke,
eine Antwort, wie man sich keine bessere wünschen kann!!
Gruß Ebi