begin process at 2012 02 12 16:45:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > COPIE DE TREEVIEW AVEC SAUVEGARDE DANS UN FICHIER TEXTE

COPIE DE TREEVIEW AVEC SAUVEGARDE DANS UN FICHIER TEXTE


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :31/05/2002 Date de mise à jour :31/05/2002 16:23:11 Vu :3 149

Auteur : acidburn23

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Ce code permet de copier deux treeviews, sur une même fenètre ou sur deux fenètres différentes. De plus, une sauvegarde dans un fichier texte est effectuée.
La fonction d'ouverture de la sauvegarde est un peu barbare et spécifique à un de mes programme, à vous de l'adapté au votre!!!!!

Source

  • Public Function Copier(Menu_P As TreeView, MenuTree_P As TreeView) As TreeView 'Fonction de copiage de TreeView pour le passage de "gestion de groupes de variable" à la page principale
  • Dim i%
  • Dim Node_L As Node 'declaration des variables
  • Open "tree.txt" For Output As "1" 'on ouvre le fichier de sauvegarde
  • VBTrend.txtchemin = chemin
  • For i = 1 To MenuTree_P.Nodes.Count 'Boucle de copiage des différents éléments du treeview
  • If (i = 1) Then 'Pour la racine
  • Set Node_L = Menu_P.Nodes.Add(, , MenuTree_P.Nodes(i).Key, MenuTree_P.Nodes(i).Text, MenuTree_P.Nodes(i).Image, MenuTree_P.Nodes(i).SelectedImage)
  • Set Node_L = MenuTree_P.Nodes(i)
  • Write #1, MenuTree_P.Nodes(i).Key & ";" & MenuTree_P.Nodes(i).Text & ";" & MenuTree_P.Nodes(i).Image & ";" & MenuTree_P.Nodes(i).SelectedImage 'On écrit au fur et à mesure dans le fichier texte
  • Else
  • 'Pour le reste de l'arbre
  • Chaine = groupe.TreeView1.Nodes(i).Parent.Key 'On recupere la cle du noeud précédent
  • Set Node_L = Menu_P.Nodes.Add(Chaine, tvwChild, MenuTree_P.Nodes(i).Key, MenuTree_P.Nodes(i).Text, MenuTree_P.Nodes(i).Image, MenuTree_P.Nodes(i).SelectedImage)
  • Set Node_L = MenuTree_P.Nodes(i)
  • Write #1, MenuTree_P.Nodes(i).Key & ";" & MenuTree_P.Nodes(i).Text & ";" & MenuTree_P.Nodes(i).Image & ";" & MenuTree_P.Nodes(i).SelectedImage 'ecriture dans le fichier
  • End If
  • Next i
  • Close 1
  • End Function
  • Public Function ouvrir(file) 'fonction d'ouverture de fichier
  • Dim Node_L As Node
  • Dim j As Integer
  • Dim arbre As String
  • Dim Posi As Integer 'declaration des variables
  • Dim Posi1 As Integer
  • Dim Posi2 As Integer
  • Dim Mot As String
  • Dim Mot1 As String
  • Dim Mot2 As String
  • Dim ligne1 As String
  • Dim Chaine As String
  • Dim bool As Boolean
  • Open file For Input As "1" 'ouverture du fichier en question
  • VBTrend.TreeView1.Nodes.Clear 'on efface l'ancien treeview
  • For i = 1 To NbLignes 'boucle jusq'à la fin du fichier
  • Line Input #1, arbre 'recuperation des infos ligne par lignes
  • Posi = InStr(arbre, Chr(59))
  • If Posi = 0 Then
  • Mot = arbre
  • Else
  • Mot = Left(arbre, Posi - 1)
  • Mot = Mid(Mot, 2)
  • ligne = Mid(arbre, Posi + 1)
  • Posi1 = InStr(ligne, Chr(59))
  • Mot1 = Left(ligne, Posi1 - 1)
  • Mot2 = Mid(ligne, Posi1 + 1) 'recuperation des différents éléments du fichier
  • Mot2 = Left(Mot2, 2)
  • Posi2 = InStr(Mot2, Chr(59))
  • Mot2 = Left(Mot2, Posi2 - 1)
  • Mot2 = Right(Mot2, 1)
  • 'Création de l'arbre
  • If (i = 1 And Mot1 = "Serveurs") Then
  • Set Node_L = VBTrend.TreeView1.Nodes.Add(, , Mot, Mot1, 2)
  • Set Node_L = VBTrend.TreeView1.Nodes(i)
  • Else
  • If (i = 4 Or i = 5 Or i = 6) Then
  • Chaine = VBTrend.TreeView1.Nodes(3).Key
  • Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 4)
  • Set Node_L = VBTrend.TreeView1.Nodes(i)
  • End If
  • If (i = 8 Or i = 9 Or i = 10) Then
  • Chaine = VBTrend.TreeView1.Nodes(7).Key
  • Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 4)
  • Set Node_L = VBTrend.TreeView1.Nodes(i)
  • End If
  • If (i = 7) Then
  • Chaine = VBTrend.TreeView1.Nodes(2).Key
  • Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 3)
  • Set Node_L = VBTrend.TreeView1.Nodes(i)
  • ElseIf (i = 3) Then
  • Chaine = VBTrend.TreeView1.Nodes(i - 1).Key
  • Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 3)
  • Set Node_L = VBTrend.TreeView1.Nodes(i)
  • ElseIf (i = 2) Then
  • Chaine = VBTrend.TreeView1.Nodes(i - 1).Key
  • Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 1)
  • Set Node_L = VBTrend.TreeView1.Nodes(i)
  • End If
  • End If
  • End If
  • Next i
  • Dim nodNode As Node, intNode, intNode1 As Integer
  • For intNode = 1 To VBTrend.TreeView1.Nodes.Count
  • VBTrend.TreeView1.Nodes(intNode).Expanded = True 'on ouvre toutes les branches de l'arbre
  • Next intNode
  • Close 1
  • End Function
Public Function Copier(Menu_P As TreeView, MenuTree_P As TreeView) As TreeView  'Fonction de copiage de TreeView pour le passage de "gestion de groupes de variable" à la page principale

Dim i%
Dim Node_L As Node  'declaration des variables

Open "tree.txt" For Output As "1"   'on ouvre le fichier de sauvegarde
VBTrend.txtchemin = chemin

    For i = 1 To MenuTree_P.Nodes.Count     'Boucle de copiage des différents éléments du treeview

    If (i = 1) Then 'Pour la racine
       Set Node_L = Menu_P.Nodes.Add(, , MenuTree_P.Nodes(i).Key, MenuTree_P.Nodes(i).Text, MenuTree_P.Nodes(i).Image, MenuTree_P.Nodes(i).SelectedImage)

       Set Node_L = MenuTree_P.Nodes(i)
          
                   
       Write #1, MenuTree_P.Nodes(i).Key & ";" & MenuTree_P.Nodes(i).Text & ";" & MenuTree_P.Nodes(i).Image & ";" & MenuTree_P.Nodes(i).SelectedImage 'On écrit au fur et à mesure dans le fichier texte
        
    Else
    'Pour le reste de l'arbre
      Chaine = groupe.TreeView1.Nodes(i).Parent.Key 'On recupere la cle du noeud précédent
        
      Set Node_L = Menu_P.Nodes.Add(Chaine, tvwChild, MenuTree_P.Nodes(i).Key, MenuTree_P.Nodes(i).Text, MenuTree_P.Nodes(i).Image, MenuTree_P.Nodes(i).SelectedImage)

       Set Node_L = MenuTree_P.Nodes(i)
       
        Write #1, MenuTree_P.Nodes(i).Key & ";" & MenuTree_P.Nodes(i).Text & ";" & MenuTree_P.Nodes(i).Image & ";" & MenuTree_P.Nodes(i).SelectedImage  'ecriture dans le fichier
    
   End If
    Next i
Close 1

End Function

Public Function ouvrir(file)    'fonction d'ouverture de fichier

Dim Node_L As Node
Dim j As Integer
Dim arbre As String
Dim Posi As Integer     'declaration des variables
Dim Posi1 As Integer
Dim Posi2 As Integer
Dim Mot As String
Dim Mot1 As String
Dim Mot2 As String
Dim ligne1 As String
Dim Chaine As String
Dim bool As Boolean


Open file For Input As "1"  'ouverture du fichier en question

VBTrend.TreeView1.Nodes.Clear   'on efface l'ancien treeview
 
For i = 1 To NbLignes   'boucle jusq'à la fin du fichier
       
            Line Input #1, arbre    'recuperation des infos ligne par lignes
            Posi = InStr(arbre, Chr(59))
        If Posi = 0 Then
            Mot = arbre
       
        Else
            Mot = Left(arbre, Posi - 1)
            Mot = Mid(Mot, 2)
            ligne = Mid(arbre, Posi + 1)
            Posi1 = InStr(ligne, Chr(59))
            Mot1 = Left(ligne, Posi1 - 1)
            Mot2 = Mid(ligne, Posi1 + 1)    'recuperation des différents éléments du fichier
            Mot2 = Left(Mot2, 2)
            Posi2 = InStr(Mot2, Chr(59))
            Mot2 = Left(Mot2, Posi2 - 1)
            Mot2 = Right(Mot2, 1)
            
            'Création de l'arbre
            
            If (i = 1 And Mot1 = "Serveurs") Then
                                 
                Set Node_L = VBTrend.TreeView1.Nodes.Add(, , Mot, Mot1, 2)

                Set Node_L = VBTrend.TreeView1.Nodes(i)
                         
            Else
              
             If (i = 4 Or i = 5 Or i = 6) Then
                Chaine = VBTrend.TreeView1.Nodes(3).Key
                Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 4)

                    Set Node_L = VBTrend.TreeView1.Nodes(i)
            End If
            If (i = 8 Or i = 9 Or i = 10) Then
                Chaine = VBTrend.TreeView1.Nodes(7).Key
                Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 4)

                    Set Node_L = VBTrend.TreeView1.Nodes(i)
            End If
                              
                If (i = 7) Then
                    Chaine = VBTrend.TreeView1.Nodes(2).Key
                    Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 3)

                    Set Node_L = VBTrend.TreeView1.Nodes(i)
                
                ElseIf (i = 3) Then
              
                    Chaine = VBTrend.TreeView1.Nodes(i - 1).Key
                    Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 3)

                    Set Node_L = VBTrend.TreeView1.Nodes(i)
                    
              
                ElseIf (i = 2) Then
                    
                    Chaine = VBTrend.TreeView1.Nodes(i - 1).Key
                    Set Node_L = VBTrend.TreeView1.Nodes.Add(Chaine, tvwChild, Mot, Mot1, 1)

                    Set Node_L = VBTrend.TreeView1.Nodes(i)
    
               End If
              End If
            End If
        
        

    Next i
    
Dim nodNode As Node, intNode, intNode1 As Integer
For intNode = 1 To VBTrend.TreeView1.Nodes.Count
    VBTrend.TreeView1.Nodes(intNode).Expanded = True        'on ouvre toutes les branches de l'arbre
Next intNode

Close 1
End Function


 Conclusion

Pour l'appel de la fonction de copie : Copier(destination, source)
Pour l'ouverture de la sauvegarde : Call ouvrir(nom du fichier fichier)


 Sources du même auteur

COPIE DE TREEVIEW

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip Source avec une capture JEUX DE VERITÉ ET DE FIDELITÉ par billatosco
Source avec Zip IMAGELOARDER par vkitumaini
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN CALENDRIER DE POCHE par Le Pivert
Source avec Zip RECHERCHE D'UN ENREGISTREMENT DANS UNE DATATABLE ET POSITION... par erdna

Commentaires et avis

Commentaire de vivino le 01/06/2004 19:29:55

j'ai éssaié ce code. Cela ne marche pas pour moi. Pouttant j'ai tout bien copié

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales