Page 1 sur 1
[R] Compter les valeurs dans une clé de registre.
Posté : jeu. 18 mars 2010 13:39
par fred39
Bonjour,
Je voudrais réaliser un traitement pour chaque valeur d'une clé de registre.
j'utilise la fonction regenumval en m'inspirant de l'exemple de l'aide:
Code : Tout sélectionner
For $i = 1 to 100
$var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\Autoit", $i)
if @error <> 0 Then ExitLoop
MsgBox(4096, "Value Name #" & $i & " under in AutoIt3 key", $var)
next
Seulement, j'aimerais être sur de traiter chaque valeur.
Il peut y en avoir beaucoup plus de 100.
Comment puis-je les compter avant ma boucle?
Merci
Re: [..]Compter les valeurs dans une clé de registre.
Posté : jeu. 18 mars 2010 14:43
par Davyly
Bonjour,
Soit en augmentant le nombre de la boucle. Exemple :
Soit en transformant tout simplement ton "
For" en un "
While". Exemple :
Code : Tout sélectionner
Dim $i = 1
While 1
$var = RegEnumKey("HKEY_CLASSES_ROOT", $i)
If @error <> 0 then ExitLoop
$i += 1
WEnd
MsgBox(0, "Information", "Le nombre de sous clés est de : " & $i - 1)
Bon après midi.
Re: [R]Compter les valeurs dans une clé de registre.
Posté : jeu. 18 mars 2010 16:10
par fred39
C'est juste ce qu'il me fallait
while1
Merci Davyly.
Re: [R] Compter les valeurs dans une clé de registre.
Posté : lun. 22 mars 2010 20:54
par GaRydelaMer
Bonjour
une autre idée que j'utilise dans une fonction.
Elle recherche la liste driver ODBC dans le registre, filtre le résultat pour virer les doublons et me retourne un tableau. LA 1ere partie va t'interresser.
Code : Tout sélectionner
Func _ODBC_GetDrivers()
Local $i = 0, $Drivers = "", $Value = ""
While @Error = 0
$i += 1
$Value = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers", $i)
If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers", $Value) = "Installed" Then $Drivers &= $Value & "|"
WEnd
Local $a = StringSplit($Drivers, "|", 2)
For $i = UBound($a) - 1 To 0 Step -1
Switch $a[$i]
Case "", "Driver da Microsoft para arquivos texto (*.txt; *.csv)", _
"Driver do Microsoft Access (*.mdb)", _
"Driver do Microsoft dBase (*.dbf)", _
"Driver do Microsoft Excel(*.xls)", _
"Driver do Microsoft Paradox (*.db )", _
"Driver para o Microsoft Visual FoxPro", _
"Microsoft Access Driver (*.mdb)", _
"Microsoft Access-Treiber (*.mdb)", _
"Microsoft dBase-Treiber (*.dbf)", _
"Microsoft Excel-Treiber (*.xls)", _
"Microsoft ODBC pour Oracle", _
"Microsoft Paradox-Treiber (*.db )", _
"Microsoft Text-Treiber (*.txt; *.csv)", _
"Microsoft Visual FoxPro-Treiber";, _
_ArrayDelete($a, $i)
EndSwitch
Next
_ArraySort($a)
Return $a
EndFunc ;==>_ODBC_GetDrivers