Page 1 sur 1

[R] GuiCtrlCreateEdit refresh

Posté : jeu. 02 déc. 2010 07:21
par Christelle10
bonjour à tous,

alors d'après mes recherches sur le forum j'ai pu trouver une partie qui m’intéresse grandement pour l'un de mes projets.

http://autoitscript.fr/forum/viewtopic. ... dit#p24052

cependant j'aurai aimée savoir comment faire refresh la gui edit toute les 15 sec peu importe si le dossier test.txt à été modifié ou non car je télécharge un fichier txt toute les 15 sec et je voudrais qu'il le lise en directe.

merci à celle et ceux qui m'aiderons.
Ps : je précise que je suis une débutante en autoit

Re: [..] GuiCtrlCreateEdit refresh

Posté : jeu. 02 déc. 2010 08:18
par funkey

Code : Tout sélectionner

Global $File = @ScriptDir & "\Test.txt"

GUICreate("Test", 500, 400)

Global $FileText_old, $FileText

Global $hEdit = GUICtrlCreateEdit("", 10, 10, 480, 380, 0x0800)
GUICtrlSetBkColor(-1, 0xabcdef)

AdlibRegister("_Update", 15000)
GUISetState()
_Update()

Do
    Sleep(10)
Until GUIGetMsg() = -3

Func _Update()
    $FileText = FileRead($File)
    If $FileText_old <> $FileText Then
        $FileText_old = $FileText
        GUICtrlSetData($hEdit, $FileText)
    EndIf
EndFunc
 

Re: [..] GuiCtrlCreateEdit refresh

Posté : jeu. 02 déc. 2010 11:08
par Christelle10
le script me donne une erreur au niveau :

Code : Tout sélectionner

ligne 11 : AdlidRegister("_Update", 15000)
edit : corrigé par

Code : Tout sélectionner

AdlibEnable("_Update", 15000)
et cela fonctionne merci bien !

edit² : ne fonctionne pas avec le téléchargement du fichier texte toute les 15 secondes :(
il ne m'affiche pas le changement.

Probleme définitivement résolu.
merci à vous.

Re: [R] GuiCtrlCreateEdit refresh

Posté : jeu. 02 déc. 2010 17:32
par Tlem
Si vous utilisez AdlibEnable, c'est que votre version de AutoIt est ancienne.
Aujourd'hui, la fonction est bien AdlibRegister, donc vous devriez mettre à jour votre installation de AutoIt.

Re: [R] GuiCtrlCreateEdit refresh

Posté : ven. 03 déc. 2010 05:15
par Christelle10
Effectivement, merci pour cette dernière information.