[..] Exécution de plusieurs partie de script parallèlement

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
guigui54
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 29 sept. 2013 21:29
Status : Hors ligne

[..] Exécution de plusieurs partie de script parallèlement

#1

Message par guigui54 »

Bonjour à tous !

J'ai décidé après avoir laissé l'Autoit un peu de coté de m'y remettre pour faire un me faire un nouveau programme mais je me suis confronté à un problème que je ne sait plus résoudre :(
J'ai cherché sur internet, les différentes aides du site et d'autres mais sans succès peut être par le fait que je ne sais pas bien formuler ma recherche ou bien je ne sais quoi mais bon j'en suis arrivé à demander l'aide d'autres.

Mon programme est organisé en plusieurs parties dont certaines avec des GUI. Je voudrais donc savoir si quelqu'un savait comment même si on fait s'afficher une msgbox ou une GUI, faire en sorte que cela ne bloque pas le déroulement du script et que celui-ci continue son fonctionnement normal même si je ne quitte pas la msgbox par exemple. Cela m'aiderait vraiment car la GUI que je lance au départ doit rester jusqu’à la fin de mon script et actuellement après l'avoir lancée le script ne fait plus rien donc c'est assez gênant.

Merci de votre lecture et de votre aide
Modifié en dernier par guigui54 le mer. 22 janv. 2014 19:34, modifié 1 fois.
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: Exécution de plusieurs partie de script parallèlement

#2

Message par Hugues »

Bonjour,

Il ne faut pas utiliser une MsgBox car c'est une fonction bloquante (attente intervention de l'utilisateur) si tu veux que ton script ne soit pas stoppé.

Tu peux utiliser le SplashTextOn() si tu veux.

Essaie ça, c'est peut-être pas ce que tu recherches...
► Afficher le texte
PS: Rajoutes [..] dans ton entête de sujet -> [..] Exécution de plusieurs partie de script parallèlement

:mrgreen:
guigui54
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 29 sept. 2013 21:29
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#3

Message par guigui54 »

Je connaissais déjà la fonction SplashTextOn merci quand même mais elle ne convient pas à l'utilisation que je voudrais donner, j'aurai du mettre un exemple pour étayer mes dires, je me suis mal débrouillé. J'ai donc bricolé vite fait un exemple dans lequel d'une part après l'affichage de la GUI (ici fait avec koda pour aller vite) le script ne s'exécutera pas (ici je n'ai pas mis de lien entre la GUI et le script mais dans le mien il y en a un car j'ai mis sur la GUI un compteur pour le temps) et même si je l'exécute indépendamment dès que le compteur tombe à 99, une msgbox apparaît mais tant que je ne l'aie pas quittée, le compteur ne défile plus alors que je le voudrais.
► Afficher le texte
Merci beaucoup de ta réponse très rapide
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#4

Message par Hugues »

Sans être indiscret, il consiste en quoi ton programme pour que je puisse mieux comprendre stp? :mrgreen:

Tu veux récupérer le jour de la semaine, mais pour en faire quel traitement?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#5

Message par Tlem »

Bonsoir guigui54.
Lorsque vous affichez une GUI, celle-ci restera affichée tant que votre script ne se fermera pas et ça c'est le rôle de la boucle infinie While/Wend.

Si vous écrivez du code (en dehors d'une fonction) après cette boucle, il est évident que celui-ci ne s'exécutera pas. Vous devez faire en sorte que le code qui doit être exécuté, le soit avant la boucle, ou dans la boucle. Là comme ca c'est assez difficile de vous aider plus puisque nous ne connaissons rien de votre script. ^^

Concernant la MsgBox, celle-ci est effectivement bloquante si elle est appelé tel quel. Pour faire en sorte quelle ne le soit pas, il faut "l'appeler de l'extérieur" (en créant un nouveau processus), mais il n'y a vraiment aucun intérêt d'afficher une MsgBox ci c'est pour passer outre. Dans ce cas faites des fenêtres filles (mais il faudra une gestion béton des événements GUI).
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: [..] Exécution de plusieurs partie de script parallèleme

#6

Message par mikell »

Voilà un exemple de msgbox perso non-bloquante, mais attention s'il y a lancement de nouvelles fonctions elles seront bloquantes pour les autres fonctions en cours
► Afficher le texte
" 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
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#7

Message par jchd »

On peut aussi passer en mode OnEvent pour ne pas bloquer le programme principal, mais bien sûr toute MsgBox est proscrite.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
guigui54
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 29 sept. 2013 21:29
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#8

Message par guigui54 »

J'ai vu Hugues que tu vouais connaître l'utilité de mon script, ça ne me dérange pas, je vais vous l'expliquer: je souhaite pouvoir en quelque sorte organiser mon temps suivant un schéma répétitif en fonction du jour de la semaine qu'on est. J'ai pour cela mis une GUI avec un compteur de temps décroissant avec une durée de départ qui dépend de ce même jour qu'il est et je souhaiterai qu'au bout de certaines durées précises une boite de dialogue (je pensais mettre une msgbox) s'affiche pour me dire par exemple "cela fait 30 minutes que tu fais ça ...." mais dans le cas où je ne verrai pas la boite de dialogue je ne voudrait pas que le chronomètre s'arrête, de plus je ne veut pas à devoir lancer manuellement le compte à rebours, c'est pour cela que je souhaite le lancer dès le démarrage de l'ordi (en le plaçant dans le dossier démarrer).
Donc mes deux problèmes sont que le compteur reste à la durée maximum après lancement du programme donc c'est pas super et et même si j'enlève la GUI après que la première msgbox s'allume, le compteur s’arrête.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#9

Message par mikell »

Si tout ce que tu veux c'est une boite de dialogue d'alerte qui ne bloque pas le reste du script, une petite adaptation de mon code précédent fera l'affaire ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
guigui54
Niveau 1
Niveau 1
Messages : 10
Enregistré le : dim. 29 sept. 2013 21:29
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#10

Message par guigui54 »

Merci beaucoup mikell pour ton aide j'ai un peu modifié ton code pour l'adapter à mon programme et ca marche, il me manque plus qu'a trouver comment afficher dès le départ ma première GUI avec le compteur décroissant et qu'elle reste en place jusqu’à la fin du déroulement du programme et ce sans bloquer le déroulement de ce dernier.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Exécution de plusieurs partie de script parallèleme

#11

Message par sksbir »

Bonjour
Voici quelque chose qui pourrait t'aider : http://www.autoitscript.fr/forum/viewto ... f=6&t=7270
Répondre