Foros del Web » Programación para mayores de 30 ;) » Programación General »

VB fallo con while y fechas

Estas en el tema de VB fallo con while y fechas en el foro de Programación General en Foros del Web. Hola Intento que el programa entre en un bucle hasta que hayan transcurrido 1 segundo, si lo ejecuto paso a paso hace todo correctamente pero ...
  #1 (permalink)  
Antiguo 13/09/2003, 06:35
Avatar de alcohol  
Fecha de Ingreso: noviembre-2002
Mensajes: 99
Antigüedad: 22 años
Puntos: 0
VB fallo con while y fechas

Hola Intento que el programa entre en un bucle hasta que hayan transcurrido 1 segundo, si lo ejecuto paso a paso hace todo correctamente pero si lo ejecuto normalmente se cuelga y de repenta muestra el resultado final sin apreciar el segundo que deberia estar esperando, aqui va el codigo

Do While linea2.X2 < xFinal
linea2.X2 = linea2.X2 + 400
fechaAhora = Now
fecha = fechaAhora + 0.00001
Do While fechaAhora <= fecha
fechaAhora = Now
Loop
Loop
  #2 (permalink)  
Antiguo 13/09/2003, 06:41
Avatar de alcohol  
Fecha de Ingreso: noviembre-2002
Mensajes: 99
Antigüedad: 22 años
Puntos: 0
El codigo de toda la funcion posi acaso

Public Sub correLinea(linea As Line)
Dim xFinal As Single
Dim yFinal As Single
Dim linea2 As Line
Dim fecha As Date, fechaAhora As Date
xFinal = linea.X2
yFinal = linea.Y2
Set linea2 = linea
Set linea2 = Controls.Add("VB.line", "linea2")
With linea2
.X1 = linea.X1
.Y1 = linea.Y1
.X2 = linea.X1
.Y2 = linea.Y1
.BorderWidth = linea.BorderWidth
.BorderColor = vbYellow
.Visible = True
.ZOrder 0
End With
Do While linea2.X2 < xFinal
linea2.X2 = linea2.X2 + 400
'Sleep 120
fechaAhora = Now
fecha = fechaAhora + 0.00001
Do While fechaAhora <= fecha
fechaAhora = Now
Loop
Loop
End Sub
  #3 (permalink)  
Antiguo 20/09/2003, 19:17
 
Fecha de Ingreso: septiembre-2003
Mensajes: 172
Antigüedad: 21 años, 2 meses
Puntos: 0
Hola, supongo que te refieres a que no parece que la linia se mueva. Si es eso prueba a esto

Do While linea2.X2 < xFinal
linea2.X2 = linea2.X2 + 400
'form1 es el nombre del formulario que tengas
form1.refresh
'Sleep 120
fechaAhora = Now
fecha = fechaAhora + 0.00001
Do While fechaAhora <= fecha
fechaAhora = Now
Loop
Loop

Luego puede ser que te de problemas si llamas dos veces a la funcion, porque estas intentando añadir a los controles el mismo control cada vez que llamas
Set linea2 = Controls.Add("VB.line", "linea2")

Espero haberte sido útil. Saludos y Suerte!
__________________
Sr.Propio
  #4 (permalink)  
Antiguo 21/09/2003, 04:57
Avatar de alcohol  
Fecha de Ingreso: noviembre-2002
Mensajes: 99
Antigüedad: 22 años
Puntos: 0
Gracias RafaPaskual, tu ayuda me ha sido muy util.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:31.