Treeview - Noeud Existe ?

Le
Driss HANIB
Bonjour à tous

je voudrai savoir si un noeud, dont je connais la clé (éventuelle) existe.
je vois une méthode qui va utiliser ce noeud et ou je vais récupérer
l'éventelle erreur pour déterminer si il existe :
si'il y a erreur ( noeud absent) alors existe = faux.

Y-a-t'il une autre méthode sans gestion des erreurs ? ou peut on se
"contenter" de cette méthode.

Exemple (fait à main levée sans test)

'
Function NoeudExiste(TV as mscomtlib.treeview, Clé asstring) as boolean

Dim Existe as boolean
Dim Chaine as string
Dim Noeud as mscomtlib.nodes

On Error goto GestEr
chaine = tv.nodes(Clé).text
NoeudExiste=true
exit sub

:gestEr
NoeudExiste = False

end function
' --
merci pour vos conseils

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
Driss HANIB
Le #17272571
function corrigée de bugs simples, mais toujours pas testée, modifié en
mettant un variant qui permettrait alors, peut être de mettre soit un indice
soit une clé..comme identifiant du noeud..
' ---------------------------------------------------------------------
Function NoeudExiste(TV As MSComctlLib.TreeView, ID As Variant) As Boolean

Dim Existe As Boolean
Dim Chaine As String
Dim Noeud As mscomtlib.Nodes

On Error GoTo gestEr
Chaine = TV.Nodes(ID).Text
NoeudExiste = True
Exit Function

: gestEr
NoeudExiste = False

End Function
---------------------------------------------------------'-------------------

Driss

"Driss HANIB"
Bonjour à tous

je voudrai savoir si un noeud, dont je connais la clé (éventuelle) existe.
je vois une méthode qui va utiliser ce noeud et ou je vais récupérer
l'éventelle erreur pour déterminer si il existe :
si'il y a erreur ( noeud absent) alors existe = faux.

Y-a-t'il une autre méthode sans gestion des erreurs ? ou peut on se
"contenter" de cette méthode.

Exemple (fait à main levée sans test)

' ---------------------------------------------------------------------------------------------
Function NoeudExiste(TV as mscomtlib.treeview, Clé asstring) as boolean

Dim Existe as boolean
Dim Chaine as string
Dim Noeud as mscomtlib.nodes

On Error goto GestEr
chaine = tv.nodes(Clé).text
NoeudExiste=true
exit sub

:gestEr
NoeudExiste = False

end function
' -----------------------------------------------------------------------------------------------
merci pour vos conseils

Driss



Jacques93
Le #17275991
Bonjour Driss HANIB,
Driss HANIB a écrit :
Bonjour à tous

je voudrai savoir si un noeud, dont je connais la clé (éventuelle) existe.
je vois une méthode qui va utiliser ce noeud et ou je vais récupérer
l'éventelle erreur pour déterminer si il existe :
si'il y a erreur ( noeud absent) alors existe = faux.

Y-a-t'il une autre méthode sans gestion des erreurs ? ou peut on se
"contenter" de cette méthode.

Exemple (fait à main levée sans test)

' ---------------------------------------------------------------------------------------------
Function NoeudExiste(TV as mscomtlib.treeview, Clé asstring) as boolean

Dim Existe as boolean
Dim Chaine as string
Dim Noeud as mscomtlib.nodes

On Error goto GestEr
chaine = tv.nodes(Clé).text
NoeudExiste=true
exit sub

:gestEr
NoeudExiste = False

end function
' -----------------------------------------------------------------------------------------------
merci pour vos conseils

Driss




Essaie ceci, en enlevant ou ajoutant des commentaires sur les lignes de
codes, le truc si j'ai bien compris ta demande c'est "Nothing" :

Private Sub Command1_Click()
With Me.TreeView1
.Nodes.Add , , "Driss"
.Nodes.Add , , "Jacques"
' .Nodes.Remove ("Driss")
.Nodes.Remove ("Jacques")
If .Nodes.Count > 0 Then
If .Nodes("Driss") Is Nothing Then
MsgBox "Driss n'est plus là"
Else
MsgBox "Driss est là"
End If
Else
MsgBox "Y' a personne ?"
End If
End With
End Sub


--

Cordialement,

Jacques.
driss hanib
Le #17276781
Merci jacques
Donc c'est la commande Is Nothing qui suffit ?

Driss

"Jacques93" a écrit dans le message de news:

Bonjour Driss HANIB,
Driss HANIB a écrit :
Bonjour à tous

je voudrai savoir si un noeud, dont je connais la clé (éventuelle)
existe.
je vois une méthode qui va utiliser ce noeud et ou je vais récupérer
l'éventelle erreur pour déterminer si il existe :
si'il y a erreur ( noeud absent) alors existe = faux.

Y-a-t'il une autre méthode sans gestion des erreurs ? ou peut on se
"contenter" de cette méthode.

Exemple (fait à main levée sans test)

' ---------------------------------------------------------------------------------------------
Function NoeudExiste(TV as mscomtlib.treeview, Clé asstring) as boolean

Dim Existe as boolean
Dim Chaine as string
Dim Noeud as mscomtlib.nodes

On Error goto GestEr
chaine = tv.nodes(Clé).text
NoeudExiste=true
exit sub

:gestEr
NoeudExiste = False

end function
' -----------------------------------------------------------------------------------------------
merci pour vos conseils

Driss


Essaie ceci, en enlevant ou ajoutant des commentaires sur les lignes de
codes, le truc si j'ai bien compris ta demande c'est "Nothing" :

Private Sub Command1_Click()
With Me.TreeView1
.Nodes.Add , , "Driss"
.Nodes.Add , , "Jacques"
' .Nodes.Remove ("Driss")
.Nodes.Remove ("Jacques")
If .Nodes.Count > 0 Then
If .Nodes("Driss") Is Nothing Then
MsgBox "Driss n'est plus là"
Else
MsgBox "Driss est là"
End If
Else
MsgBox "Y' a personne ?"
End If
End With
End Sub


--

Cordialement,

Jacques.


Jacques93
Le #17301381
driss hanib a écrit :
Merci jacques
Donc c'est la commande Is Nothing qui suffit ?

Driss




En fait ça ne suffit pas, il faut tout de même gérer l'erreur si la clé
n'existe pas. Par exemple :

Function NoeudExiste(TV As MSComctlLib.TreeView, ID As String) As Boolean
On Error Resume Next
NoeudExiste = False
NoeudExiste = Not TV.Nodes(ID) Is Nothing
End Function

--

Cordialement,

Jacques.
Driss HANIB
Le #17325221
Ok merci

j'ai intégré cela..

Driss

"Jacques93" a écrit dans le message de news:

driss hanib a écrit :
Merci jacques
Donc c'est la commande Is Nothing qui suffit ?

Driss




En fait ça ne suffit pas, il faut tout de même gérer l'erreur si la clé
n'existe pas. Par exemple :

Function NoeudExiste(TV As MSComctlLib.TreeView, ID As String) As Boolean
On Error Resume Next
NoeudExiste = False
NoeudExiste = Not TV.Nodes(ID) Is Nothing
End Function

--

Cordialement,

Jacques.


Publicité
Poster une réponse
Anonyme