Título: Propiedades en C sharp
Publicado por: DanielPy en 9 Junio 2013, 05:00 am
Hola a todos. El código que les dejo a continuación tiene que ver en principio con las propiedades, que es lo que estoy estudiando en este momento,les sugeriría que me digan si el código(empleando propiedades) es correcto?.- Además la consulta es para ver si me pueden dar una mano con el siguiente error, si en "Ingrese nombre...:" aprieto la tecla Tab me acepta el dato como valido,eso no es correcto ¿como puedo solucionarlo?.- using C = System.Console; using System.Collections.Generic; using System.Linq; using System.Text; namespace Propiedades { class Program { static void configuracion() { C.Title = "Ejemplo del uso de propiedades en C Sharp"; C.SetWindowSize(70,30); C.BackgroundColor = System.ConsoleColor.Blue; C.ForegroundColor = System.ConsoleColor.Yellow; C.Clear(); } static void ingDatos() { Personas per = new Personas (); byte mLeft = 2, mTop = 2; while (true) { C.SetCursorPosition(mLeft, mTop); C.Write("Ingrese nombre.....:"); string linea = C.ReadLine(); if (string.IsNullOrEmpty(linea)) { mTop +=2; C.SetCursorPosition(mLeft, mTop); C.Write("El dato es obligatorio... (Pulse una tecla para continuar)"); C.ReadKey(); C.Write(" "); mTop -= 2; } else { per.nom = linea; break; } } mTop += 2; while (true) { C.SetCursorPosition(mLeft, mTop); C.Write("Ingrese apellido...:"); string linea = C.ReadLine(); if (string.IsNullOrEmpty(linea)) { mTop += 2; C.SetCursorPosition(mLeft,mTop); C.Write("El dato es obligatorio... (Pulse una tecla para continuar)"); C.ReadKey(); C.Write(" "); mTop -= 2; } else { per.ape = linea; break; } } mTop += 2; while (true) { byte n = 0; C.SetCursorPosition(mLeft, mTop); C.Write("Ingrese edad.......:"); if (byte.TryParse(C.ReadLine(), out n)) { per.eda = n; break; } else { mTop += 2; C.SetCursorPosition(mLeft, mTop); C.Write("Ingreso incorrecto... (Pulse una tecla para continuar)"); C.ReadKey(); C.Write(" "); mTop -= 2; } } } public class Personas { private string nombre; private string apellido; private byte edad; public string nom { get { return nombre; } set { nombre = value; } } public string ape { get { return apellido; } set { apellido = value; } } public byte eda { get { return edad; } set { edad = value; } } } static void Main(string[] args) { configuracion(); ingDatos(); C.SetCursorPosition(02,08); C.Write("Pulse una tecla para cerrar la aplicación..."); C.ReadLine(); } } }
Un gran saludo.- Daniel
Título: Re: Propiedades en C sharp
Publicado por: 43H4FH44H45H4CH49H56H45H en 9 Junio 2013, 06:20 am
A la rapida puedes probar asi: using C = System.Console; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Propiedades { class Program { static void configuracion() { C.Title = "Ejemplo del uso de propiedades en C Sharp"; C.SetWindowSize(70, 30); C.BackgroundColor = System.ConsoleColor.Blue; C.ForegroundColor = System.ConsoleColor.Yellow; C.Clear(); } static bool bValido(string sCadena) { sCadena = sCadena.ToUpper(); if (string.IsNullOrEmpty(sCadena)) return false; for (int i = 0; i < sCadena.Length; i++) { char cTemp = Convert.ToChar(sCadena[i]); int iAscii = (int)cTemp; if (!bAscii(iAscii)) return false; } return true; } static bool bAscii(int iAscii) { if (iAscii < 65 || iAscii > 91) { return false; } return true; } static void ingDatos() { Personas per = new Personas (); byte mLeft = 2, mTop = 2; while (true) { C.SetCursorPosition(mLeft, mTop); C.Write("Ingrese nombre.....:"); string linea = C.ReadLine(); if (!bValido(linea)) { mTop += 2; C.SetCursorPosition(mLeft, mTop); C.Write("El dato es obligatorio... (Pulse una tecla para continuar)"); C.ReadKey(); C.Write(" "); mTop -= 2; } else { per.nom = linea; break; } } mTop += 2; while (true) { C.SetCursorPosition(mLeft, mTop); C.Write("Ingrese apellido...:"); string linea = C.ReadLine(); if (!bValido(linea)) { mTop += 2; C.SetCursorPosition(mLeft, mTop); C.Write("El dato es obligatorio... (Pulse una tecla para continuar)"); C.ReadKey(); C.Write(" "); mTop -= 2; } else { per.ape = linea; break; } } mTop += 2; while (true) { byte n = 0; C.SetCursorPosition(mLeft, mTop); C.Write("Ingrese edad.......:"); if (byte.TryParse(C.ReadLine(), out n)) { per.eda = n; break; } else { mTop += 2; C.SetCursorPosition(mLeft, mTop); C.Write("Ingreso incorrecto... (Pulse una tecla para continuar)"); C.ReadKey(); C.Write(" "); mTop -= 2; } } } public class Personas { private string nombre; private string apellido; private byte edad; public string nom { get { return nombre; } set { nombre = value; } } public string ape { get { return apellido; } set { apellido = value; } } public byte eda { get { return edad; } set { edad = value; } } } static void Main(string[] args) { configuracion(); ingDatos(); C.SetCursorPosition(02, 08); C.Write("Pulse una tecla para cerrar la aplicación..."); C.ReadLine(); } } }
Solo debe aceptar letras en nombre y apellido, hay que mejorarlo para lo que quieres.
Título: Re: Propiedades en C sharp
Publicado por: DanielPy en 9 Junio 2013, 15:17 pm
Hola. Funciona como lo deseado, solo que por el momento no entiendo del todo la lógica, eso no me ocupa de momento.- Solo 2 cositas, hay que mejorarlo para lo que quieres. podrías ser más especifico, la otra, me podrías(an) dar un ejemplo como poner los 2 métodos en otro archivo y como llamarlo?.-(quiero hacer de esto como una biblioteca para utilizar en todos los programas que los pueda aplicar).- Saludos y muchas gracias por tú tiempo.- Daniel
Título: Re: Propiedades en C sharp
Publicado por: DanielPy en 10 Junio 2013, 20:54 pm
Hola. Al fin viendo un vídeo de aprendiendo c sharp logré dividir el programa en 2 archivos.- Gracias y espero tú respuesta 43H4FH44H45H4CH49H56H45H.-
Saludos. Daniel
Título: Re: Propiedades en C sharp
Publicado por: 43H4FH44H45H4CH49H56H45H en 13 Junio 2013, 04:45 am
Con mejorar solo me referia a que reconozca un espacio entre 1er y 2do nombre o 1er y 2do apellido, porque el codigo que puse no acepta espacios.
|