Bonjour à tous,
J'ai créé un petit script qui se compose de deux fichiers au3. Un contient la définition de ma GUI, l'autre les actions à réaliser (c'est important que ça reste en deux fichiers).
Le Script est censé écrire un texte donné (a entrer dans la case input) dans un fichier Bloc-notes standard qu'il faut au préalable créer et ouvrir.
Il écrit le texte, va à la ligne toutes les 1,5 secondes et ainsi de suite. Jusque là, pas de problème.
Premier fichier, la définition de ma GUI:
► Afficher le texte
Code : Tout sélectionner
; == GUI generated with Koda ==
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;définition de la GUI
#Region ### START Koda GUI section ### Form=D:\Etude autoit\Form2.kxf
Opt("GUIOnEventMode", 1) ; Passe en mode événement
$Form2 = GUICreate("Test", 420, 271, 257, 241)
$txt = GUICtrlCreateInput("", 88, 32, 241, 21)
$Button1 = GUICtrlCreateButton("GO", 56, 200, 113, 25, 0)
GUICtrlSetOnEvent($Button1, "onyva") ;lancement de la fonction "onyva" quant on clic sur GO
$Button2 = GUICtrlCreateButton("Stop", 240, 200, 121, 25, 0)
GUICtrlSetOnEvent($Button2, "quitter") ;Arrêt du script quant on clic sur STOP via la fonction "quitter"
$Group1 = GUICtrlCreateGroup("Nombre de lignes", 88, 80, 241, 89)
$Label1 = GUICtrlCreateLabel("0", 136, 112, 23, 41, $SS_CENTER)
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(1000) ; Boucle de d'attente
WEnd
Deuxième fichier, mes actions à réaliser:
► Afficher le texte
Code : Tout sélectionner
;définition de variable diverses
Global $texte
Global $nbrligne = 0
;déclarations Diverses.
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIessai.au3>
Func onyva()
$texte = GUICtrlRead($txt)
WinActivate("essai.txt - Bloc-notes")
While 1
Send($texte)
send("{ENTER}")
$nbrligne = $nbrligne + 1
sleep(1500)
WEnd
EndFunc ;onyva()
Func quitter()
Exit
EndFunc ;quitter()
Mes soucis sont les suivants:
Une fois cliqué sur GO, le script se met en route mais impossible de l'arrêter via l'autre bouton de commande.
Ensuite, j'ai créé également un compteur de lignes dont j'aimerai afficher le résultat en temps réel dans ma GUI, mais là, je ne sais pas du tout comment faire.
Merci d'avance pour votre aide
Maf