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

glennog Messages postés 337 Statut Membre -  
 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

  1. Heliotte Messages postés 1561 Statut Membre 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
  2. 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
  3. glennog Messages postés 337 Statut Membre 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. glennog Messages postés 337 Statut Membre 4
     
    ok, merci , je vais essayer le code , et te donne la suite
    0
  7. glennog Messages postés 337 Statut Membre 4
     
    mais dis , ici dans ton exemple , t0 , je le déclare en quel type ?
    0
    1. 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