Este programa se trata de usar solo las teclas de las flechas y Enter. Ninguna más. Me funciona lo de cambiar un nombre con las teclas de las flechas. Una vez que tenga el nombre, si pulsas la Tecla Enter, tiene que aparecer este símbolo > al lado donde pone ATRÁS.
Tiene que aparecer así:
Citar
> ATRÁS GUARDAR
Desde que esté el signo > en ATRÁS, ya se puede mover hacia GUARDAR, puedes elegir con las flechas del teclado, izquierda y derecha.
Independientemente donde esté el > sea en ATRÁS o en GUARDAR, si pulsas las flechas arriba o abajo, se pone en la parte del nombre para cambiarlo otra vez, una vez que tenga el nombre que quieras, pulsas Enter otra vez y se va este > a ATRÁS como dije antes.
Si el > está en GUARDAR como indica abajo.
Citar
ATRÁS > GUARDAR
Si pulsas Enter, guarda el nombre que hayas puesto en la variable guardaNombre. Se queda simplemente almacenado ahí del programa.
Si vuelves con el > en ATRÁS y pulsas Enter. Muentra un mensaje en pantalla. Haz pulsado ATRÁS y el programa se queda ahí.
Espero que se entienda los paso que he escrito, si no se entiende algo, lo comentan.
Sólo he hecho esto.
Código C#:
Código
using System; namespace LCD_nombre_archivo_consola_02 { class Program { static void Main(string[] args) { // Título de la pantalla. Console.Title = "Cambiar nombre"; // Tamaño de la ventana. Console.SetWindowSize(20, 5); string guardarNombre = ""; int coordenadaX = 0; ConsoleKey key; char[] alfanumerico = new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'Ñ', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; // Fondo verde. Console.BackgroundColor = ConsoleColor.Blue; // Letras negras. Console.ForegroundColor = ConsoleColor.White; Console.Clear(); Console.SetCursorPosition(0, 0); Console.Write("Nombre del relé 1:"); Console.SetCursorPosition(0, 1); Console.Write("AAAAAAAAAAAAAAAA"); Console.SetCursorPosition(2, 3); Console.Write(texto[0]); Console.SetCursorPosition(12, 3); Console.Write(texto[1]); while (true) { Console.SetCursorPosition(coordenadaX, 1); key = Console.ReadKey(true).Key; if ((key == ConsoleKey.RightArrow) && (coordenadaX < 15)) // Se cuanta del 0 al 15. { coordenadaX++; } else if ((key == ConsoleKey.LeftArrow) && (coordenadaX > 0)) { coordenadaX--; } else if (key == ConsoleKey.UpArrow) { indiceArray[coordenadaX]++; if (indiceArray[coordenadaX] >= alfanumerico.Length) { indiceArray[coordenadaX] = 0; } Console.Write(alfanumerico[indiceArray[coordenadaX]]); } else if (key == ConsoleKey.DownArrow) { indiceArray[coordenadaX]--; if (indiceArray[coordenadaX] < 0) { indiceArray[coordenadaX] = alfanumerico.Length - 1; } Console.Write(alfanumerico[indiceArray[coordenadaX]]); } } } } }
Gracias por todo.