class Validar
{
public int ValidarEntero()
{
int numero = 0;
bool resultado;
while (true)
{
Console.SetCursorPosition(02, 04);
Console.Write("Número...............:");
// En esta variable guardas si la conversion tuvo exito o no
resultado = Int32.TryParse(Console.ReadLine(), out numero);
if (resultado && numero != 0)
break;
else
{
Console.SetCursorPosition(02, 06);
Console.Write("Ingreso incorrecto(pulse una tecla para intentarlo nuevamente...)");
Console.ReadKey();
Console.Write(" ");
Console.SetCursorPosition(24, 04);
}
}
return numero;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Title = " Validar ingreso de datos";
ConsoleKeyInfo opcion;
char key;
string aux = "";
int numero = 0;
Console.SetCursorPosition(02,02);
Console.WriteLine("Solo números y el ingreso debe ser mayor a 0");
Console.SetCursorPosition(02, 04);
do
{
opcion = Console.ReadKey(true);
key = opcion.KeyChar;
if (key > 47 && key < 58)
{
Console.Write("" + key);
aux += key;
}
if (key == 13)
{
Int32.TryParse(aux, out numero);
if (numero != 0) break;
else
Console.SetCursorPosition(02, 04);
}
} while (true);
Console.SetCursorPosition(02, 07);
Console.Write("Ingresaste...: " + numero);
Console.ReadLine();
}
}
}
static void Main(string[] args)
{
Console.Title = " Validar ingreso de datos";
ConsoleKeyInfo opcion;
char key;
string aux = "";
int numero = 0;
Console.SetCursorPosition(02, 02);
Console.WriteLine("Solo números y el ingreso debe ser mayor a 0");
Console.SetCursorPosition(02, 04);
do
{
opcion = Console.ReadKey(true);
key = opcion.KeyChar;
if (key > 47 && key < 58)
{
Console.Write("" + key);
aux += key;
}
if (key == 13)
{
Int32.TryParse(aux, out numero);
if (numero != 0) break;
else
Console.SetCursorPosition(02, 04);
}
// Si pulsamas la tecla Backspace borramos el caracter
if (opcion.Key == ConsoleKey.Backspace)
{
int longCadena = aux.Length;
// Si la longitud de la cadena es mayor que cero,
// eliminamos el ultimo caracter, si es igual a
// cero, la cadena esta vacia y no hay nada que
// eliminar
if (longCadena > 0)
{
aux = aux.Remove(longCadena - 1);
// Utilizamos el caracter bakckspace, que regresa
// el cursor una posicion, y ponemos un espacio
// en blanco para borrar el caracter, como acabamos de
// pulsar backspace, el codigo ASCII de esa tecla se
// encuentra en keychar, pero tambien seria valido
// utilizar directamente el codigo ASCII de backspace
// que es 8, forzando una conversion a char de la siguiente
// manera: Console.Write("{0} ", (char)8);
Console.Write("{0} ", opcion.KeyChar);
// Como pusimos un espacio en blanco, necesitamos
// regresar el cursor de nuevo un espacio
Console.Write(opcion.KeyChar);
}
}
} while (true);
Console.SetCursorPosition(02, 07);
Console.Write("Ingresaste...: " + numero);
Console.ReadLine();
}