[..] Aide pour une boucle !

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jujulips
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 11 mars 2011 21:20
Status : Hors ligne

[..] Aide pour une boucle !

#1

Message par jujulips »

Hello,

avec un peu d'aide sur le forum j'ai réussi à pondre ceci :

Code : Tout sélectionner

; DECLARATIONS DES VARIABLES

$NomMonLecteurUSB = "JULIEN"
$var = DriveGetDrive( "all" )
$Lecteur = ""


;BOUCLE TANT QUE LE LECTEUR N EST PAS BRANCHE


    For $i = 1 to $var[0]
        _testmonlecteur()
    Next


; FONCTION DE DETECTION DE LA CLE ISB
Func _testmonlecteur()
    $Lecteur = $var[$i]
    $nom = StringLower(DriveGetLabel( $Lecteur ))
    if $nom = $NomMonLecteurUSB Then

;LA ON DECOUVRE LA CLE USB ET LE TRAVAIL COMMENCE !!!
        msgbox ("","Identification de mon lecteur"," C'est bien mon disque ou clef USB : " & $nom & @crlf & "                     trouvé sur le Lecteur " & $var[$i])
     Else
       msgbox ("","Identification de mon lecteur"," C'est pas mon disque ou clef USB")
    EndIf
EndFunc
 
Une fois le script lancé, il m'indique s'il a trouvé ma clé usb.
J'aimerai que ce script continue a chercher tant qu'il ne l'a pas trouvé.

Pouvez vous me donner un petit coup de pouce ?

** Si jamais vous avez une solution pour pouvoir effectuer une action quand la clé est débranchée ca serait le MUST

Merci d'avance !
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [...] Aide pour une boucle !

#2

Message par Jerome »

Coucou,


Esssaye quelque chose comme ça :
► Afficher le texte



Jérôme.
jujulips
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 11 mars 2011 21:20
Status : Hors ligne

Re: [...] Aide pour une boucle !

#3

Message par jujulips »

Hey j'avais essayé mais ca ne marchait pas ... Je viens de trouver pourquoi :

Code : Tout sélectionner

; DECLARATIONS DES VARIABLES

$NomMonLecteurUSB = "JULIEN"
;$var = DriveGetDrive( "all" )
$Lecteur = ""


;BOUCLE TANT QUE LE LECTEUR N EST PAS BRANCHE

while 1 ; boucle infinie
    $var = DriveGetDrive( "all" )
    For $i = 1 to $var[0]
        _testmonlecteur()
    Next
    Sleep(100)
Wend


; FONCTION DE DETECTION DE LA CLE ISB
Func _testmonlecteur()
    $Lecteur = $var[$i]
    $nom = StringLower(DriveGetLabel( $Lecteur ))
    if $nom = $NomMonLecteurUSB Then

;LA ON DECOUVRE LA CLE USB ET LE TRAVAIL COMMENCE !!!
        msgbox ("","Identification de mon lecteur"," C'est bien mon disque ou clef USB : " & $nom & @crlf & "                     trouvé sur le Lecteur " & $var[$i])
Exit ; pour arreter le code si la clée est trouvé
    ;Else
     ;  msgbox ("","Identification de mon lecteur"," C'est pas mon disque ou clef USB")

    EndIf
EndFunc
En fait si on ne réaffectait pas la variable pendant la boucle while il ne pouvait pas mettre à jour le DriveGetDrive( "all" )

Merci !!

Et tu aurais une idée pour effectuer une autre action au débranchement de la clé ?
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [...] Aide pour une boucle !

#4

Message par Jerome »

Coucou,


Effectivement j'avais oublié pour réinitialiser la variable à chaque début de boucle.

Sinon pour la déconnexion, utilise la meme chose mais fait en sorte de dire lorsque la variable clé "JULIEN" ne fait plus partit des lecteurs présents.



Jérôme
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Aide pour une boucle !

#5

Message par ZDS »

Bonjour,

J'ai modifié un peu ton script, pour qu'il soit un peu plus facile à comprendre. Essaye d'utiliser le plus possible les passages de paramètres, et de séparer les différents algos :) Tkt, ça s'apprend au fil du temps.

Bref, voila un code qui fonctionne, dis moi ce que tu en penses :
► Afficher le texteDétecteur de clef USB
A bientôt !

EDIT: Petite erreur de votre part à tous les deux : Vous essayez de comparer StringLower($blablabla) avec "JULIEN" en majuscule... ^^

EDIT: J'ai modifié pour détecter la connexion et la déconnexion du lecteur. Appuye sur F4 pour stopper le script.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
jujulips
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 11 mars 2011 21:20
Status : Hors ligne

Re: [...] Aide pour une boucle !

#6

Message par jujulips »

Super ! Merci beaucoup =) Je ne vois comment je peux lui indiquer de faire une autre action en cas de déconnexion de la clé !

Je peux te demander un dernier coup de pouce ?
ZDS a écrit :Bonjour,

J'ai modifié un peu ton script, pour qu'il soit un peu plus facile à comprendre. Essaye d'utiliser le plus possible les passages de paramètres, et de séparer les différents algos :) Tkt, ça s'apprend au fil du temps.

Bref, voila un code qui fonctionne, dis moi ce que tu en penses :
► Afficher le texteDétecteur de clef USB
A bientôt !

EDIT: Petite erreur de votre part à tous les deux : Vous essayez de comparer StringLower($blablabla) avec "JULIEN" en majuscule... ^^

EDIT: J'ai modifié pour détecter la connexion et la déconnexion du lecteur. Appuye sur F4 pour stopper le script.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Aide pour une boucle !

#7

Message par ZDS »

Dans le code que je t'ai filé, tu vois bien les deux MsgBox qui sont appellées quand tu connectes, et quand tu déconnectes le lecteur, non? Ajoute tes actions là où elles sont (la ligne avant ou après, ou remplace la ligne de MsgBox si tu en as marre).
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
jujulips
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 11 mars 2011 21:20
Status : Hors ligne

Re: [...] Aide pour une boucle !

#8

Message par jujulips »

ZDS a écrit :Dans le code que je t'ai filé, tu vois bien les deux MsgBox qui sont appellées quand tu connectes, et quand tu déconnectes le lecteur, non? Ajoute tes actions là où elles sont (la ligne avant ou après, ou remplace la ligne de MsgBox si tu en as marre).
Oui mais j'aimerai effectué une action lors du débranchment, et pas a chaque fois que l'USB n'est pas branché !

Je ne suis pas sur que ce que je demande soit très clair :s
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Aide pour une boucle !

#9

Message par ZDS »

J'avais bien compris ta question, et je te redis la même chose : Les msgbox de mon script ne se lancent que quand le lecteur se connecte ou se déconnecte (au moment de la connexion/déconnexion uniquement), pas quand elle est connectée ou déconnectée (à chaque instant).

J'ai bien fait la distinction entre "connecter/déconnecter" et "être connecté/déconnecté".
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
jujulips
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 11 mars 2011 21:20
Status : Hors ligne

Re: [...] Aide pour une boucle !

#10

Message par jujulips »

oUAHH ! Désolé je suis vraiment fatigué ! Le script est presque parfait, car j'aimerai qu'il tourne en continue, c'est à dire que si je retire mon lecteur USB qu'il recommence à scanné un branchement ...

ZDS a écrit :J'avais bien compris ta question, et je te redis la même chose : Les msgbox de mon script ne se lancent que quand le lecteur se connecte ou se déconnecte (au moment de la connexion/déconnexion uniquement), pas quand elle est connectée ou déconnectée (à chaque instant).

J'ai bien fait la distinction entre "connecter/déconnecter" et "être connecté/déconnecté".
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Aide pour une boucle !

#11

Message par ZDS »

Encore une fois, c'est déjà le cas... Tant que tu n'appuies pas sur "F4", le script ne s’arrêtera pas. Il continuera à voir les connexion>déconnexion>connexion>déconnexion>connexion>etc...
ZDS a écrit :EDIT: J'ai modifié pour détecter la connexion et la déconnexion du lecteur. Appuye sur F4 pour stopper le script.
Si la touche F4 ne te plait pas, tu peux la changer par une combinaison de ton choix, regarde à la ligne du HotKeySet pour la modifier, et dans l'aide de la fonction Send pour savoir quoi y mettre.

Comme tu dis tu es vraiment fatigué, car en testant, tu aurais vu tout ça ^^

Bye ! (je pense que tu peux passer le sujet en [R]ésolu)
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
jujulips
Niveau 2
Niveau 2
Messages : 22
Enregistré le : ven. 11 mars 2011 21:20
Status : Hors ligne

Re: [...] Aide pour une boucle !

#12

Message par jujulips »

Bon je vais aller me coucher ! --->

Merci 1000 fois pour ton aide ! Tu me sors une épine du pied !
ZDS a écrit :Encore une fois, c'est déjà le cas... Tant que tu n'appuies pas sur "F4", le script ne s’arrêtera pas. Il continuera à voir les connexion>déconnexion>connexion>déconnexion>connexion>etc...
ZDS a écrit :EDIT: J'ai modifié pour détecter la connexion et la déconnexion du lecteur. Appuye sur F4 pour stopper le script.
Si la touche F4 ne te plait pas, tu peux la changer par une combinaison de ton choix, regarde à la ligne du HotKeySet pour la modifier, et dans l'aide de la fonction Send pour savoir quoi y mettre.

Comme tu dis tu es vraiment fatigué, car en testant, tu aurais vu tout ça ^^

Bye ! (je pense que tu peux passer le sujet en [R]ésolu)
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [...] Aide pour une boucle !

#13

Message par matwachich »

Sinon, il y'a aussi ça ou mieux, ça
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Répondre