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(); }