Pause du programme en attendant un évènement

Pause du programme en attendant un évènement - VB/VBA/VBS - Programmation

Marsh Posté le 23-01-2007 à 01:42:55    

Bonjour
 
Voila mon algo
 
 
textbox.text = ""
 While textbox.text <> "continuer"
   instruction 1
  xxx?
end while
 
La form a plusieurs boutons qui ont chacun une fonction et un bouton "continuer". Je souhaite que l'utilisateur puisqse appuyer sur autant de boutons qu'il le souhaite, puis qu'il appuie sur "continuer" pour passer à la suite. Je dois mettre quelque chose à la place de xxx? qui met le programme en pause pour ne pas fair une boucle infinie avec 100% de charge cpu.
 
Je pensais donc remplacer xxx? par "attendre qu'un bouton soit activé, comme sa, l instruction 1 sera executée entre chaque activation de bouton.
 
Existe t il une solution pour faire ça? :)

Reply

Marsh Posté le 23-01-2007 à 01:42:55   

Reply

Marsh Posté le 23-01-2007 à 05:25:54    

En VBA Access, on mettrait :

       DoEvents

Reply

Marsh Posté le 23-01-2007 à 15:46:18    

ça ne fonctionne pas.
 
j'ai besoin que soit : le programme se met en pause tant qu'un évenment se produise
Une fonction genre Pause (x) ou x est un temps
 
 
Sinon, j ai essayé de déclaré un tablean en globale (Public Joueur() As S_Joueur) mais celui ci n'est pas déclaré dans les autres form..., d ou vient le probleme?


Message édité par Milli2048 le 23-01-2007 à 15:46:37
Reply

Marsh Posté le 24-01-2007 à 17:11:04    

Précise dans quel environnement tu travailles, ça permettra de répondre avec plus d'efficacité.
Est-ce du VB6, du VBA-Access, VBA-Excel , ... ?
 
Je ne comprends pas pourquoi tu as besoin de cette boucle ; ton programme me semble mal pensé, mais comme tu donnes peu de détails...
 
Le comportement de base d'un formulaire de saisie est d'attendre un événement (c'est pas pour rien qu'on parle de programmation événementielle).  
 
Je ne vois pas quel contexte t'oblige à utiliser une fonction de pause. D'ailleurs je ne connais pas de moyen simple et efficace pour le faire à part le DoEvents déjà cité.
 
Pour ta déclaration « Public Joueur() As S_Joueur », je suppose que tu l'as faite dans le formulaire ; il faut déplacer cette déclaration dans un module, section « (Déclarations) ». Si c'est déjà le cas alors le problème est autre et il faudra ici aussi plus de détails.

Reply

Marsh Posté le 25-01-2007 à 00:45:15    

Bon, j ai réussi a me passer de la fonction pause et j ai appris a transférer des varilables de form en form :)
 
(Si la variable est déclare dans la form1 "Dim NB_joueur, j As Integer"
Il faut faire form1.NB_Joueur pour y avoir acces dans les autres forms
 
:)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed