![]() |
Checklistbox: Unselektierte Items löschen
Hi,
mit folgendem Code kann man die selektieren Items in einer Checklistbox löschen:
Delphi-Quellcode:
Checklistbox1.DeleteSelected;
Aber wie kann man die Unselektierten Items löschen? MFG Lars Wiltfang |
Re: Checklistbox: Unselektierte Items löschen
Geh doch in einer Schleife rückwärts durch die Items und lösche die nicht selektierten einzeln.
|
Re: Checklistbox: Unselektierte Items löschen
Iteriere über die Items (rückwärts) und überprüfe, ob diese selektiert sind und lösche diese wenn nicht.
|
Re: Checklistbox: Unselektierte Items löschen
Zitat:
|
Re: Checklistbox: Unselektierte Items löschen
Du wirst doch wohl wissen, wie man eine Schleife programmiert? :gruebel:
|
Re: Checklistbox: Unselektierte Items löschen
Hallo Larsi...
Schuß aus der Hüfte: - alle Listboxeinträge durchlaufen - Überprüfung Checked - entfernen ja/nein :warn: nach dem Entfernen eines Listboxeintrages ist logischerweise die Anzahl um 1 weniger und der aktuelle Index ist eventuell auch anders. :evil: roter Kasten...Laßt älteren die länger zum Schreiben brauchen auch eine Chance :mrgreen: ...aber trotzdem |
Re: Checklistbox: Unselektierte Items löschen
Pseudo-Code:
Delphi-Quellcode:
for i := CheckListBox.Items.Count - 1 downto 0 do
if not Item.Selected(i) then Items.Delete(i); |
Re: Checklistbox: Unselektierte Items löschen
@Mkinzler: Hab ich noch nie gemacht.
|
Re: Checklistbox: Unselektierte Items löschen
Du hast noch nie eine Schleife programmiert?
Dann wäre es an der Zeit, Grundlagen nachzuholen. |
Re: Checklistbox: Unselektierte Items löschen
Du bist seit über einem Jahr hier Mitglied und hast noch nie eine Schleife programmiert?
|
Re: Checklistbox: Unselektierte Items löschen
Oder nur "If-Schleifen"?
|
Re: Checklistbox: Unselektierte Items löschen
Ich mache halt sonst andere Sachen in Delphi. Anstatt Schleifen benutze ich halt Repeat Until.
[DCC Fehler] Unit8.pas(42): E2003 Undefinierter Bezeichner: 'Item' Dieser Fehler kommt wenn ch deinen Code verwenden will. Was muss ich da machen? @Deddyh: If Schleifen natürlich schon. :) |
Re: Checklistbox: Unselektierte Items löschen
:mrgreen: zu IF Schleife...
versuch mal: CheckListBox.Item.Selected(i) |
Re: Checklistbox: Unselektierte Items löschen
Zitat:
[edit] Zitat:
|
Re: Checklistbox: Unselektierte Items löschen
Du kannst auch Repeat-Until nutzen, anstatt eine For-Schleife.
|
Re: Checklistbox: Unselektierte Items löschen
Damit wäre ich vorsichtig. Dann besser while nehmen.
|
Re: Checklistbox: Unselektierte Items löschen
Delphi-Quellcode:
So kommen immernoch Fehler:
for i := CheckListBox1.Items.Count - 1 downto 0 do
if not CheckListBox1.Item.Selected(i) then Items.Delete(i); [DCC Fehler] Unit8.pas(42): E2003 Undefinierter Bezeichner: 'Selected' [DCC Fehler] Unit8.pas(43): E2003 Undefinierter Bezeichner: 'Items' [DCC Fehler] Unit8.pas(43): E2008 Inkompatible Typen [DCC Fehler] Unit8.pas(46): E2014 Anweisung erforderlich, aber Ausdruck vom Typ 'TCheckListBox' gefunden |
Re: Checklistbox: Unselektierte Items löschen
[klugscheiß]
Repeat..Until ist ja auch eine Schleife und auch While [/klugscheiß] Es müsste CheckBox1.Selected heißen. Imho könnte ein Blick in die Hilfe/Klassenvervollständigung diesen Thread hier abkürzen |
Re: Checklistbox: Unselektierte Items löschen
Du kannst mit der Repeat-Until Schleife auch rückwärts iterieren. Ob Du jetzt:
Delphi-Quellcode:
hast, oder
i := Items.Count - 1;
while (i >= 0) do begin // Mach was Dec(I); end;
Delphi-Quellcode:
hast, kommt mehr oder weniger aufs Gleiche raus.
i := Items.Count - 1;
repeat // Mach was Dec(I); until i <= 0; Ok, das einzige Problem ist, dass die Repeat auf jedenfall einmal durchlaufen wird. Larsi, Du programmierst ja nicht seit gestern. Streng Dein Köpfchen ein bisschen an und werfe einen Blick in die Hilfe ;) |
Re: Checklistbox: Unselektierte Items löschen
Zitat:
so geht es aber bei mir:
Delphi-Quellcode:
for i := CheckListBox1.Items.Count - 1 downto 0 do
if not CheckListBox1.Selected[i] then CheckListBox1.Items.Delete(i); |
Re: Checklistbox: Unselektierte Items löschen
Da hätte er selbst drauf kommen sollen :? . Das war ja nun keine unlösbare Aufgabe.
|
Re: Checklistbox: Unselektierte Items löschen
Zitat:
|
Re: Checklistbox: Unselektierte Items löschen
Weil die Grundlagen der Schleifen dafür fehlten. Deswegen ist ja auch keine Schande, diese sich anzusehen :zwinker:
|
Re: Checklistbox: Unselektierte Items löschen
Zitat:
|
Re: Checklistbox: Unselektierte Items löschen
@mkinzler Jetzt nicht gleich wieder mit Unterstellungen anfangen.
Hier gab es schon angeblich erfahrende Mitglieder, die beim Umgang mit der Hilfe auch ziemlich unbeholfen waren. Die haben da wohl auch nicht richtig durchgesehen. |
Re: Checklistbox: Unselektierte Items löschen
Zitat:
|
Re: Checklistbox: Unselektierte Items löschen
Könnten wir nun zum Topic zurückkehren (sofern noch nicht gelöst)?
|
Re: Checklistbox: Unselektierte Items löschen
Genau. Hat sich nämlich geklärt. Hab's übrigens selber hingekriegt :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz