FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Attendre le resultat d'une fonction en HTA
 

Attendre le resultat d'une fonction en HTA

Il y a 277 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Attendre le resultat d'une fonction en HTA
 
Il ne faut jamais manquer une occasion de s'instru
Plus d'informations

Salut tous,
 
voilà, je vais essayer d'exposer simplement ma situation, ça a l'air compliqué mais en fait ...
 
 
J'ai une petite appli écrite en HTA.
 
La structure se décompose en deux parties :
 

[b]<script>
   ...
   ...
</script>
 
<HTML>
   <SPAN1>
   <SPAN2>
   ...
   <SPAN9>
</HTML>[/b]


 
comme vous pouvez le voir, la partie HTML ne contient que tes tag "SPAN".
Ainsi, je peux facilement depuis le script modifier dynamiquement l'apparence de la fenetre en plaçant des

[b]SPAN1.InnerHTML = ...[/b]


 
La page principale appèle diverses sub qui chacunes ré-initialisent toutes les lignes SPAN et leur donnent l'apparence qu'elles veulent.
L'une de ces SUB crée des lignes contenant chacune un bouton. Chaque bouton renvoyant sur une autre sub ...
 

<input id=Admin_ok type=button name=VerifAdmin_button value=Go.. onClick=VerifyAdminRights>


 
Par exemple
donc,  quand on clique sur le bouton "Go" on lance la Function (ou la Sub ) : "VerifyAdminRights"
 
La sub "VerifyAdminRigths" a son tour re-écrit tous les SPAN.
Elle crée deux zones à remplir : une texte (username_text) et une password (userpassword_text)  et un nouveau bouton : "CheckUser"...
 
Un click sur ce bouton appèle une fonction qui vérifie que le user indiqué est bien admin local de la machine et que le password est juste par un TRUE / FALSE
 
Voici mon problème...
 
Le code principal (Window_OnLoad) appèle la première sub
      Cette SUB fait son Job puis, soit quite, soit retourne au "main" en l'appellant directement :  

      If ... Then
            Exit Sub
       Else
            Window_OnLoad
       End If


Là, pas de problème, c'est du pur séquentiel, chaque sub est indépendante.
 
Par contre ...
La Sub, doit  
     

  • Mettre à jour les SPAN   --> Ca c'est fait

     

  • Attendre que quelqu'un clique sur le bouton   --> ca c'est pas fait : span.innerhtml ne fait que modifier la page, mais le script continue d'avancer après ça sans attendre un évennement quelconque.

     

  • Récuppérer le résultat de la sous-fonction appelée par le bouton et l'utiliser comme elle l'entend.


 
J'ai essayé de placer une boucle d'attente

do while result=0 : wscript.sleep 500 : loop

juste après le SPAN, il suffirait de changer la valeur de la variable result à la fin de la sous-fonction pour sortir de la boucle et continuer le traitement de la sub ...
Mais voilà ...
Ce n'est pas très propre, et surtout ... wscript.sleep, en HTA ça ne marche pas :(
 
Alors, une idée ?
 
Il faut juste que je sache réagir à l'évennement : "quelqu'un a cliqué sur le bouton et la fonction qu'il a appelé est terminée"  
 
:??:


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Attendre le resultat d'une fonction en HTA
 

Annonces Google
Publicité
Les ressources relatives