Discussion:
XE5: Checklistbox : Anzahl der ausgewählten Einträge
(zu alt für eine Antwort)
Heiko Rompel
2014-04-05 21:31:00 UTC
Permalink
Moin,

gibt es eine Eigenschaft von TCheckListBox die mir anzeigt wieviele
Einträge "Checked" sind?
Ich finde keine. Ist da wirklich keine?

Gruß Heiko
Jakob Achterndiek
2014-04-05 23:09:10 UTC
Permalink
Post by Heiko Rompel
Moin,
gibt es eine Eigenschaft von TCheckListBox die mir anzeigt
wieviele Einträge "Checked" sind?
Ich finde keine. Ist da wirklich keine?
Nach meiner Erfahrung mit ähnlichen Fällen muß man das in einer
Schleife mit IF CHECKED durchzählen. Falls es öfter gebraucht
wird, könntest du das in einem aus tCheckListBox abgeleiteten
Nachfolger als neue Eigenschaft implementieren.

j/\a
--
Peter
2014-04-06 09:45:16 UTC
Permalink
Post by Heiko Rompel
Moin,
gibt es eine Eigenschaft von TCheckListBox die mir anzeigt wieviele
Einträge "Checked" sind? Ich finde keine. Ist da wirklich keine?
Nope, gibt's nicht out of the box.

Ist aber einfach zu implementieren:

function CheckCount(aList: TChecklistbox): Integer;
var
i: Integer;
begin
Assert(Assigned(aList));
Result := 0;
for i := 0 to aList.items.count - 1 do
if aList.Checked[i] then
Inc(Result);
end;
--
Peter Below
Heiko Rompel
2014-04-06 10:45:09 UTC
Permalink
Hallo Peter,
Post by Peter
Nope, gibt's nicht out of the box.
Okay, habe mir schon fast so was gedacht und es als Funktion eingebaut.
Danke.

Gruß HEiko
M. Behrendt
2014-04-06 12:39:20 UTC
Permalink
Post by Peter
Post by Heiko Rompel
Moin,
gibt es eine Eigenschaft von TCheckListBox die mir anzeigt wieviele
Einträge "Checked" sind? Ich finde keine. Ist da wirklich keine?
Nope, gibt's nicht out of the box.
Einspruch!

Turbo Delphi 6 kennt eine TCustomMultiSelectListControl.SelCount Eigenschaft die bei mir auf einer TChecklistbox funktioniert.

Gibts das bei XE5 nicht mehr?
Heiko Rompel
2014-04-06 16:13:27 UTC
Permalink
Post by M. Behrendt
Einspruch!
Turbo Delphi 6 kennt eine TCustomMultiSelectListControl.SelCount Eigenschaft die bei mir auf einer TChecklistbox funktioniert.
Gibts das bei XE5 nicht mehr?
Die Eigenschaft gibt es auch bei TCheckListBox, liefert aber nur "-1".

Gruß Heiko
M. Behrendt
2014-04-06 18:27:30 UTC
Permalink
Post by Heiko Rompel
Post by M. Behrendt
Einspruch!
Turbo Delphi 6 kennt eine TCustomMultiSelectListControl.SelCount Eigenschaft die bei mir auf einer TChecklistbox funktioniert.
Gibts das bei XE5 nicht mehr?
Die Eigenschaft gibt es auch bei TCheckListBox, liefert aber nur "-1".
Gruß Heiko
"Hinweis:
Zur Implementierung der Eigenschaft SelCount in einem Nachkommen von TCustomMultiSelectListControl überschreiben Sie die als protected deklarierte Methode GetSelCount."

getan?
Heiko Rompel
2014-04-07 03:58:37 UTC
Permalink
Post by M. Behrendt
Zur Implementierung der Eigenschaft SelCount in einem Nachkommen von TCustomMultiSelectListControl überschreiben Sie die als protected deklarierte Methode GetSelCount."
getan?
Nein, da ich leider nicht weiß wie man so etwas macht.

Gruß HEiko
Peter
2014-04-07 18:29:51 UTC
Permalink
Post by M. Behrendt
Post by Peter
Post by Heiko Rompel
gibt es eine Eigenschaft von TCheckListBox die mir anzeigt
wieviele
Einträge "Checked" sind? Ich finde keine. Ist da wirklich keine?
Nope, gibt's nicht out of the box.
Einspruch!
Turbo Delphi 6 kennt eine TCustomMultiSelectListControl.SelCount
Eigenschaft die bei mir auf einer TChecklistbox funktioniert.
Gibts das bei XE5 nicht mehr?
Doch, aber selected <> checked. SelCount gibt die Zahl der
*selektierten* Einträge (wenn Multiselect true ist), nicht die der
angekreuzten.
--
Peter Below
Heiko Rompel
2014-04-07 19:46:01 UTC
Permalink
Post by Peter
Doch, aber selected <> checked. SelCount gibt die Zahl der
*selektierten* Einträge (wenn Multiselect true ist), nicht die der
angekreuzten.
Tja, aber leider kein AreChecked
...

Gruß Heiko
M. Behrendt
2014-04-09 10:59:30 UTC
Permalink
Post by Peter
Doch, aber selected <> checked.
touché, mein Fehler

schön wäre auch zu wissen, ob überhaupt eines selektiert und/oder checked wurde

ich nehme da meist eine var Hilfsvariable:boolean;, die setze ich auf true, wenn was gechecked/selektiert wurde und frage die bei Bedarf ab, um mir den Zeitaufwand bei Laufzeit für eine Suchschleife zu sparen

wie macht Ihr das?
Stefan Koschke
2014-04-09 11:06:13 UTC
Permalink
Post by M. Behrendt
Post by Peter
Doch, aber selected <> checked.
touché, mein Fehler
schön wäre auch zu wissen, ob überhaupt eines selektiert und/oder checked wurde
ich nehme da meist eine var Hilfsvariable:boolean;, die setze ich auf true, wenn was gechecked/selektiert wurde und frage die bei Bedarf ab, um mir den Zeitaufwand bei Laufzeit für eine Suchschleife zu sparen
wie macht Ihr das?
Wie groß ist denn diese Liste?
jedes Mal komplett abarbeiten sollte doch auch in ein paar
Sekundenbruchteilen erledigt sein?

Ciao
Stefan
M. Behrendt
2014-04-10 11:35:16 UTC
Permalink
Post by Stefan Koschke
Post by M. Behrendt
Post by Peter
Doch, aber selected <> checked.
touché, mein Fehler
schön wäre auch zu wissen, ob überhaupt eines selektiert und/oder checked wurde
ich nehme da meist eine var Hilfsvariable:boolean;, die setze ich auf true, wenn was gechecked/selektiert wurde und frage die bei Bedarf ab, um mir den Zeitaufwand bei Laufzeit für eine Suchschleife zu sparen
wie macht Ihr das?
Wie groß ist denn diese Liste?
eigentlich bin ich eher zu faul, mir ständig eine Funktion zum durchsuchen irgendeiner Liste/mehrdimensionaler Tabellen zu basteln

sicher mag das iwie elegant gehen, ich machs wegen nichtwissen und "Faulheit" halt über die Variable

Außerdem sind mir selbst diese Sekundenbruchteile zu langsam, auf 'nem Pentium 100MHz wären das vielleicht auch noch 30min gewesen! *Ironie aus*

*duck-und-wech*

Loading...