Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Meta

#181
Gracias por los consejos.

En caunto al switch, si tiene break  al final. El ejemplo lo saqué de este enlace.

En el código general, tendré que empezar desde cero. A ver si me sale como Dios manda.
#182
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í:

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.

CitarATRÁ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 (csharp,15) [Seleccionar]
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' };
            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 por todo.
#183
Hola compañero:

¿Qué tal estás?

Se los paso. Dejo calro que fue guiado por unapersona mayor en el cual su forma de programar no es a objetos que digamos, sino a procedimental o programación clásica, ya que es lo que le enceñaros desde la época de estudiante cuando se programaba en MS-DOS. Ya es la prehistoria. jajaj

Código C#:
Código (csharp) [Seleccionar]
using System;

namespace Menu_consola_18_cs
{
    class Program
    {
        // Variable general para guardar el > de la última opción que haz entrado
        // en la hora de volver atrás. Por ejemplo:
        private static int guardarOpcion = 0;
        static void Main(string[] args)
        {
            Console.Title = "Menú de opciones";

            // Tamaño ventana consola.
            // X anchura.
            Console.WindowWidth = 20;

            // Y altura.
            Console.WindowHeight = 5;

            // Ocultar cursor.
            Console.CursorVisible = false;

            // Fondo verde.
            Console.BackgroundColor = ConsoleColor.Green;

            // Letras negras.
            Console.ForegroundColor = ConsoleColor.Black;

            MenuPrincipal();
        }

        #region Menú principal.
        public static void MenuPrincipal()
        {
            // Almacena la tecla pulsada en la variable.
            ConsoleKey teclaInicial;

            // Limpiar pantalla.
            Console.Clear();

            // Posición del cursor del título del MENÚ PRINCIPAL.
            Console.SetCursorPosition(0, 0);

            // Título.
            Console.Write("   MENÚ PRINCIPAL   ");

            // Pocisión de la hora.
            Console.SetCursorPosition(4, 2);

            // Formato numérico dd/MM/yyyy.
            Console.Write(DateTime.Now.ToString("ddd dd MMM"));

            // Almacena en la variable una tecla pulsada.
            teclaInicial = Console.ReadKey(true).Key;

            // ¿Haz pulsado la tecla Enter?
            if (teclaInicial == ConsoleKey.Enter)
            {
                // Sí. Se ejecuta esta función.
                MenuOpciones();
            }
        }
        #endregion

        #region Menú de opciones principales.
        public static void MenuOpciones()
        {
            // Contador de teclas y navegador.
            int opcion = 0;
            opcion = guardarOpcion;

            // Capturar tecla para luego validar.
            ConsoleKey tecla;

            while (true)
            {
                //******************************************************************
                // Dibujo el menú principal.

                // Limpiar pantalla.
                Console.Clear();

                switch (opcion)
                {
                    case 0:
                        Console.SetCursorPosition(0, 0);
                        Console.Write("> Opción A.         ");
                        Console.SetCursorPosition(0, 1);
                        Console.Write("  Opción B.         ");
                        Console.SetCursorPosition(0, 2);
                        Console.Write("  Opción C.         ");
                        Console.SetCursorPosition(0, 3);
                        Console.Write("  Salir.            ");
                        break;
                    case 1:
                        Console.SetCursorPosition(0, 0);
                        Console.Write("  Opción A.         ");
                        Console.SetCursorPosition(0, 1);
                        Console.Write("> Opción B.         ");
                        Console.SetCursorPosition(0, 2);
                        Console.Write("  Opción C.         ");
                        Console.SetCursorPosition(0, 3);
                        Console.Write("  Salir.            ");
                        break;
                    case 2:
                        Console.SetCursorPosition(0, 0);
                        Console.Write("  Opción A.         ");
                        Console.SetCursorPosition(0, 1);
                        Console.Write("  Opción B.         ");
                        Console.SetCursorPosition(0, 2);
                        Console.Write("> Opción C.         ");
                        Console.SetCursorPosition(0, 3);
                        Console.Write("  Salir.            ");
                        break;
                    case 3:
                        Console.SetCursorPosition(0, 0);
                        Console.Write("  Opción A.         ");
                        Console.SetCursorPosition(0, 1);
                        Console.Write("  Opción B.         ");
                        Console.SetCursorPosition(0, 2);
                        Console.Write("  Opción C.         ");
                        Console.SetCursorPosition(0, 3);
                        Console.Write("> Salir.            ");
                        break;
                    default:
                        Console.Write("Fuera de rango.     ");
                        break;
                }

                // Fin de pintar el menú principal.
                //******************************************************************

                // Leer tecla ingresada por el usuario.
                tecla = Console.ReadKey(true).Key;

                // Validar el tipo de tecla.
                if (tecla == ConsoleKey.Enter)
                {
                    switch (opcion)
                    {
                        case 0:
                            OpcionA();
                            break;
                        case 1:
                            OpcionB();
                            break;
                        case 2:
                            OpcionC();
                            break;
                        case 3:
                            guardarOpcion = 0;
                            MenuPrincipal();
                            break;
                        default:
                            break;
                    }
                }

                // Flecha abajo del teclado.
                if (tecla == ConsoleKey.DownArrow)
                {
                    opcion++;
                }

                // Flecha arriba del teclado.
                if (tecla == ConsoleKey.UpArrow)
                {
                    opcion--;
                }

                // Si está en la última opción del menú, salta a la primera.
                if (opcion > 3)
                {
                    opcion = 0;
                }

                // Si está en la primera posición del menú, salta a la última.
                if (opcion < 0)
                {
                    opcion = 3;
                }
            }
        }
        #endregion

        #region Opción A (0).
        public static void OpcionA()
        {
            ConsoleKey teclaOpcionA;
            Console.Clear();
            do
            {
                Console.SetCursorPosition(0, 0);
                Console.WriteLine("Estás en Opción A.");
                Console.SetCursorPosition(0, 2);
                Console.WriteLine("Pulse Enter para");
                Console.SetCursorPosition(0, 3);
                Console.WriteLine("Salir.");

                // Almacena el teclado pulsado en la variable teclaSubMenuA.
                teclaOpcionA = Console.ReadKey(true).Key;

            } while (teclaOpcionA != ConsoleKey.Enter);
        }
        #endregion

        #region Opción B (1).
        public static void OpcionB()
        {
            // Contador de teclas y navegador.
            int opcionB = 0;

            // Capturar tecla para luego validar.
            ConsoleKey teclaOpcionB;

            while (true)
            {
                switch (opcionB)
                {
                    case 0:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción B.  ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("> SubOpción B-1.    ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  SubOpción B-2     ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("  Salir.            ");
                        break;
                    case 1:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción B.  ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("  SubOpción B-1.    ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("> SubOpción B-2     ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("  Salir.            ");
                        break;
                    case 2:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción B.  ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("  SubOpción B-1.    ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  SubOpción B-2     ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("> Salir.            ");
                        break;
                    default:
                        Console.Write("Fuera de rango.     ");
                        break;
                }

                // Leer tecla ingresada por el usuario.
                teclaOpcionB = Console.ReadKey(true).Key;

                // Validar el tipo de tecla.
                if (teclaOpcionB == ConsoleKey.Enter)
                {
                    switch (opcionB)
                    {
                        case 0:
                            OpcionB1();
                            break;
                        case 1:
                            OpcionB2();
                            break;
                        case 2:
                            guardarOpcion = 1;
                            MenuOpciones();
                            break;
                        default:
                            Console.Write("Fuera de rango.     ");
                            break;
                    }
                }

                if (teclaOpcionB == ConsoleKey.DownArrow)
                {
                    opcionB++;
                }

                if (teclaOpcionB == ConsoleKey.UpArrow)
                {
                    opcionB--;
                }

                // Si está en la última opción, salta a la primera.
                if (opcionB > 2)
                {
                    opcionB = 0;
                }

                // Si está en la primera posición, salta a la última.
                if (opcionB < 0)
                {
                    opcionB = 2;
                }
            }
        }

        #endregion

        #region Opcion B-1.
        public static void OpcionB1()
        {
            ConsoleKey teclaOpcionB1;
            Console.Clear();
            do
            {
                Console.SetCursorPosition(0, 0);
                Console.WriteLine("Estás en Opción B-1.");
                Console.SetCursorPosition(0, 2);
                Console.WriteLine("Pulse Enter para    ");
                Console.SetCursorPosition(0, 3);
                Console.WriteLine("volver atrás.       ");

                // Almacena el teclado pulsado en la variable teclaSubMenuA.
                teclaOpcionB1 = Console.ReadKey(true).Key;

            } while (teclaOpcionB1 != ConsoleKey.Enter);
        }
        #endregion

        #region Opcion B-2.
        public static void OpcionB2()
        {
            ConsoleKey teclaOpcionB2;
            Console.Clear();
            do
            {
                Console.SetCursorPosition(0, 0);
                Console.WriteLine("Estás en Opción B-2.");
                Console.SetCursorPosition(0, 2);
                Console.WriteLine("Pulse Enter para    ");
                Console.SetCursorPosition(0, 3);
                Console.WriteLine("volver atrás.       ");

                // Almacena el teclado pulsado en la variable teclaSubMenuA.
                teclaOpcionB2 = Console.ReadKey(true).Key;

            } while (teclaOpcionB2 != ConsoleKey.Enter);
        }
        #endregion

        #region Opción C (2).
        public static void OpcionC()
        {
            // Contador de teclas y navegador.
            int opcionC = 0;

            // Capturar tecla para luego validar.
            ConsoleKey teclaOpcionC;
            Console.Clear();
           
            while(true)
            {
                switch (opcionC)
                {
                    case 0:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción C.  ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("> Color 1.          ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  Color 2.          ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("  Opción C-1.       ");
                        break;
                    case 1:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción C.  ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("  Color 1.          ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("> Color 2.          ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("  Opción C-1.       ");
                        break;
                    case 2:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción C.  ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("  Color 1.          ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  Color 2.          ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("> Opción C-1.       ");
                        break;
                    case 3:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("> Color 3.          ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("  Color 4.          ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  Color 5.          ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("  Salir.            ");
                        break;
                    case 4:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("  Color 3.          ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("> Color 4.          ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  Color 5.          ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("  Salir.            ");
                        break;
                    case 5:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("  Color 3.          ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("  Color 4.          ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("> Color 5.          ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("  Salir.            ");
                        break;
                    case 6:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("  Color 3.          ");
                        Console.SetCursorPosition(0, 1);
                        Console.WriteLine("  Color 4.          ");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  Color 5.          ");
                        Console.SetCursorPosition(0, 3);
                        Console.WriteLine("> Salir.            ");
                        break;

                    default:
                        Console.Write("Fuera de rango.     ");
                        break;
                }

                // Leer tecla ingresada por el usuario.
                teclaOpcionC = Console.ReadKey(true).Key;

                // Validar el tipo de tecla.
                if (teclaOpcionC == ConsoleKey.Enter)
                {
                    switch (opcionC)
                    {
                        case 0:
                            // Fondo azul.
                            Console.BackgroundColor = ConsoleColor.Blue;

                            // Letras blancas.
                            Console.ForegroundColor = ConsoleColor.White;
                            break;
                        case 1:
                            // Fondo verde.
                            Console.BackgroundColor = ConsoleColor.Green;

                            // Letras negras.
                            Console.ForegroundColor = ConsoleColor.Black;
                            break;
                        case 2:
                            OpcionC1();
                            break;
                        case 3:
                            // Fondo negro.
                            Console.BackgroundColor = ConsoleColor.Black;

                            // Letras rojo.
                            Console.ForegroundColor = ConsoleColor.Red;
                            break;
                        case 4:
                            // Fondo negro.
                            Console.BackgroundColor = ConsoleColor.Black;

                            // Letras rojo.
                            Console.ForegroundColor = ConsoleColor.Yellow;
                            break;
                        case 5:
                            // Fondo negro.
                            Console.BackgroundColor = ConsoleColor.Red;

                            // Letras rojo.
                            Console.ForegroundColor = ConsoleColor.DarkRed;
                            break;
                        case 6:
                            guardarOpcion = 2;
                            MenuOpciones();
                            break;
                        default:
                            Console.Write("Fuera de rango.     ");
                            break;
                    }
                }

                if (teclaOpcionC == ConsoleKey.DownArrow)
                {
                    opcionC++;
                }

                if (teclaOpcionC == ConsoleKey.UpArrow)
                {
                    opcionC--;
                }

                // Si está en la última opción, salta a la primera.
                if (opcionC > 6)
                {
                    opcionC = 0;
                }

                // Si está en la primera posición, salta a la última.
                if (opcionC < 0)
                {
                    opcionC = 6;
                }
            }
        }
        #endregion

        #region OpcionC-1.
        public static void OpcionC1()
        {
            // Contador de teclas y navegador.
            int opcionC1 = 0;

            // Capturar tecla para luego validar.
            ConsoleKey teclaOpcionC1;
            Console.Clear();
           
            while(true)
            {
                Console.Clear();

                switch (opcionC1)
                {
                    case 0:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción C-1.");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("  SI");
                        Console.SetCursorPosition(16, 2);
                        Console.WriteLine("> NO");
                        break;
                    case 1:
                        Console.SetCursorPosition(0, 0);
                        Console.WriteLine("Estás en Opción C-1.");
                        Console.SetCursorPosition(0, 2);
                        Console.WriteLine("> SI");
                        Console.SetCursorPosition(16, 2);
                        Console.WriteLine("  NO");
                        break;
                    default:
                        Console.Write("Fuera de rango.     ");
                        break;
                }

                // Leer tecla ingresada por el usuario.
                teclaOpcionC1 = Console.ReadKey(true).Key;

                // Validar el tipo de tecla.
                if (teclaOpcionC1 == ConsoleKey.Enter)
                {
                    switch (opcionC1)
                    {
                        case 0:
                            guardarOpcion = 2;
                            MenuPrincipal();
                            //Console.Clear();
                            break;
                        case 1:
                            OpcionSI();
                            break;
                        default:
                            Console.Write("Fuera de rango.     ");
                            break;
                    }
                }

                // Flecha derecha.
                if (teclaOpcionC1 == ConsoleKey.RightArrow)
                {
                    opcionC1++;
                }

                // Flecha izquierda.
                if (teclaOpcionC1 == ConsoleKey.LeftArrow)
                {
                    opcionC1--;
                }

                // Si está en la última opción, salta a la primera.
                if (opcionC1 > 1)
                {
                    opcionC1 = 0;
                }

                // Si está en la primera posición, salta a la última.
                if (opcionC1 < 0)
                {
                    opcionC1 = 1;
                }
            }
        }
        #endregion

        #region opcionSI del sub menú C-1.
        public static void OpcionSI()
        {
            ConsoleKey teclaOpcionB1;
            Console.Clear();
            do
            {
                Console.SetCursorPosition(0, 0);
                Console.WriteLine("Estás en Opción SÍ.");
                Console.SetCursorPosition(0, 2);
                Console.WriteLine("Pulse Enter para    ");
                Console.SetCursorPosition(0, 3);
                Console.WriteLine("volver atrás.       ");

                // Almacena el teclado pulsado en la variable teclaOpciónB1.
                teclaOpcionB1 = Console.ReadKey(true).Key;

            } while (teclaOpcionB1 != ConsoleKey.Enter);
        }
        #endregion
    }
}


Ya dije que el código es larrrrrrrrrrgo y horrible.

Pero.....

Funciona, ajajjajajajjaja.

Lo que no quiero programar así, tengo que mejorar sea como sea para hacer las cosas bien desde el principio.
#184
@XSStringManolo Lo tengo hecho con el lenguaje C#. Está tan chapuza lo que he hecho con tantos códigos repetidos, que me da vergüenza publicarlo. Si quieres lo publico aquí el código de C#. Aguanto la vergüenza sea como sea.  :silbar:

@EdePC Me encanta tu trabajo. Me he dado cuenta que no funciona como tiene que funcionar. Hace cosas no deseadas.

Si estoy en la pantalla de inicio, pulso un número, sale el menú, no debería, solo si pulso Enter.
Si pulso el 1 cuando ya estoy en el menú, entras bien, luego tiene que pulsar solo Enter y va al inicio de todo, donde se ve la hora y fecha. No tiene tampoco que cerrarse la ventana nunca.
Son muchos detalles que no está tal como puse en el esquema. Es para que te hagas una idea. Aún así lo que hiciste, buen trabajo.

Ya que dicen que PowerShell es el sustituto del cmd, pues no es compatibl el programa de bat al ps1. DEl CMD al PowerShell.

Gracias a los dos.
#185
Como vez la fecla abajo en C#.
Código (csharp) [Seleccionar]
tecla == ConsoleKey.DownArrow

Si quieres la de, solo tienes que poner la D, quedaría así.

Código (csharp) [Seleccionar]
tecla == ConsoleKey.D

Saludos.
#186
Hola:

Quiero saber si a estas alturas se puede crear un menú y submenú con la línea de comando de Windows 10, el cmd de siempre. Se que está PowerShell, el sustituto del cmd, pero este es más complicado, nuevo y no entiendo, en realidad, no entiendo ninguno.

Solo se permite usar las flechas del teclado y la tecla Enter para navegar por esos menú y submenús.

Esquema boceto para hacer una idea.


Vídeo:
[youtube=640,360]https://www.youtube.com/watch?v=vvT-dAeuNXg[/youtube]

Saludos.
#187
Gracias.

Ya lo he hecho. Dejo el ejemplo aquí por si alguien lo necesita, aunque hayan pasado 20 años, jajajaja. O poco le faltan.

Código (cpp) [Seleccionar]
#include <iostream>
#include <windows.h> // Para mostrar texto en el título de la ventana.

using namespace std;
using std::cout;
using std::cin;

int main(void)
{
// Mostrar caracteres correctamente en pantalla.
SetConsoleOutputCP(65001);
wchar_t titulo[128];
MultiByteToWideChar(CP_UTF8, 0, "Título de la ventana. Win32 C++ 2019.", -1, titulo, 128);
SetConsoleTitle(titulo);

// Tamaño de la pantalla. Se cambia en los dos últimos dígitos.
SMALL_RECT r = { 0, 0, 49, 9 };
SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE), TRUE, &r);

// Mostrar textos en pantalla.
cout << "Terminarías. Conocerías. Título. Analógico. \n";
cout << "Muchas gracias mi muy distinguido amigo.";

// Esperando pulsar Enter para salir.
cin.get();
return 0;
}


Saludos.
#188
Programación General / Re: De voz a texto
29 Marzo 2020, 14:08 PM
Prueba con esto en Consola C#:

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Speech.Recognition; // No olvidar.

namespace Reconocimiento_voz_consola_02
{
    class Program
    {
        public SpeechRecognitionEngine escucha = new SpeechRecognitionEngine();

        static void Main(string[] args)
        {
            Console.WindowWidth = 80; // Redimensionando ventana consola.
            Console.WindowHeight = 43;
            Console.Title = "Reconicimiento voz 02"; // Título de la ventana.
            Console.BackgroundColor = ConsoleColor.White; // Fondo pantalla blanco.
            Console.Clear(); // Limpiar pantalla.
            Console.ForegroundColor = ConsoleColor.Blue; // Color texto azul.
            string entradaComandos = string.Empty;
            Console.WriteLine(@"Elija una opción:

1) Activar reconocimiento de voz.
2) Salir del programa.");
            Console.CursorVisible = true;
            entradaComandos = Console.ReadLine().ToString();


                switch (entradaComandos)
                {
                    case "1":
                        Program escuchaProgram = new Program();
                        escuchaProgram.MicroActivo();
                        Console.WriteLine("Reconocimiento de voz activado. Escuchando...");
                    Console.ReadKey();
                        break;

                    case "2":
                        // Salir del programa.
                        // Aquí instrucciones para salir de esta aplicación.
                        break;
                }
           
        }

        public void MicroActivo()
        {
            escucha.SetInputToDefaultAudioDevice(); // Abrir el dispositivo de audio. Micro.
            escucha.LoadGrammar(new DictationGrammar()); // Escuchar tu voz desde el micro.
            escucha.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(lector); // Escribe las palabras.
            escucha.RecognizeAsync(RecognizeMode.Multiple); // Reconociendo varias palabas.
        }

        public void lector(object sender, SpeechRecognizedEventArgs e)
        {
            foreach (RecognizedWordUnit palabra in e.Result.Words)
            {
                Console.SetCursorPosition(10, 10);
                Console.Write(palabra.ToString());

                if (palabra.ToString() == "izquierda")
                {
                   
                    Console.Write("Palabra: ");
                }
            }
        }
    }
}


Ya dirás si algo funciona..
#189
Hola:

Otro manual en español más mucho más actualizado, moderno y completo, hasta puedes explica como incrusta códigos C# y VB .net en PowerShell.

Ver manual.

Saludos.
#190
Hola:

No, me refireo, hablando de C++. Que al poner tilder, sale caracteres raros en pantalla. Si pones tilder, por ejemplo, í, sale otra cosa al compilar el programa de C++ Win32.

Ejemplo esta captura.


Saludos.