Einzelnen Beitrag anzeigen

Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

VirtualStringTree: IP Adressen sortieren

  Alt 27. Nov 2009, 11:46
Moin,

ich würde gerne einmal wissen wie ihr die Sortierung von IP Adressen im VST gelöst habt.
Meine derzeitige Lösung sieht wie folgt aus:
Delphi-Quellcode:
procedure Tfrm_main.vst_network_subnetdetailsCompareNodes(
  Sender: TBaseVirtualTree; Node1, Node2: PVirtualNode; Column: TColumnIndex;
  var Result: Integer);
var
 SubnetDetailsData1 : TOSubnetDetailsData;
 SubnetDetailsData2 : TOSubnetDetailsData;
 IP1, IP2 : Integer;
begin
 SubnetDetailsData1 := TOSubnetDetailsData(vst_network_subnetdetails.GetNodeData(Node1)^);
 SubnetDetailsData2 := TOSubnetDetailsData(vst_network_subnetdetails.GetNodeData(Node2)^);
 IP1 := StrToInt(StringReplace(SubnetDetailsData1.ipaddress, '.','',[rfReplaceAll]));
 IP2 := StrToInt(StringReplace(SubnetDetailsData2.ipaddress, '.','',[rfReplaceAll]));

 if column > -1 then
 begin
   if vst_network_subnetdetails.Header.Columns[Column].Text = 'IP Address'  then Result := CompareValue(IP1, IP2);
   ...
 end;
end;
Leider werden Sie immer noch flasch sortiert. Ich habe mir schon überlegt, ob ich sie in 4 Teile zerlege und dann die Sortierung durchführe. Diesen Weg wollte ich aber erst am Schluss machen, da er sehr aufwendig ist.

Dank im voraus.

Sven
  Mit Zitat antworten Zitat