Page 1 sur 1

prb de creation d'un compteur dynamique

Posté : dim. 04 févr. 2018 22:07
par yohanb767
Salut à tous !

je suis bloqué sur l'affichage dans une gui d'une variable qui changerai , j'aimerai qu'elle change d’état également dans ma Gui

il faudrait en gros que quand compteur1 dans mon fichier ini passe à 1 la gui qui est ouverte avec mon script passe de 0 a 1 en restant ouverte
voici mon fichier ini

[Compteurs]
Compteur1=0


et voici le script

Code : Tout sélectionner

#include <GUIConstantsEx.au3>

$fCount = @ScriptDir & "\compteur.ini"
Global $Compteur1 = 0
Global $Error = 0

$Compteur1 = Number(IniRead($fCount, "Compteurs", "Compteur1", "-1"))
If $Compteur1 = "-1" Then
	MsgBox(16, "Erreur", "")
	Exit
EndIf


#Region
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$Label1 = GUICtrlCreateLabel($Compteur1, 72, 96, 98, 41)
GUICtrlSetFont(-1, 25, 400, 0, "MS Sans Serif")
GUICtrlSetData($Label1, $Compteur1)
GUISetState(@SW_SHOW)
#EndRegion

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd
Merci d'avance pour votre aide

Re: prb de creation d'un compteur dynamique

Posté : lun. 05 févr. 2018 00:48
par Tlem
Déjà, pour commencer, il serait bien de mettre dans une fonction, le code de lecture de la valeur du fichier ini avec la fonction de mise à jour de la valeur dans votre GUI.
En allant au plus simple, ça donnerait :

Code : Tout sélectionner

Func CheckIni()
	GUICtrlSetData($Label1, IniRead($fCount, "Compteurs", "Compteur1", "-1"))
Endfunc
A mettre à la fin de votre script (après la boucle While/Wend).
Je n'ai pas rajouter de contrôle de la valeur, car si dans votre GUI vous voyez apparaitre -1, c'est qu'il y a un loup ... Du coup, pourquoi bloquer un script avec une MsgBox !!!

Pour actualiser la valeur, il suffit de rajouter au début du script :

Code : Tout sélectionner

AdlibRegister (CheckIni, 5000) ; Lancement fonction toutes les 5 secondes