Aller au contenu

[Tcl] Résultat intermédiare dans procédure


Messages recommandés

Bonjour.

Je débute dans le Tcl depuis 2 semaines sous windows.

Je suis en train de réaliser une interface graphique pour un automatiser des tests. Ces tests se connectent avec expect en telnet.

Je voudrais afficher les commandes et les résultats de telnet dans un text créé avec Tk.

Je n'ai pas besoin de client serveur car je ne fait que envoyer des commandes par telnet.

Mon problème vient plus de la procédure elle même.

J'ai fait un petit test:

Code:

frame .fra_down
grid .fra_down -column 5 -row 6
frame .fra_down.fra_textarea
grid .fra_down.fra_textarea -column 1 -row 6
text .fra_down.fra_textarea.valid_launchtest -width 80 -height 20 -yscrollcommand ".fra_down.fra_textarea.srl_y set"
grid .fra_down.fra_textarea.valid_launchtest -column 1 -row 1
scrollbar .fra_down.fra_textarea.srl_y -command  ".fra_down.fra_textarea.valid_launchtest yview" -orient vertical
grid .fra_down.fra_textarea.srl_y -column 2 -row 1 -sticky ns


proc write_textarea { data } {

.fra_down.fra_textarea.valid_launchtest  insert end  $data

.fra_down.fra_textarea.valid_launchtest yview moveto 1
}

proc compte_et_ecrit {} {
set max 10
for {set i 0} {$i<$max} {incr i} {

	write_textarea "$i
	"
		after 1000
}

}

compte_et_ecrit

Voila, ce que je voudrai c'est que la procédure compte_et_ecrit affiche les chiffres toutes les secondes dans mon textarea, un chiffre chaque seconde.

Or quand j'exécute ce code, il ne se passe rien pendant 10 secondes puis il affiche tout le résultat.

Je n'arrive pas à trouver de moyen d'exécuter la procédure par à coup. Je ne sais pas comment faire. J'ai penser à des return à la fin de chaque boucle, mais cela me sort directement de l'exécution.

Je serai vraiment ravi si vous pouviez me donner des idées pour résoudre ce problème.

Encore merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...