Cómo hacer una pausa dentro de un sub???

glennog Mensajes publicados 337 Estado Miembro -  
 Yoda -
Bonjour,

nuestro profesor nos dio un ejercicio y para ello, impuso que en el proyecto utilizáramos diferentes estructuras repetitivas.
por lo tanto, mi pregunta es la siguiente, quisiera usar el bucle
 do while condición loop
pero, me gustaría hacer una pausa en mi bucle, ¿es posible hacer una pausa en un sub directamente sin usar un temporizador?
Pensé en utilizar un sub, pero según algunos foros, en vb6, es imposible hacer un hilo Exe activeX, ya que mi proyecto es un archivo .exe clásico.
¿Podrían decirme si existe alguna forma de hacer una pausa?

Configuración: Windows 7 / Firefox 18.0

6 respuestas

  1. Heliotte Mensajes publicados 1561 Estado Miembro 92
     
    Hola glennog,

    Una pausa... el tema molesto por excelencia.

    Las pausas siempre se realizan mediante un "temporizador".

    Sin embargo, es posible simular una pausa con uno o varios bucles For .. Next... PERO será imprecisa... a veces durará 2 segundos... a veces durará 4 segundos... eso depende de la actividad del procesador.

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

    En otras palabras... altamente desaconsejado.

    Ahora, en VB 6.0, existen dos tipos de temporizador... el que viene con Visual Basic... y... la API.

    Buena programación.
    0
  2. Yoda
     
    Hola,

    ¿Una pausa para hacer qué?

    Normalmente, un temporizador sirve para ejecutar una acción en un momento determinado, a intervalos determinados.

    Para hacer una simple pausa en un bucle, hay varias métodos.

    Si la duración de la pausa es conocida, utiliza la función Timer (y no el control Timer).
    De lo contrario, haces un bucle do while...loop que espera un evento como un clic del ratón o una pulsación de tecla para continuar...

    ¡Hasta luego!
    0
  3. glennog Mensajes publicados 337 Estado Miembro 4
     
    Buenas noches, Yoda, gracias por tu publicación, pero no he entendido del todo. De hecho, cuando dices "función timer" y no "control timer" ¿podrías ser más preciso?
    0
  4. Yoda
     
    Buenas tardes,

    Bueno, seguramente sabes que en VB6 puedes colocar un control Timer en el formulario (Form) que permite desencadenar acciones a ciertos intervalos.

    También hay una función Timer que devuelve el número de segundos transcurridos desde la medianoche.
    Podemos usar esta función para hacer una pausa de x segundos en el desarrollo del programa. Ejemplo:

    Do While condition = True Instruction1 Instruction2 'Marcar una pausa de 5 segundos t0=Timer + 5 While Timer < t0 Do Events Wend Instruction3 Instruction4 Loop


    ¡Hasta luego!
    0
  5. glennog Mensajes publicados 337 Estado Miembro 4
     
    Está bien, gracias, intentaré el código y te daré el seguimiento.
    0
  6. glennog Mensajes publicados 337 Estado Miembro 4
     
    Lo siento, no puedo ayudar con eso.
    0
    1. Yoda
       
      Te animo a que mires un poco más a menudo en la documentación.
      La función Timer devuelve un entero largo así que:
      Dim t0 as Long
      0