OVH Cloud OVH Cloud

comparaison d'une clé de registre de type RG_SZ

4 réponses
Avatar
Mo
Salut,

dans un VB6, j'aimerais comparais une clé à la valeur qu'elle devrait avoir
c'est à dire 00000409 donc j'écris ça :
If strKeyValueName = 409 Then

ou avec des " " ça ne marche non plus pas.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"2"="00000409"
"1"="0000040c"oilà ce qu'est censé contenir la base registre:

Quelqu'un aurait une idée, merci d'avance, Mo

4 réponses

Avatar
Jacques93
Bonjour Mo
Mo a écrit :
Salut,

dans un VB6, j'aimerais comparais une clé à la valeur qu'elle devrait avoir
c'est à dire 00000409 donc j'écris ça :
If strKeyValueName = 409 Then

ou avec des " " ça ne marche non plus pas.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERKeyboard LayoutPreload]
"2"="00000409"
"1"="0000040c"oilà ce qu'est censé contenir la base registre:

Quelqu'un aurait une idée, merci d'avance, Mo



Les clés de type REG_SZ sont des chaines de caractères se terminant par
un zéro binaire (tu peux le vérifier avec Len(Str) qui doit renvoyer 9
et non pas 8), il faut donc d'une part que ta procèdure de lecture de
clé supprime ce zéro :

Par exemple,

Pos = InStr(1, Str, Chr$(0))
If Pos > 0 Then
Read_Registry_Value = Left$(Str, Pos - 1)
Else
Read_Registry_Value = Str
End If

et ensuite la valeur étant une chaine de caractères, les zéros en début
de chaine ne sont pas 'non significatifs' (comme si c'était un valeur
numérique), donc :

If Str = "00000409" Then

--
Cordialement,

Jacques.
Avatar
Aski
Salutatoi Mo,

Tu t'es vachement avancé en affirmant :

Salut,

dans un VB6, j'aimerais comparais une clé à la valeur qu'elle devrait
avoir c'est à dire 00000409 donc j'écris ça :
If strKeyValueName = 409 Then

ou avec des " " ça ne marche non plus pas.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERKeyboard LayoutPreload]
"2"="00000409"
"1"="0000040c"oilà ce qu'est censé contenir la base registre:

Quelqu'un aurait une idée, merci d'avance, Mo



Comme il s'agit d'une chaîne, il faut comparer la chaîne complète, soit
'00000409".

--
Cordialement

Aski

AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/
Avatar
Mo
c'est cette solution qui marche, à plus
"Aski" a écrit dans le message de news:

Salutatoi Mo,

Tu t'es vachement avancé en affirmant :

Salut,

dans un VB6, j'aimerais comparais une clé à la valeur qu'elle devrait
avoir c'est à dire 00000409 donc j'écris ça :
If strKeyValueName = 409 Then

ou avec des " " ça ne marche non plus pas.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERKeyboard LayoutPreload]
"2"="00000409"
"1"="0000040c"oilà ce qu'est censé contenir la base registre:

Quelqu'un aurait une idée, merci d'avance, Mo



Comme il s'agit d'une chaîne, il faut comparer la chaîne complète, soit
'00000409".

--
Cordialement

Aski

AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/




Avatar
Aski
Salutatoi Mo,

Tu t'es vachement avancé en affirmant :

c'est cette solution qui marche, à plus



Merci du retour.

Cordialement

Aski