Copier un treview dans un autre

Le
driss hanib
Bonjour à tous.

Tout est dans la question.
Je dois copier tous les noeuds d'un treeview dans un autre.
Existe-t-il un moyen pour le faire ?
je ne pense pas qu'on puisse écrire quelque chose du style "set TV = TV1" ou
bien une API ?

merci pour vos pistes

Driss
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-marc
Le #20807541
driss hanib wrote:
Bonjour à tous.



Hello,

Tout est dans la question.
Je dois copier tous les noeuds d'un treeview dans un autre.
Existe-t-il un moyen pour le faire ?



Oui :-)

Voici un excellent exemple illustrant un cas ou l'emploi bien
senti de la récursivité permet des faire en quelques lignes
ce qu'un programme purement itératif peinerait à faire.

Voici du code prêt à l'emploi :

http://cuinl.tripod.com/Tips/duplicatetreeview.htm

Bonne soirée !

--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Jean-marc
Le #20807831
Jean-marc wrote:

Voici un excellent exemple illustrant un cas ou l'emploi bien
senti de la récursivité permet des faire en quelques lignes
ce qu'un programme purement itératif peinerait à faire.



Ici, on a un excellent exemple de la puissance de la récursivité:
concision et clarté du code, écriture naturelle, etc.

Cependant, il ne faut pas perdre de vue que parfois (mais pas ici)
la récursivité est pénalisante et bien moins efficiente qu'une
version itérative.

Dans l'article de la FAQ consacrée à la récursivité, on donne en
exemple l'implémentation récursive de l'algorithme d'Euclide pour
le calcul du PGCD (Cf. http://faq.vb.free.fr/index.php?question2)

Il est bon de noter pour l'exemple que la version itérative de cet
algorithme (cf ci-dessous) s'exécute 2 fois plus rapidement que la
version récursive.

' Implémentation Itérative de l'algorithme d'Euclide
'
Function PGCD2(ByVal n1 As Long, ByVal n2 As Long) As Long
Dim r As Long

While Not ((n1 = 0) Or (n2 = 0))
PGCD2 = r
r = n1 Mod n2
n1 = n2
n2 = r
Wend
End Function

Voila, c'était juste une petite digression en passant, pour rappeler
que la récursivité était un merveilleux outil MAIS à utiliser à bon
escient; les parcours d'arbre sont un des cas typiques de 'bon escient'.

Bonne fin de WE à tous;

--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Driss HANIB
Le #20811081
Merci Jean Marc pour l'exemple et pour les explications suivantes.

Driss

"Jean-marc" 4b2e9395$0$2859$
Jean-marc wrote:

Voici un excellent exemple illustrant un cas ou l'emploi bien
senti de la récursivité permet des faire en quelques lignes
ce qu'un programme purement itératif peinerait à faire.



Ici, on a un excellent exemple de la puissance de la récursivité:
concision et clarté du code, écriture naturelle, etc.

Cependant, il ne faut pas perdre de vue que parfois (mais pas ici)
la récursivité est pénalisante et bien moins efficiente qu'une
version itérative.

Dans l'article de la FAQ consacrée à la récursivité, on donne en
exemple l'implémentation récursive de l'algorithme d'Euclide pour
le calcul du PGCD (Cf. http://faq.vb.free.fr/index.php?question2)

Il est bon de noter pour l'exemple que la version itérative de cet
algorithme (cf ci-dessous) s'exécute 2 fois plus rapidement que la
version récursive.

' Implémentation Itérative de l'algorithme d'Euclide
'
Function PGCD2(ByVal n1 As Long, ByVal n2 As Long) As Long
Dim r As Long

While Not ((n1 = 0) Or (n2 = 0))
PGCD2 = r
r = n1 Mod n2
n1 = n2
n2 = r
Wend
End Function

Voila, c'était juste une petite digression en passant, pour rappeler
que la récursivité était un merveilleux outil MAIS à utiliser à bon
escient; les parcours d'arbre sont un des cas typiques de 'bon escient'.

Bonne fin de WE à tous;

--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;






Publicité
Poster une réponse
Anonyme