La Web del Programador: Comunidad de Programadores
 
    Pregunta:  8709 - RETARDOS DE MENOS DE 1 MS SIN UTILIZAR EL TIMER
Autor:  Tito Moreno Ojeda
Hola a todos, me gustaría saber si hay alguna forma en Vb de hacer intervalos de tiempo sin utilizar el objeto timer, sobre todo intervalos de tiempo menores de 1 ms. Esperando agradecidamente sus respuestas.

  Respuesta:  José Ariel Limandri
Para hacer lo que vos queres tenes que usar la funcion Timer de VB, que te devuelve el nro de segundos transcurridos desde la medianoche. Aunque el valor que te devuelve tiene 2 decimales (por lo cual podriamos hacer una trampa para llegar hasta la centésima de segundo) no es recomendable ya que ni siquera tomando el valor entero tiene una precisión infalible. De todas formas te mando el codigo para ver si te sirve.

Private Sub Wait(MiliSegundos As Long)
Dim Inicio As Double

Inicio = Timer
fin = Inicio + MiliSegundos
Do While Timer < fin
Loop
End Sub

Ojo con esta funcion que tiene un problema si la lanzas cerca de las 00:00, ya que al usar los segundos desde la medianoche del dia de hoy puede entrar en un bucle de 1 dia mas o menos. Pero calculo que te va a ser facil arreglaro

Espero que te sirva. Cualquier duda Maileame. chau