Restricción de Teclas. Consola VB 10 Express Edition

Por motivos académicos, estoy programando en Visual Basic 10 Express Edition. Tengo experiencia programando en VB 6.0, pero en modo de formularios; en este caso, estoy programando a nivel de consola.
Estoy haciendo un programa muy básica al que se le colocan los coeficientes de un polinomio de 2do grado y devuelve las raíces reales o imaginarias; sin embargo, quiero restringir el programa de forma tal que, cuando se le pida al usuario que introduzca los coeficientes, estos sólo puedan ser números, el signo menos (-) cuando se trate de un coeficiente negativo y el punto (.) Cuando el coeficiente tenga decimales. Del mismo modo, necesito que el cursor se quede fijo en una posición, de manera que el usuario no pueda moverse a través de una línea y modificar los mensajes que se encontrar atrás. ¿Cómo puedo hacer eso?

1 Respuesta

Respuesta
1
Eso no es posible hacerlo en aplicaciones de consola, pues la consola tiene un área que no es administrable por el programa, si quieres hacerlo debes pasarte a una aplicación de windows.
Con respecto a las validaciones cuando presionen el enter del dato validar si ISNumeric(dato) con eso validas si lo ingresado es un numero correcto.
¿Me podrías poner un ejemplo para utilizar IsNumeric (Nunca lo he utilizado antes) supóngase que el programa le pide al usuario que introduzca un valor (Que debería ser un número) e ingresa texto. ¿Cómo hago para que el programa no me de error (Pues el valor que introduce el usuario se guardará en una variable tipo Double) y que a su vez, aparezca un mensaje pidiendo que el usuario ingrese un número) Gracias
if not isnumeric(variableenlaquerecibeseldatodelusuario) then
console.writeln("El numero didgitado no es un numero valido")
else
' El numero es valido y se realizan las operaciones pertinentes
Endif
Esa parte si me funcionó. Muchas gracias por eso; sin embargo, tengo otra duda (Disculpa la molestia); ya que puedo establecer si el valor es válido (numérico) o no; ¿Cómo hago para que la consola vuelva a pedir el mismo dato al usuario? Un ejemplo de mi Código es:
Dim A,B,C as String
Console.Write("Introduzca el coeficiente de X^2: ")
            A = Console.ReadLine
            If Not IsNumeric(A) Then
                Console.WriteLine("El numero didgitado no es un numero valido")
            End If
            Console.Write("Introduzca el coeficiente de X: ")
            B = Console.ReadLine
            Console.Write("Introduzca el término independiente: ")
            C = Console.ReadLine
Quiero que, en lugar de pedirme el valor B (Como hace ahora el programa) se regrese a pedirme de nuevo el valor A hasta que este sea válido. (El mismo procedimiento debería repetirse para B y para C). Gracias
Console.Write("Introduzca el coeficiente de X^2: ")
while not isnumeric(A)
Console.WriteLine("El numero didgitado no es un numero valido")
A=Console.readline
' Ya no debes colocar el if de validacion
end while
 Console.Write("Introduzca el coeficiente de X: ")
...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas