[..] Aide concernant le lancement et l'arrêt de fonctions

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
dieweb
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 18 juil. 2008 12:11
Status : Hors ligne

[..] Aide concernant le lancement et l'arrêt de fonctions

#1

Message par dieweb »

Bonjour à tous, nouveau depuis quelques temps sur ce fabuleux logiciel qu'est Autoit.
J'ai quelques questions (je tiens à préciser que j'ai lu les tutos de base fournis par le forum et j'ai fait des recherches, je tiens à le dire avant que l'on me dise que je me suis permis de poster sans même faire attention aux topics d'initiation autoit)

1ère question:
Disons par exemple que j'ai trois fonctions

Code : Tout sélectionner

Func verifier-que-paint-est-lancé
; code contenu dans la fonction
Return 1
EndFunc

Func lancer-le-logiciel-paint
; code contenu dans la fonction
Return 1
EndFunc

Func dessiner-un-cercle
; code contenu dans la fonction
Return 1
EndFunc

$verifier-que-paint-est-lancé = ****
$lancer-le-logiciel-paint = ****
$dessiner-un-cercle = ****
(bon ces 3 fonctions je sais les faire aisément, c'est pourquoi j'ai mis des ***, là n'est pas mon probleme ^^)

J'aimerais avoir 2 possibilités:
-si le logiciel paint est lancé: dessiner un cercle
-si le logiciel paint n'est pas lancé: lancer paint et dessiner un cercle
Logiquement j'utilise donc les fonctions de conditions Si (fonction est vraie) ;action a effectuer, sinon ; action a effectuer.
Est ce que je devrais écrire ceci ? Ai-je le droit d'addionner des actions les unes à la suite des autres ? :shock:

Code : Tout sélectionner

If $verifier-que-paint-est-lancé= 1 Then 
$dessiner-un-cercle

Else 
$lancer-le-logiciel-paint
$dessiner-un-cercle
Deuxieme question:
Disons que j'ai 1 fonction qui fonctionne en boucle, et qu'avec une certaine Condition (If, Else), je souhaite que cette fonction s'arrête: devrai-je mettre tout simplement

Code : Tout sélectionner

Do
$verifier-que-le-logiciel-paint-est-lancé
$verifier-que-internet-explorer-est-lancé
If ($verifier-que-le-logiciel-paint-est-lancé = 1) Then
MsgBox(0,"Note", "Le logiciel est lancé !")
$verifier-que-internet-explorer-est-lancé = 0  [color=#004000];je veux que si paint soit lancé, la verification en boucle d'internet explorer soit arreté ![/color]
Else
MsgBox(0,"Note", "Le logiciel n'est pas lancé !")
EndIf
Until ($verifier-que-le-logiciel-paint-est-lancé = 1)
Tout ceci n'est qu'à titre d'exemple, je cherche seulement à m'améliorer.

Merci de vos conseils.
Modifié en dernier par Tlem le ven. 30 déc. 2011 21:50, modifié 1 fois.
Raison : Ajout balise de Code
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Aide concernant le lancement et l'arrêt de fonctions

#2

Message par mikell »

Salut !
Tu devrais prendre de suite l'habitude de parler le plus possible en code :mrgreen:
Pour tes questions :

Code : Tout sélectionner

Global $paint   ;<= on initialise la variable
Func _cercle()
If Not ProcessExists("mspaint.exe") Then   ; <= le test
    Run("mspaint.exe") 
EndIf
$paint = 1   ;<= témoigne que paint existe
dessiner-un-cercle  ;<= action
EndFunc
on teste juste que paint n'est pas lancé, si non => on le lance

Code : Tout sélectionner

While ProcessExists("mspaint.exe")<>0
.....
Wend
La boucle tourne tant que paint est lancé
Mais comme il y a toujours plusieurs manières de faire la même chose, le choix va donc dépendre du reste du script
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
dieweb
Niveau 1
Niveau 1
Messages : 5
Enregistré le : ven. 18 juil. 2008 12:11
Status : Hors ligne

Re: [..]Aide concernant le lancement et l'arrêt de fonctions

#3

Message par dieweb »

Merci bcp de ta réponse simple et rapide !!! 8) . Je vais m'entraîner maintenant ! :mrgreen:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide concernant le lancement et l'arrêt de fonction

#4

Message par Tlem »

Je suppose que la création du cercle n'est qu'une partie de ce qui peut être fait. Perso, je séparerais le test de l'exécution des dessins.

Code : Tout sélectionner

If VerifieEtLance() Then
    DessineUnCercle()
Else
    MsgBox(16, 'Erreur', 'Paint ne peut être lancé')
EndIf

Func VerifieEtLance()
    Local $PID = 0
    If Not ProcessExists("mspaint.exe") Then
        $PID = Run("mspaint.exe")
        If $PID <> 0 Then
            Return 1
        Else
            Return 0
        EndIf
    Else
        Return 1
    EndIf
EndFunc

Func DessineUnCercle()
    ; code contenu dans la fonction
    Return 1
EndFunc
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é".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide concernant le lancement et l'arrêt de fonction

#5

Message par mikell »

Evidemment, mais ça c'est l'étape suivante...
Apparemment c'est un débutant, vous allez pas commencer à nous le stresser Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide concernant le lancement et l'arrêt de fonction

#6

Message par Tlem »

Heuu débutant certes, mais :
dieweb a écrit :je tiens à préciser que j'ai lu les tutos de base fournis par le forum et j'ai fait des recherches
...
...
bon ces 3 fonctions je sais les faire aisément, c'est pourquoi j'ai mis des ***, là n'est pas mon probleme ^^
...
...
Merci de vos conseils.
Moi, quand on me dit les choses comme ça, je crois la personne sur parole ! :mrgreen:
Et puis, j'ai pas fait un truc de malade. Tout est logique. ^^
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é".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide concernant le lancement et l'arrêt de fonction

#7

Message par mikell »

Bien sûr c'est logique... mais à qqun qui s'interroge sur la manière de poser une condition, on commence pas à y balancer une louche de fonctions pleines de Return, quoi :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide concernant le lancement et l'arrêt de fonction

#8

Message par Tlem »

Bah, je compte sur vous pour lui sortir la tête de l'eau si il n'y arrive pas.
Mais je doute que ce soit nécessaire. :mrgreen:
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