vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
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 einlesen3.635schwesig28.03.17 21:03
Re: ini in Treeview einlesen2.487Franki29.03.17 03:49
Re: ini in Treeview einlesen2.584schwesig29.03.17 05:26
Re: ini in Treeview einlesen2.474Manfred X29.03.17 07:38
Beispiel irgendwie ????2.581Manfred X29.03.17 08:09
Re: Beispiel irgendwie ????2.510schwesig29.03.17 20:18
Re: Beispiel irgendwie ????2.539Manfred X29.03.17 21:46
Re: Beispiel irgendwie ????2.333effeff08.04.17 17:26
Re: ini in Treeview einlesen2.377Franki30.03.17 02:32
Re: ini in Treeview einlesen2.399Manfred X30.03.17 11:05
Re: ini in Treeview einlesen2.359schwesig30.03.17 17:10
Treeview editieren2.556Manfred X30.03.17 17:53
Re: Treeview editieren2.509schwesig30.03.17 18:07
Re: Treeview editieren2.418Manfred X30.03.17 18:51
Re: ini in Treeview einlesen2.320Franki31.03.17 03:08
Windows-Ini ?2.436Manfred X31.03.17 08:12
Re: Windows-Ini ?2.497Franki01.04.17 04:31
Re: Windows-Ini ?2.329Manfred X01.04.17 08:48
Re: Windows-Ini ?2.350Franki08.04.17 05:01
Re: Windows-Ini ?2.493Manfred X08.04.17 12:07
Re: Windows-Ini ?2.429Franki10.04.17 04:17
Re: Windows-Ini ?2.288effeff11.04.17 09:00
Re: Windows-Ini ?2.278Franki13.04.17 03:04
Re: ini in Treeview einlesen2.287schwesig13.04.17 06:40
Re: ini in Treeview einlesen2.391Manfred X13.04.17 08:35
Re: ini in Treeview einlesen2.286schwesig13.04.17 09:10
Re: ini in Treeview einlesen2.368Manfred X13.04.17 09:23
Re: ini in Treeview einlesen2.365schwesig13.04.17 09:28
Re: ini in Treeview einlesen2.322Manfred X13.04.17 09:40
Re: ini in Treeview einlesen2.081schwesig21.06.17 20:48
Zwei Treeviews vergleichen2.309Manfred X22.06.17 09:22
Re: ini in Treeview einlesen2.066schwesig22.06.17 19:17
Zwei Treeviews vergleichen2.176Manfred X22.06.17 20:37
Re: ini in Treeview einlesen2.181schwesig22.06.17 22:19
Re: ini in Treeview einlesen2.078Manfred X22.06.17 22:53
Re: ini in Treeview einlesen2.082schwesig23.06.17 19:12
Re: ini in Treeview einlesen2.189Manfred X24.06.17 07:31
Re: ini in Treeview einlesen2.040schwesig24.06.17 09:40
Re: ini in Treeview einlesen2.100Manfred X24.06.17 13:39
Größe ändern2.129schwesig25.06.17 19:56
Re: Größe ändern2.096Manfred X25.06.17 21:58
Re: Größe ändern2.133schwesig26.06.17 18:47
Schlüssel-Auswahl in Knoten eintragen2.216Manfred X26.06.17 20:35
Re: Schlüssel-Auswahl in Knoten eintragen2.094schwesig29.06.17 20:40
Re: Schlüssel-Auswahl in Knoten eintragen2.161Manfred X29.06.17 23:47
Re: Schlüssel-Auswahl in Knoten eintragen2.024schwesig04.08.17 12:25
Re: Schlüssel-Auswahl in Knoten eintragen2.008Manfred X04.08.17 14:10
Re: Größe ändern1.969schwesig04.08.17 15:44
Re: Größe ändern1.840schwesig05.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-2024 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