Page 1 sur 1

[R] Tableau et RegWrite

Posté : dim. 15 juil. 2012 10:19
par Saachaa
Bonjour à tous ça faisait longtemps :)

Incompréhension, pourquoi cela ne fonctionne pas ?

Code : Tout sélectionner

Dim $opti_reg[2] = _
        ['"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management", "IoPageLockLimit", "REG_DWORD", "003F0000"', _ 
        '"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem", "ContigFileAllocSize", "REG_DWORD", "512"']


    For $a = 0 To UBound ($opti_reg) -1
        $regwrite = RegWrite($opti_reg[$a])
        If $regwrite = 0 Then MsgBox(64, $regwrite, "RegWrite(" & $opti_reg[$a] & ")")
    Next
 
Dans la messagebox apparaît ce que je souhaite... alors pourquoi cela ne passe pas ? Je n'ai que des erreurs...

Merci à vous !

Re: [..] Tableau et RegWrite

Posté : dim. 15 juil. 2012 10:33
par Tlem
Par ce que vous ne respectez pas le format du RegWrite().
Regardez comment doit être paramétré la commande : http://www.autoitscript.fr/autoit3/docs ... gWrite.htm

Il y a 4 paramètres et non un seul. :roll:

Re: [..] Tableau et RegWrite

Posté : dim. 15 juil. 2012 10:48
par cortx
Le fait de passer 1 seul paramètre qui en contient 4, ca ne fonctionne pas.
Ton paramètre 1 est égal à "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management", "IoPageLockLimit", "REG_DWORD", "003F0000" et tes paramètres 2,3,4 à rien.
Ca marche bien dans la MSGBOX car elle accepte de t'afficher 1 paramètre avec les virgules que toi tu interprete comme la séparation du regwrite mais il n'en est rien.

Par contre, peux tu expliquer ce que tu cherche à faire ?
Pourquoi passer dans un tableau alors que tu as déjà toutes les valeurs pour le regwrite, il te suffirait juste de l'écrire en dur.
Ca m'interesse car j'ai aussi du toucher à des valeur registre et le seul moyen que j'ai trouvé c'est de tout mettre à la main en dur.

Re: [..] Tableau et RegWrite

Posté : dim. 15 juil. 2012 10:53
par Saachaa
Bonjour,

Ok pour les paramètres, mais je cherche aussi à simplifier l'écriture... d'où le tableau !

Comment puis-je faire ?

Re: [..] Tableau et RegWrite

Posté : dim. 15 juil. 2012 11:08
par Tlem

Code : Tout sélectionner

Dim $opti_reg[2][4] = _
        [["HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management", "IoPageLockLimit", "REG_DWORD", "003F0000"], _
        ["HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem", "ContigFileAllocSize", "REG_DWORD", "512"]]

    For $a = 0 To UBound ($opti_reg) -1
        $regwrite = RegWrite($opti_reg[$a])
        If $regwrite = 0 Then MsgBox(64, $regwrite, "RegWrite(" & $opti_reg[$a][0] & ", " & $opti_reg[$a][1] & ", " & $opti_reg[$a][2] & ", " & $opti_reg[$a][3] & ")")
    Next

Re: [..] Tableau et RegWrite

Posté : dim. 15 juil. 2012 11:14
par cortx
Tu dois pouvoir utiliser ton tableau à condition de fragmenter tes lignes en utilisant StringSplit par exemple.
http://www.autoitscript.com/autoit3/doc ... gSplit.htm

Code : Tout sélectionner

#include <Array.au3>
$valeur_registre = StringSplit("'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management' , 'test1', 'REG_DWORD', '003F0000'", ",")
_ArrayDisplay($$valeur_registre, "verification")
 
****
Edit:
Tlem, c'est de base dans la création de tableau qu'il prend les virgule comme séparateur ?
Si j'ai des ; ou des - qui me serve de séparateur, je peux utiliser la même méthode ?

Re: [..] Tableau et RegWrite

Posté : dim. 15 juil. 2012 11:16
par Saachaa
Merci Thierry au Top !!