Comment faire une pause à l'intérieur d'un sub ???

glennog Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   -  
 Yoda -
Bonjour,

notre professeur nous a donné un exercice et pour cela , il a imposé que dans le projet , nous utilisons les différentes structures repetitives,
alors ma question est la suivante , je voudrais utiliser la boucle
 
do while condition

loop
mais , je voudrais faire une pause dans ma boucle , est t'il possible de faire une pause dans un sub directement sans utiliser de timer ???
j'avais pensé à utiliser un sub , mais d'après quelques forums , en vb6 , impossible de faire un thread Exe activeX, alors que mon projet est un fichier .exe classique
pourriez vous me dire s'il existe de faire une pause ,??

6 réponses

Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Bonjour glennog,

Une pause .. le sujet embêtant par excellence !

Les pause se font toujours par "timer".

Il est toutefois possible de simuler une pause avec une ou plusieurs boucles For .. Next .. MAIS elle sera imprécise .. tantôt elle durera 2 secondes .. tantôt elle durera 4 secondes .. cela dépend de l'activité du processeur.

For i= 1 To 1000000
    For j= 1 To 10000
    Next j
Next i

Autrement dit .. fortement déconseillé.

Maintenant, en VB 6.0, il existe deux sortes de timer .. celui fourni avec Visual Basic .. et .. l'API.

Bonne programmation.
0
Yoda
 
Bonjour,

Une pause pour quoi faire?

Normalement un Timer sert à executer une action à un moment déterminé, à intervalle déterminé.

Pour faire une simple pause dans une boucle, il y plusieurs méthodes.

Si la durée de la pause est connue, utiles la fonction Timer (et non le contrôle Timer).
Sinon, tu fais une boucle do while...loop qui attend un évènement comme clic de souris ou appui sur une touche pour continuer...


A+.
0
glennog Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonsoir Yoda , merci de ton post , mais je n'ai pas saisis entièrement , au fait , quand tu dis fonction timer et non controle timer ????
pourrais tu être plus précis ?
0
Yoda
 
Bonsoir,

Eh bien, tu sais sans doute qu'en VB6, tu peux placer un controle Timer sur le formulaire (Form) qui permet de declencher des actions à certains intervalles.

Il y a aussi une fonction Timer qui renvoie le nombre de secondes écoulées depuis minuit.
On peut se servir de cette fonction pour faire une pause de x secondes dans le déroulement du programme. Exemple:

Do While condition = True
   Instruction1
   Instruction2

   'Marquer une pause de 5 secondes
   t0=Timer + 5
   While Timer < t0
        Do Events
   Wend
   
   Instruction3
   Instruction4
Loop


A+.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
glennog Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   4
 
ok, merci , je vais essayer le code , et te donne la suite
0
glennog Messages postés 293 Date d'inscription   Statut Membre Dernière intervention   4
 
mais dis , ici dans ton exemple , t0 , je le déclare en quel type ?
0
Yoda
 
Je t'encourage à regarder un peu plus sovent dans la doc.
La fonction Timer renvoie un entier long donc:
Dim t0 as Long
0