Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   VST Checkbox erkennen (https://www.delphipraxis.net/155034-vst-checkbox-erkennen.html)

youuu 5. Okt 2010 19:30

VST Checkbox erkennen
 
Hi,

wie kann ich bei einem VST aller Datensätze erkennen die checked sind und durch gehen?

generic 6. Okt 2010 08:28

AW: VST Checkbox erkennen
 
Du kannst mit vst.getfirstchecked(<checkart>) und mit vst.getnextchecked(<lastnode>, <checkart>) durch die Liste iterieren.

youuu 6. Okt 2010 09:53

AW: VST Checkbox erkennen
 
Danke, da habe ich vor ca. 30 Minuten gefunden, allerdings komm ich immernoch nicht darauf wie ich die Liste durch gehe.

Beispiel Code:

Delphi-Quellcode:
  Node := VstDokumente.GetFirstChecked;
  for i:= 0 to VstDokumente.TotalCount - 1 do
  begin
    Dokument := TDokumente(VstDokumente.GetNodeData(node)^ );
    Node := VstDokumente.GetNextChecked(Node);
  end;
So geh ich momentan durch die Liste, allerdings tritt dabei natürlich eine Exception auf sobald alle Checkboxen die "checked" sind durch sind, aber natürlich nicht alle Nodes.

Ich kann zwar die Exception abfangen, aber das sollte ja nicht der Sinn sein.


Edit: ich glaub ich habe es: "CheckedCount"

generic 6. Okt 2010 12:18

AW: VST Checkbox erkennen
 
Delphi-Quellcode:
  Node := VstDokumente.GetFirstChecked( --hier noch den checktyp--);
  while assigned(node) do
  begin
    ...Programmfunktionen...

    Node := VstDokumente.GetNextChecked(Node, --hier noch den checktyp--);
  end;

youuu 6. Okt 2010 12:27

AW: VST Checkbox erkennen
 
Zitat:

Zitat von generic (Beitrag 1054095)
Delphi-Quellcode:
    Node := VstDokumente.GetNextChecked(Node, --hier noch den checktyp--);

Das habe ich auch gesehen, aber komischerweise funktioniert es auch ohne Checktyp, gibt es dafür einen Grund?

xZise 6. Okt 2010 12:34

AW: VST Checkbox erkennen
 
Moin,
Delphi-Quellcode:
function GetNextChecked(Node: PVirtualNode; State: TCheckState = csCheckedNormal; ConsiderChildrenAbove: Boolean = False): PVirtualNode; overload;
function GetNextChecked(Node: PVirtualNode; ConsiderChildrenAbove: Boolean): PVirtualNode; overload;
Weil es eine Methode gibt, die mit einen Parameter zufrieden ist.

MfG
Fabian

generic 6. Okt 2010 12:38

AW: VST Checkbox erkennen
 
Oh - Default Parameter - die hab ich bis jetzt immer verschlafen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz