[gelöst]VirtualStringTree: Mehrere Einträge über Multiselect

Rund um die LCL und andere Komponenten
Antworten
catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

[gelöst]VirtualStringTree: Mehrere Einträge über Multiselect

Beitrag von catweasel »

Hallo

Ich habe eine Form das die Komponente "VirtualStringTree" besitzt.
Darin werden u.A. Hostnames und IP-Adressen aufgelistet. Jede Zeile einen neuen Kundenname, Hostnamen und IP.
Ein Eintrag soll bei einem Klick auf eine Zeile angepingt werden. Das funktioniert soweit auch problemlos.

Ich möchte es jetzt möglich machen mehrere Zeilen zu markieren (toMultiSelect=true) und die Einträge abzuarbeiten,
bekomme aber mit meiner Methode nur den letzten markierten Eintrag.

Wie kann ich die IP-Felder aller markierten Einträge bekommen?

So versuche ich die Daten auszulesen:

Code: Alles auswählen

// Daten für VST
type
  PTreeData = ^TTreeData;
  TTreeData = record
    Kunde    : String; 
    Hostname : String; 
    IP       : String; 
    Info     : String; 
    StdProg  : String; 
  end;
 
 
procedure TMainForm.MultiPingMenuItemClick(Sender: TObject);
var
    IP, Url, Hostname : String;
    i                 : integer;
    Node              : PVirtualNode;
    Data              : PTreeData;
begin
  Node:=VST.FocusedNode;
  if not Assigned(Node) then
    Exit;
  Data := VST.GetNodeData(Node);
  IP:=Data^.IP;
 
  //Hier möchte ich alle IP's aller markierten Zeilen haben, bekomme aber nur den letzten Eintrag
  showmessage(IP);  
end;
Gruß
Michael
Zuletzt geändert von catweasel am Sa 18. Jun 2016, 16:28, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: VirtualStringTree: Mehrere Einträge über Multiselect

Beitrag von theo »

Den Baum durchgehen und auf selektierte prüfen.

Hier ist ein Beispiel. Einfach statt selektieren nur prüfen ob selektiert ist, wie bei "1. Select all root nodes:" oder "2. Select all child nodes:"

http://stackoverflow.com/questions/1214 ... stringtree

catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

Re: VirtualStringTree: Mehrere Einträge über Multiselect

Beitrag von catweasel »

theo hat geschrieben:Den Baum durchgehen und auf selektierte prüfen.
[...]
Danke, so funktioniert es :D

Gruß und noch ein schönes WE
Michael

Antworten