Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: pedrol359 en 12 Marzo 2017, 23:16 PM

Título: leer sin que se detenga el bucle
Publicado por: pedrol359 en 12 Marzo 2017, 23:16 PM
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?
Título: Re: leer sin que se detenga el bucle
Publicado por: Eleкtro en 14 Marzo 2017, 01:44 AM
¿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!
Título: Re: leer sin que se detenga el bucle
Publicado por: pedrol359 en 14 Marzo 2017, 06:51 AM
listo ya amplié mi pregunta. espero mi respuesta   :D
Título: Re: leer sin que se detenga el bucle
Publicado por: Eleкtro en 14 Marzo 2017, 21:04 PM
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!
Título: Re: leer sin que se detenga el bucle
Publicado por: pedrol359 en 15 Marzo 2017, 19:16 PM
gracias