Manual de xsEasyC
Como crear Menús y Ventanas de Captura-Mensaje

La librería xsmenu de xsEasyC proporciona funciones para crear Menus y Ventanas de Captura-Mensaje, para aplicaciones de Consola. Esta librería hace uso de la librería conio; para lo cual al realizar la compilación del archivo; se debe de agregar el uso de esta librería, tal y como se muestra en el siguiente ejemplo:

gcc menuHorizontal.c -lxseasyc -lconio -o menuHorizontal

El comando anterior compilará el archivo menuHorizontal.c (incluido en los ejemplos) y utilizará la librería xsEasyC y la librería conio; para generar el ejecutable menuHorizontal.exe.

Las Funciones que incluye la librería son las siguientes:

  • menuHorizontal
    Función para crear un Menú Horizontal en la Pantalla.
    Esta función utiliza 5 parámetros:
    Opcion menu[]. Este valor es un Vector de Cadenas el cual contiene las Opciones del Menú a mostrar.
    Entero opciones. Este valor se utiliza para indicar cuantas opciones desplegará el Menú. Debe de coincidir con las opciones del Vector.
    Entero activa. Este valor se utiliza para indicar cual de las opciones estará activa al desplegar el Menú.
    Entero renglon. Este valor indica el renglón en donde aparecerá el Menú.
    Entero columna. Este valor indica la columna a partir de la cual se desplegarán las opciones del Menú.

    Ejemplo:

    // Declara el vector de opciones
    Opcion menu[5];

    // Indica las opciones
    cadenaAsignar(menu[0],"Aceptar");
    cadenaAsignar(menu[1],"Cancelar");
    cadenaAsignar(menu[2],"Buscar");
    cadenaAsignar(menu[3],"Codificacion");
    cadenaAsignar(menu[4],"Herramientas");

    // Variable para la opcion Seleccionada
    Entero opcion;

    // Llama al Menu
    opcion = menuHorizontal(menu,5,2,10,40);
    CL;

    El Ejemplo anterior muestra un Menú de 5 Opciones, indicando que la número 2 será la inicialmente activa. El Menú es desplegado en el renglón 10; iniciando el despliegue de las opciones en la columna 40. El usuario puede seleccionar las opciones utilizando las flechas de movimiento del cursor y al presionar ENTER la función devuelve el número de la opción seleccionada.

    menu Horizontal


  • menuVertical
    Función para crear un Menú Vertical en la Pantalla.
    Esta función utiliza 5 parámetros:
    Opcion menu[]. Este valor es un Vector de Cadenas el cual contiene las Opciones del Menú a mostrar.
    Entero opciones. Este valor se utiliza para indicar cuantas opciones desplegará el Menú. Debe de coincidir con las opciones del Vector.
    Entero activa. Este valor se utiliza para indicar cual de las opciones estará activa al desplegar el Menú.
    Entero renglon. Este valor indica el renglón en donde inicia el despliegue de las opciones del Menú.
    Entero columna. Este valor indica la columna en donde se despliegan las opciones del Menú.

    Ejemplo:

    // Declara el vector de opciones
    Opcion menu[5];

    // Indica las opciones
    cadenaAsignar(menu[0],"Aceptar ");
    cadenaAsignar(menu[1],"Cancelar ");
    cadenaAsignar(menu[2],"Buscar ");
    cadenaAsignar(menu[3],"Codificacion");
    cadenaAsignar(menu[4],"Herramientas");

    // Variable para la opcion Seleccionada
    Entero opcion;

    // Llama al Menu
    opcion = menuVertical(menu,5,1,10,5);
    CL;

    // Mensaje
    imprimirEntero(opcion,"La opcion seleccionada es:%d",SIN_CAMBIO_LINEA);

    El Ejemplo anterior muestra un Menú de 5 Opciones, indicando que la número 1 será la inicialmente activa. El Menú es desplegado desde el renglón 10; y en la Columna 5. Al igual que con el Menú Horizontal, el usuario puede seleccionar las opciones utilizando las flechas de movimiento del cursor y al presionar ENTER la función devuelve el número de la opción seleccionada.

    menu Vertical


  • ventanaCaptura
    Función para crear una Ventana de Captura de Datos.
    Esta función utiliza 5 parámetros:
    Caracter *titulo. Este valor es para indicar el Título que será desplegado en la Ventana.
    Cadena mensajes[]. Este valor es un Vector de Cadenas, el cual contiene los mensajes que será desplegado en la Ventana.
    Entero lineas. Este valor se utiliza para indicar cual lineas contiene el Mensaje; debe de corresponder con el Vector de mensajes.
    Entero ancho. Este valor indica el ancho en columnas que tendrá la Ventana de Captura.
    Caracter *captura. Este valor es en donde se depositará lo que el usuario capture.

    Ejemplo:

    // Construyo el Vector de Mensaje
    Cadena mensajes[3];

    // Captura los Mensajes
    cadenaAsignar(mensajes[0],"Capture el mensaje a Enviar");
    cadenaAsignar(mensajes[1],"50 caracteres disponibles");
    cadenaAsignar(mensajes[2],"Al finalizar presione Enter");

    // Variable para la captura
    Cadena captura;

    // Ventana de Captura
    ventanaCaptura("Sistema V3.0",mensajes,3,50,captura);

    El Ejemplo anterior muestra un Ventana de Captura con un ancho de 50 columnas, en la cual aparece un Mensaje en 3 líneas, y donde el usuario puede capturar una respuesta específica. La Ventana de Captura aparece centrada en la pantalla, de acuerdo a las líneas del Mensaje y al ancho de la Ventana.

    ventana Captura


  • ventanaMensaje
    Función para crear una Ventana de Mensaje.
    Esta función utiliza 5 parámetros:
    Caracter *titulo. Este valor es para indicar el Título que será desplegado en la Ventana.
    Cadena mensajes[]. Este valor es un Vector de Cadenas, el cual contiene los mensajes que será desplegado en la Ventana.
    Entero lineas. Este valor se utiliza para indicar cual lineas contiene el Mensaje; debe de corresponder con el Vector de mensajes.
    Entero ancho. Este valor indica el ancho en columnas que tendrá la Ventana de Captura.
    Entero botones. Este valor es para indicar cuales botones serán presentados. Las opciones disponibles son: BOTON_ACEPTAR, BOTON_ACEPTAR_CANCELAR, BOTON_REINTENTAR_CANCELAR, BOTON_SI_NO, BOTON_SI_NO_CANCELAR y BOTON_ANULAR_REINTENTAR_IGNORAR.

    Ejemplo:

    // Construyo el Vector de Mensaje
    Cadena mensajes[3];

    // Define los mensajes a desplegar
    cadenaAsignar(mensajes[0],"El Sistema ha Detectado un Error");
    cadenaAsignar(mensajes[1],"No ha sido posible abrir el archivo");
    cadenaAsignar(mensajes[2],"Deseas continuar de cualquier forma?");

    // Mensaje
    ventanaMensaje("Sistema V3.0",mensajes,3,50,BOTON_REINTENTAR_CANCELAR);

    El Ejemplo anterior muestra un Ventana con un Mensaje de 3 líneas y un ancho de 50 columnas, y se despliegan 2 botones para que el usuario seleccione el botón que desee; el botón de Reintentar y el botón de Cancelar. La Ventana de Mensaje aparece centrada en la pantalla de acuerdo a las líneas desplegadas y al ancho de la Ventana de Mensaje.La función devolverá el botón que el usuario haya seleccionado.

    ventana Mensaje