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/)
-   -   Delphi 2 TTreeView vergleichen... (https://www.delphipraxis.net/59385-2-ttreeview-vergleichen.html)

NeoXan 21. Dez 2005 16:14


2 TTreeView vergleichen...
 
Hallo,

ich würde gerne 2 TreeViews vergleichen und dann halt auf die Einträge zugreifen können, welche sich unterscheiden...sprich, welche in der ersten TreeView vorkommen, nicht jedoch in der zweiten.

Delphi-Quellcode:
Computer := TTreeView.CreateParented( frmMain.Handle );
  Notebook := TTreeView.CreateParented( frmMain.Handle );
  Verzeichnis(Computer);
  Verzeichnis(Notebook);

  for i:=0 to Computer.Items.Count-1 do
  begin
//   ShowMessage(Computer.Items[i].Text);
    if CompareEntry(Computer.Items[i], Notebook) then
    begin
      ShowMessage('blub');
    end;
  end;

  Computer.Free;
  Notebook.Free;
Delphi-Quellcode:
function CompareEntry(Node: TTreeNode; TreeView: TTreeView):boolean;
var i: integer;
begin
  Result := false;
  for i:=0 to TreeView.Items.Count-1 do
  begin
   if(Node = TreeView.Items[i]) then
    begin
    Result:= true;
    break;
    end;
  end;
end;
vielen Dank im Vorraus...
Florian

mumu 21. Dez 2005 16:19

Re: 2 TTreeView vergleichen...
 
was ist dabei dein problem?

Jens Schumann 21. Dez 2005 16:23

Re: 2 TTreeView vergleichen...
 
Zitat:

Zitat von mumu
was ist dabei dein problem?

Wahrscheinlich weil CompareEntry immer False zurückliefert.Das liegt daran, dass die Referenzen auf den Nodes verglichen werden. Die müssen natürlich unterschiedlich sein. Evt. reicht es ja aus den NodeText zu vergleichen.
Delphi-Quellcode:
function CompareEntry(Node: TTreeNode; TreeView: TTreeView):boolean;
var i: integer;
    NodeText : String:
begin
  Result := false;
  NodeText:=AnsiUpperCase(Node.Text);
  for i:=0 to TreeView.Items.Count-1 do
  begin
   if(NodeText = AnsiUpperCase(TreeView.Items[i]).Text) then
    begin
    Result:= true;
    Exit
    end;
  end;
end;

NeoXan 21. Dez 2005 17:45

Re: 2 TTreeView vergleichen...
 
Das ist schonmal gut, aber der Text könnte ja in mehreren Nodes vorkommen...

Es geht praktisch darum, dass ich 2 Verzeichnisstrukturen in 2 TreeViews habe und nun schauen möchte wo sie sich unterscheiden bzw. Welche Dateien aus der ersten Struktur sich nicht in der zweiten Struktur wiederfinden lassen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.

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