Funcionamiento de botones
Publicado por Meta (138 intervenciones) el 31/03/2020 14:32:48
Buenas:

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í:
> 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.
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#:
Gracias.

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í:
> 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.
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#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
namespace LCD_nombre_archivo_consola_02
{
class Programa
{
static string guardarNombre = "";
static void Main(string[] args)
{
// Título de la pantalla.
Console.Title = "Cambiar nombre";
// Tamaño de la ventana.
Console.SetWindowSize(20, 5);
Inicio();
}
private static void Inicio()
{
int coordenadaX = 0;
ConsoleKey key;
char[] alfanumerico = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'Ñ', 'O', 'P',
'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y',
'z', '.', ',', '-', '_', ':', ';', '¿', '?', '(', ')', '[', ']', '{', '}','=', '$',
'&', '"', ' '};
int[] indiceArray = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
string[] texto = new string[] { "ATRÁS", "GUARDAR" };
// 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.
Valora esta pregunta


0