Visual Basic - Interrumpir un bucle while

Life is soft - evento anual de software empresarial
 
Vista:

Interrumpir un bucle while

Publicado por Mario Brunett (2 intervenciones) el 02/04/2013 19:05:53
Hola ¡¡¡

Tengo un programita que se encarga de leer con netcomm el puerto serie continuamente con la instruccion while y la condicion netcoom1.inbufercount = 0 formando un bucle que activo pulsando commanbutton1. Al puerto serie tengo conectado una balanzita que envia el peso por peticion del usuario pulsando un boton de la propia balanza .Quiero interrumpir ese bucle mediante un commandbutton2 pero no lo he logrado , ya que no puedo pulsar commandbutton2 mientras esta el programa en el bucle de commandbutton1. Podria sacarlo del bucle anidando una instruccion if en el while y testear la tecla escape del pc pero me gustaria lo anterior. gracias de antemano .....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Interrumpir un bucle while

Publicado por Antoni Masana (558 intervenciones) el 05/04/2013 08:48:27
Prueba a poner dentro del WHILE el comando DoEvents.
Esto te permite realize otras acciones como pulsar el boton mientras el bucle funciona.

Una prueba

Crea un formulario con dos botones y un label, copia este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim Fin As Boolean
 
Private Sub Command1_Click()
    Dim Num As Long
    Fin = True
    While Fin
       Num = Num + 1
       Label1.Caption = Num
       Label1.Refresh
       DoEvents
    Wend
End Sub
 
 
Private Sub Command2_Click()
    Fin = False
End Sub


Pulsa el boton 1 para activar el contador y el boton 2 para pararlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interrumpir un bucle while

Publicado por Mario Brunett (2 intervenciones) el 06/04/2013 15:08:55
Muchas gracias ¡¡¡

Entiendo q esta instruccion es como una interrupcion , no?
Tenia otras soluciones pero esta es la adecuada .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar