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