DES OUTILS POUR TRAVAILLER AVEC LA BASE DE REGISTRE

Signaler
Messages postés
1115
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007
-
cs_azerty25
Messages postés
1115
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22918-des-outils-pour-travailler-avec-la-base-de-registre

cs_azerty25
Messages postés
1115
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007

Ta remarque non plus ;-)
Dragonmaster
Messages postés
127
Date d'inscription
vendredi 20 août 2004
Statut
Membre
Dernière intervention
3 avril 2009

Je ne pense pas que celà vaut le niveau "expert" !
cs_viran
Messages postés
104
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
31 décembre 2006

Je n'arrive pas a lire els fichiers comment je peux faire pour les lire?
philoo91
Messages postés
46
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
13 juillet 2009

Salut,
CountValue utilise ReadKeyListValue(Path)
où path est une chaine.
Si celle ci est nulle la fonction ReadKeyListValue retournera un tableau
vide.
Vue que au retour de ReadKeyListValue on utilise justement l'instruction ubound, si le tableau est vide ça plante.
Donc la solution est de faire ainsi :

Public Function ReadKeyListValue(ByVal Path As String) As String()
Dim RootKey As Long
Dim Ret As Long
Dim RetData As Long
Dim hKey As Long
Dim Compteur As Long
Dim sName As String
Dim sData As String
Dim List() As String

ReDim Preserve List(0)
ReadKeyListValue = List
RootKey = ValuePath(Path)

If RootKey = 0 Then Exit Function

If RegOpenKey(RootKey, StringPath(RootKey, Path), hKey) = 0 Then
sName = Space(StringLenth)
Ret = StringLenth
Compteur = 0
While RegEnumValue(hKey, Compteur, sName, Ret, 0, ByVal 0&, ByVal sData, RetData) <> ERROR_NO_MORE_ITEMS
ReDim Preserve List(Compteur)
List(UBound(List)) = Trim(Left(sName, Ret))
Compteur = Compteur + 1
sName = Space(StringLenth)
sData = Space(StringLenth)
Ret = StringLenth
RetData = StringLenth
Wend
RegCloseKey hKey
End If
ReadKeyListValue = List
End Function
Public Function CountValues(ByVal Path As String) As Double
CountValues = UBound(ReadKeyListValue(Path))
End Function