leer sin que se detenga el bucle

Iniciado por pedrol359, 12 Marzo 2017, 23:16 PM

0 Miembros y 1 Visitante están viendo este tema.

pedrol359

en visual basic.net (modo consola) quiero saber una forma de leer una variable en un do while  pero no quiero que al memento de leer esta variable, se detenga hasta que le introduzca un valor. lo que quiero es que se siga ejecutando el Do hasta sin importar que introduzca algún valor o no  (en el lenguaje c++ era la instrucción kbhit() )
ejemplo:
Dim num As Integer
Do
num=read() ' no quiero que aquí se detenga a esperar el valor

If num = 4 then
Exit Do
EndIf

Loop


aprovechando el mensaje.. en c++ getch(); servia para leer una tecla y se podía almacenar esa tecla en una variable, que función o orden aria eso en visual basic.net?

Eleкtro

¿Leer el qué?, ¿y a qué te refieres exactamente por "sin que se detenga el búcle"?... intenta ser más específico.

...¿vb6, o vb.net?.

De todas formas creo que te puedes estar refiriendo a implementar una metodología asincrónica.

¡Saludos!








pedrol359

listo ya amplié mi pregunta. espero mi respuesta   :D

Eleкtro

#3
getch():
Código (vbnet) [Seleccionar]
Dim c As Char = Console.ReadKey(intercept:=True).KeyChar
Console.WriteLine(c)


khbit():
Código (vbnet) [Seleccionar]
While True

   If Console.KeyAvailable Then

       Dim c As Char = Console.ReadKey(intercept:=True).KeyChar
       Console.WriteLine(c)

       Dim value As Integer
       If Integer.TryParse(c, NumberStyles.Integer, CultureInfo.CurrentCulture.NumberFormat, value) AndAlso (value = 4I) Then
           Exit While
       End If

   End If

End While


¡Saludos!