[R] Problème avec variable

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
mano78170
Niveau 3
Niveau 3
Messages : 43
Enregistré le : dim. 10 oct. 2010 14:28
Localisation : Entre chez moi et la salle info du lycée
Status : Hors ligne

[R] Problème avec variable

#1

Message par mano78170 »

Bonjour ! :)

Voici le problème :
J'attribut une variable avec un GUICtrlRead (sur un input avec style $ES_PASSWORD)

Je test si la variable est vide:
si elle est vide le script recommence

MAIS au moment ou je lis pour la 2eme fois la variable ELLE N'A PAS CHANGEE alors que j'ai modifier le texte !
► Afficher le texte
Modifié en dernier par mano78170 le lun. 01 nov. 2010 20:42, modifié 1 fois.
Il existe plusieurs explications à ce que l'on appelle le sens de la vie:
  • H2G2 nous dit 42
  • Les Monthy Python font des bulles
  • Tyler Durden nous parle de savonnette à la soude...
A mon humble avis, chacun le sien !
[blink]NYA ![/blink] >^.^<
alex1205
Niveau 5
Niveau 5
Messages : 123
Enregistré le : dim. 07 mars 2010 13:59
Status : Hors ligne

Re: [..] Problème avec variable

#2

Message par alex1205 »

Voilà, moi, je dirai de rajouter Dim avant le GUICtrlRead($PasswordInput)
Peut-être que ça va marcher, sinon, donne nous le script entier !
Le "je ne sais pas" et "j'y arrive pas" n'existe dans mon vocabulaire. Toutes Questions ont une réponse, cherchez et vous la trouverai. Utilisez Recherche du forum et vous verrez. Si [blink]Aucune[/blink] question ne tient à votre problème, créez un sujet.
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème avec variable

#3

Message par bloodwolff »

► Afficher le texte
Enleve le while en bleu et place le où celui en rouge, tu n'as pas besoin de tous recréer les control si il existe déjà sa en crée un deuxième au même endroit ...
Essaie comme sa et dis ce que sa donne
Modifié en dernier par bloodwolff le lun. 01 nov. 2010 19:28, modifié 3 fois.
Compte skype : bloodwolfff
Avatar du membre
mano78170
Niveau 3
Niveau 3
Messages : 43
Enregistré le : dim. 10 oct. 2010 14:28
Localisation : Entre chez moi et la salle info du lycée
Status : Hors ligne

Re: [..] Problème avec variable

#4

Message par mano78170 »

J'essaye avec Dim
Il existe plusieurs explications à ce que l'on appelle le sens de la vie:
  • H2G2 nous dit 42
  • Les Monthy Python font des bulles
  • Tyler Durden nous parle de savonnette à la soude...
A mon humble avis, chacun le sien !
[blink]NYA ![/blink] >^.^<
Avatar du membre
mano78170
Niveau 3
Niveau 3
Messages : 43
Enregistré le : dim. 10 oct. 2010 14:28
Localisation : Entre chez moi et la salle info du lycée
Status : Hors ligne

Re: [..] Problème avec variable

#5

Message par mano78170 »

Ca marche pas avec dim
J'ai rajouter la boucle seulement a cause de ce problème pour mettre une MsgBox afin de vérifier la valeur de $Password
Il existe plusieurs explications à ce que l'on appelle le sens de la vie:
  • H2G2 nous dit 42
  • Les Monthy Python font des bulles
  • Tyler Durden nous parle de savonnette à la soude...
A mon humble avis, chacun le sien !
[blink]NYA ![/blink] >^.^<
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème avec variable

#6

Message par bloodwolff »

bloodwolff a écrit :
► Afficher le texte
Enleve le while en bleu et place le où celui en rouge, tu n'as pas besoin de tous recréer les control si il existe déjà sa en crée un deuxième au même endroit ...
Essaie comme sa et dis ce que sa donne
Tu as testé le dim et sa tu l'as testé ?
Compte skype : bloodwolfff
Avatar du membre
mano78170
Niveau 3
Niveau 3
Messages : 43
Enregistré le : dim. 10 oct. 2010 14:28
Localisation : Entre chez moi et la salle info du lycée
Status : Hors ligne

Re: [..] Problème avec variable

#7

Message par mano78170 »

Ca marche pas non plus.... :(

Voici le code complet

Code : Tout sélectionner

#NoTrayIcon
#include <GUIConstants.au3>

$FirstUse = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\MI Software\USB Protect\Parameters", "FirstUse")
If @error <> 0 Then
    MsgBox(16, "USB Protect - Première utilisation", "Erreur de lecture" & @CRLF & "Vérifier vos droits d'accès au registre")
    Exit (2)
EndIf

If $FirstUse = 0 Then
    Exit (1)
EndIf

$Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\MI Software\USB Protect\CurrentVersion", "Path")
If @error <> 0 Then
    MsgBox(16, "USB Protect - Première utilisation", "Erreur de lecture" & @CRLF & "Vérifier vos droits d'accès au registre")
    Exit (2)
EndIf


$Gui = GUICreate("Assistant première utilisation - USB Protect", 450, 300)
$EtapeLabel = GUICtrlCreateLabel("Bienvenue dans l'assistant première utilisation de USB Protect !", 10, 10, 430, 50)
GUICtrlSetFont($EtapeLabel, 15, 500)
$DescriptionLabel = GUICtrlCreateLabel("Cet assistant va vous guider dans les première étapes de configuration de USB Protect", 10, 80, 430, 35)
GUICtrlSetFont($DescriptionLabel, 10)
$Label = GUICtrlCreateLabel("Cet assistant est obligatoire car il permet à USB Protect d'initialiser ses paramètres et à vous de définir un mot de passe " & _
        "de sécurité (en cas de perte de la clé USB)", 10, 130, 430, 40)
$But_Suiv = GUICtrlCreateButton("Suivant", 220, 260, 100, 30)
GUICtrlSetFont($But_Suiv, 11, 500)
$But_Annul = GUICtrlCreateButton("Annuler", 340, 260, 100, 30)
GUICtrlSetFont($But_Annul, 11, 500)
GUISetState()


Do
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Or $msg = $But_Annul Then Exit (3)
Until $msg = $But_Suiv

Ecran_1()

Func Ecran_1()
    GUICtrlSetPos($EtapeLabel, 10, 10, 430, 30)
    GUICtrlSetData($EtapeLabel, "Etape 1: Le mot de passe (26 caract. Max.)")
    GUICtrlSetPos($DescriptionLabel, 10, 60, 430, 45)
    GUICtrlSetData($DescriptionLabel, "Le mot de passe vous permet de changer les paramètres important de USB Protect et (si vous activer l'option)," & _
            "de déverrouiller votre ordinateur en absence de la clé USB")
    GUICtrlDelete($Label)

    GUICtrlCreateGroup("Mot de passe", 10, 125, 430, 115)
    $PasswordInput = GUICtrlCreateInput("", 20, 150, 410, 30, 0x0020)
    GUICtrlSetFont($PasswordInput, 18)

    GUICtrlCreateCheckbox("Activer le déverrouillage par mot de passe",20,190,410,30)

    Do
        $msg = GUIGetMsg()
        If $msg = $GUI_EVENT_CLOSE Or $msg = $But_Annul Then Exit (3)
    Until $msg = $But_Suiv

    $Password = GUICtrlRead($PasswordInput)
    Global $TmpFile = TempFile($Path & "\Cache", 30)
    IniWrite($TmpFile, "FirstUse", "Password", $Password)
    Ecran_2()
EndFunc   ;==>Ecran_1

Func Ecran_2()
    GUICtrlSetPos($EtapeLabel, 10, 10, 430, 30)
    GUICtrlSetData($EtapeLabel, "Etape 2: ")
    GUICtrlSetPos($DescriptionLabel, 10, 60, 430, 45)
    GUICtrlSetData($DescriptionLabel, "Le mot de passe")
    GUICtrlDelete($Label)

    Do
        $msg = GUIGetMsg()
        If $msg = $GUI_EVENT_CLOSE Or $msg = $But_Annul Then Exit (3)
    Until $msg = $But_Suiv

EndFunc   ;==>Ecran_2

Func TempFile($s_DirectoryName = @TempDir, $i_RandomLength = 7)
    If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @TempDir
    If Not FileExists($s_DirectoryName) Then $s_DirectoryName = @ScriptDir
    If StringRight($s_DirectoryName, 1) <> "\" Then $s_DirectoryName = $s_DirectoryName & "\"
    Local $s_TempName
    Local $i_TMPTYPE = 0
    Do
        $s_TempName = ""
        While StringLen($s_TempName) < $i_RandomLength
            If $i_TMPTYPE Then
                $s_TempName = $s_TempName & Chr(Random(65, 90, 1))
                $i_TMPTYPE = Random(0, 1, 1)
            Else
                $s_TempName = $s_TempName & Chr(Random(48, 57, 1))
                $i_TMPTYPE = Random(0, 1, 1)
            EndIf
        WEnd
        $s_TempName = $s_DirectoryName & "{" & $s_TempName & "}"
    Until Not FileExists($s_TempName)

    Return $s_TempName
EndFunc   ;==>TempFile
Il existe plusieurs explications à ce que l'on appelle le sens de la vie:
  • H2G2 nous dit 42
  • Les Monthy Python font des bulles
  • Tyler Durden nous parle de savonnette à la soude...
A mon humble avis, chacun le sien !
[blink]NYA ![/blink] >^.^<
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème avec variable

#8

Message par bloodwolff »

Il me met un erreur de registre au départ même avec les droit d'Admin
Ps: Jai windows 7 integrale 64 bits si sa fais une différence

En enlevant la parti registre cela fonctionne et avec l'ajout d'une boucle while le code me donne bien ce que j'écris même après plusieurs essais
► Afficher le texte
Modifié en dernier par bloodwolff le lun. 01 nov. 2010 20:10, modifié 2 fois.
Compte skype : bloodwolfff
Avatar du membre
mano78170
Niveau 3
Niveau 3
Messages : 43
Enregistré le : dim. 10 oct. 2010 14:28
Localisation : Entre chez moi et la salle info du lycée
Status : Hors ligne

Re: [..] Problème avec variable

#9

Message par mano78170 »

Faut le compiler en x64 sinon le registre est inacessible
Il existe plusieurs explications à ce que l'on appelle le sens de la vie:
  • H2G2 nous dit 42
  • Les Monthy Python font des bulles
  • Tyler Durden nous parle de savonnette à la soude...
A mon humble avis, chacun le sien !
[blink]NYA ![/blink] >^.^<
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] Problème avec variable

#10

Message par bloodwolff »

mano78170 a écrit :Faut le compiler en x64 sinon le registre est inacessible
Ok merci je prend en note.
Ps:Désolé pour les éditage normalement les membres ne sont pas connecté quand moi je le suis :S
Compte skype : bloodwolfff
Avatar du membre
mano78170
Niveau 3
Niveau 3
Messages : 43
Enregistré le : dim. 10 oct. 2010 14:28
Localisation : Entre chez moi et la salle info du lycée
Status : Hors ligne

Re: [..] Problème avec variable

#11

Message par mano78170 »

AH :shock:
Il faut aussi créer les valeurs suivante sinon RegRead renvoi @error et le script plante

HKEY_LOCAL_MACHINE\SOFTWARE\MI Software\USB Protect\Parameters :FirstUse
Valeur DWORD données: 1

HKEY_LOCAL_MACHINE\SOFTWARE\MI Software\USB Protect\CurrentVersion: Path
Valeur Chaine (REG_SZ) Données: chemin vers un dossier contenant un dossier "Cache"
pour stocker le ini temporaire (ligne 84 du script)
Il existe plusieurs explications à ce que l'on appelle le sens de la vie:
  • H2G2 nous dit 42
  • Les Monthy Python font des bulles
  • Tyler Durden nous parle de savonnette à la soude...
A mon humble avis, chacun le sien !
[blink]NYA ![/blink] >^.^<
Avatar du membre
mano78170
Niveau 3
Niveau 3
Messages : 43
Enregistré le : dim. 10 oct. 2010 14:28
Localisation : Entre chez moi et la salle info du lycée
Status : Hors ligne

Re: [..] Problème avec variable

#12

Message par mano78170 »

YEEEEEEEEEEEEESSSSSS !!!! 8)
C'est résolu:
► Afficher le texte
C'était tout bête !!!!
Il existe plusieurs explications à ce que l'on appelle le sens de la vie:
  • H2G2 nous dit 42
  • Les Monthy Python font des bulles
  • Tyler Durden nous parle de savonnette à la soude...
A mon humble avis, chacun le sien !
[blink]NYA ![/blink] >^.^<
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème avec variable

#13

Message par Tlem »

N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre