Einzelnen Beitrag anzeigen

IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Mehrere Listbox Einträge löschen

  Alt 5. Mär 2007, 14:56
Zitat von uwewo:
Zitat von Pfoto:
Hi!

ich würde es so machen:

Delphi-Quellcode:
var
  i: integer;
begin
  i:= 0;
  repeat
    If Listbox1.Selected[i] then
      Listbox1.Items.Delete(i) else
      inc(i);
  until (i = Listbox1.items.count);

Gruß
Pfoto
So würde es auch gehen, allerding möchte er ja nicht alle löschen

until (i = Listbox1.SelCount-1
@uwewo
Du bist auf dem falschen Dampfer. Sieh doch mal in der Hilfe nach, was TListBox.Selected[] genau ist.

Abgesehen davon müsste die until-Anweisung wie folgt lauten, um nicht auf die Nase zu fallen, wenn der letzte Listeneintrag auch markiert war:until i >= Listbox1.Count; Abgesehen davon sollte man - wie hier schon erwähnt wurde - von oben löschen, also mit dem höchsten Index anfangen und runterzählen. Dann verhindert man zuverlässig die Möglichkeit, dass man sich "den Boden unter den Füßen weglöscht".

Abgesehen davon gibt es - wie hier auch schon erwähnt wurde - ein TListBox.DeleteSelected.

Abgesehen davon .. ach nö, das reicht nun.
  Mit Zitat antworten Zitat