vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Zwei Treeviews vergleichen 
Autor: Manfred X
Datum: 22.06.17 09:22

Hallo!

Probiere diese einfache, grob getestete Methode ....

"FindNodeByPath" sucht rekursiv, ob ein Knotenpfad in einem
Treeview enthalten ist.

"CompareTreeValues" prüft für einen Knoten im ersten Treeview,
ob es einen entsprechenden Pfad im zweiten Treeview gibt.
Fehlende Pfade (= fehlende Einträge oder geänderte Werte)
werden im ersten Treeview rot markiert.

Mit "NextNode" durchläuft man rekursiv die Knoten des ersten
Treeview und ruft für jeden Knoten "CompareTreeValues".

Private Function FindNodeByFullPath(tncoll As TreeNodeCollection, _
        fullpath As String) As TreeNode
 
    Dim tnFound As TreeNode
 
    For Each tnCurr As TreeNode In tncoll
       If tnCurr.FullPath = fullpath Then Return tnCurr
 
       tnFound = FindNodeByFullPath(tnCurr.Nodes, fullpath)
       If tnFound IsNot Nothing Then Return tnFound
    Next tnCurr
 
    Return Nothing
End Function
 
 
Private Sub CompareTreeValues(ByVal tnbase As TreeNode, _
        searchtree As TreeNodeCollection)
 
   Dim tnfound As TreeNode = _
        FindNodeByFullPath(searchtree, tnbase.FullPath)
 
   With tnbase
      If tnfound Is Nothing Then
         .BackColor = Color.Red
         .ForeColor = Color.White
      Else
         .BackColor = Color.White
         .ForeColor = Color.Black
      End If
   End With
End Sub
 
 
Private Function NextNode(ByVal tncoll As TreeNodeCollection) As TreeNode
 
    For Each tncurr As TreeNode In tncoll
        CompareTreeValues(tncurr, trv2.Nodes)
        NextNode(tncurr.Nodes)
    Next tncurr
 
    Return Nothing
End Function
.
.

Anwendung:

Seien "trv1", "trv2" zwei Winforms-Treeview-Controls
und "FillTree" die Routine (mit Parameteraufruf) zum Füllen
eines Treeview aus der hierarchisch aufgebauten Ini-Datei ....
  FillTree("C:\Daten\inimasch2.txt", trv1)
  FillTree("C:\Daten\inimasch1.txt", trv2)
 
  NextNode(trv1.Nodes) 'Markieren der Abweichungen von trv2 in trv1
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ini in Treeview einlesen4.422schwesig28.03.17 21:03
Re: ini in Treeview einlesen3.248Franki29.03.17 03:49
Re: ini in Treeview einlesen3.399schwesig29.03.17 05:26
Re: ini in Treeview einlesen3.236Manfred X29.03.17 07:38
Beispiel irgendwie ????3.339Manfred X29.03.17 08:09
Re: Beispiel irgendwie ????3.269schwesig29.03.17 20:18
Re: Beispiel irgendwie ????3.330Manfred X29.03.17 21:46
Re: Beispiel irgendwie ????2.392effeff08.04.17 17:26
Re: ini in Treeview einlesen3.135Franki30.03.17 02:32
Re: ini in Treeview einlesen3.156Manfred X30.03.17 11:05
Re: ini in Treeview einlesen3.177schwesig30.03.17 17:10
Treeview editieren3.321Manfred X30.03.17 17:53
Re: Treeview editieren3.306schwesig30.03.17 18:07
Re: Treeview editieren2.418Manfred X30.03.17 18:51
Re: ini in Treeview einlesen2.366Franki31.03.17 03:08
Windows-Ini ?2.481Manfred X31.03.17 08:12
Re: Windows-Ini ?2.592Franki01.04.17 04:31
Re: Windows-Ini ?2.382Manfred X01.04.17 08:48
Re: Windows-Ini ?2.398Franki08.04.17 05:01
Re: Windows-Ini ?2.606Manfred X08.04.17 12:07
Re: Windows-Ini ?2.515Franki10.04.17 04:17
Re: Windows-Ini ?2.336effeff11.04.17 09:00
Re: Windows-Ini ?2.329Franki13.04.17 03:04
Re: ini in Treeview einlesen2.335schwesig13.04.17 06:40
Re: ini in Treeview einlesen2.442Manfred X13.04.17 08:35
Re: ini in Treeview einlesen2.324schwesig13.04.17 09:10
Re: ini in Treeview einlesen2.455Manfred X13.04.17 09:23
Re: ini in Treeview einlesen2.455schwesig13.04.17 09:28
Re: ini in Treeview einlesen2.375Manfred X13.04.17 09:40
Re: ini in Treeview einlesen2.132schwesig21.06.17 20:48
Zwei Treeviews vergleichen2.364Manfred X22.06.17 09:22
Re: ini in Treeview einlesen2.109schwesig22.06.17 19:17
Zwei Treeviews vergleichen2.222Manfred X22.06.17 20:37
Re: ini in Treeview einlesen2.273schwesig22.06.17 22:19
Re: ini in Treeview einlesen2.125Manfred X22.06.17 22:53
Re: ini in Treeview einlesen2.130schwesig23.06.17 19:12
Re: ini in Treeview einlesen2.287Manfred X24.06.17 07:31
Re: ini in Treeview einlesen2.085schwesig24.06.17 09:40
Re: ini in Treeview einlesen2.142Manfred X24.06.17 13:39
Größe ändern2.217schwesig25.06.17 19:56
Re: Größe ändern2.143Manfred X25.06.17 21:58
Re: Größe ändern2.185schwesig26.06.17 18:47
Schlüssel-Auswahl in Knoten eintragen2.266Manfred X26.06.17 20:35
Re: Schlüssel-Auswahl in Knoten eintragen2.123schwesig29.06.17 20:40
Re: Schlüssel-Auswahl in Knoten eintragen2.233Manfred X29.06.17 23:47
Re: Schlüssel-Auswahl in Knoten eintragen2.097schwesig04.08.17 12:25
Re: Schlüssel-Auswahl in Knoten eintragen2.082Manfred X04.08.17 14:10
Re: Größe ändern2.034schwesig04.08.17 15:44
Re: Größe ändern1.876schwesig05.08.17 17:40

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel