Autor Tema: QBASIC -Mostrar menús. Menú con las flechas de los cursores para elegir opción  (Leído 7723 veces)

nicolas2015alcubo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
¿Alguien de aquí entiende el antiguo qbasic?

Yo me hice el siguiente menú donde el usuario debe elegir una opción presionando directamentevel número indicado en la opción. Esre sería el código fuente (Es válido también en Power BASIC 3.5, lo probé y lo compilé a este código fuente y funciona OK):

Código: [Seleccionar]
GOSUB MENU

MENU:
OPCION$ = "A"
CLS
LOCATE 2,30:PRINT "-MI MENU PRINCIPAL-"
LOCATE 5,20:PRINT "1- SUMAR 2 NUMEROS"
LOCATE 6,20:PRINT "2- ACERCA DE..."
LOCATE 7,20:PRINT "3- SALIR"
LOCATE 20,20:PRINT "PARA ELEGIR PULSE EL NRO. INDICADO..."
DO
    OPCION$ = INKEY$
LOOP WHILE OPCION$ = ""

SELECT CASE OPCION$
    CASE "1"
    GOSUB SUMAR

    CASE "2"
    GOSUB ACERCA

    CASE "3"
    GOSUB SALIR

    CASE ELSE
    GOSUB ERRORSELECCION

END SELECT

SUMAR:
CLS
INPUT "INGRESE UN NUMERO: ", N1
INPUT "INGRESE OTRO NUMERO: ", N2
R = N1 + N2
PRINT
PRINT "LA SUMA DE ESOS 2 NUMEROS ES:"; R
PRINT "PULSE UNA RECLA PARA VOLVER AL MENU..."
DO
LOOP UNTIL INKEY$ <> ""
CLS
GOSUB MENU

ACERCA:
CLS
LOCATE 6,20:PRINT "PROGRAMADO PIR NICOLAS MATIAS FUNTALAS YSANDO BASIC"
LOCATE 8,20:PRINT "PRESIONE UNA TECLA PARA IR AL MENU..."
DO
LOOP UNTIL INKEY$ <> ""
CLS
GOSUB MENU

ERRORSELECCION:
LOCATE 22,30:PRINT "OPCION NO VALIDA!!!"
DO
LOOP UNTIL INKEY$ <> ""
CLS
GOSUB MENU

SALIR:
CLS
PRINT "HASTA LA VISTA BABY!!!"
END

Como ustedes podrán apreciar la forma en que el usuario selecciona una opción del menú es sencillamente presionando el numerito indicado en la opción. Pero el tipo de menú que yo quisiera poder hacer es ese en que el usuario debe usar las teclas de flecha de los cursores Arriba/Avbajo para desplazarse por las opciones del menú y luego tenga que presionar Enter para sdleccionar la opcion resaltada. Vendría a ser algo igual con lo que sucede en Clipper 5.2 que para hacer ese tipo de menúes que yo pretendo está las rutinas PROMPT y MENU TO. Ejemplo de menúes con ese sistema de selección pueden ser el menú de arranque de Windows que aparece al apretar F8, los sistemas antiguos basados en MS-DOS que hay en los comercios, la BIOS, etc. Yo para correr el QBASIC y el POWER BASIC uso el gran DOSBOX 0.74. Hasta uso gdosbox en Android. Ni Qbasic ni Power Basic tiene un MENU TO para hacer ese tipo de menúes,;así que dudo que se puedan crear ese tipo de menúes. Si alguien conoce funciones en ese lenguaje para poder hacer ese mismo menú que les mostré, pero con el sistema de selecciòn con las flechas de los cursores y la tecla Enter para escoger la opción resaltada que me ayude. Saludos
« Última modificación: 10 de Mayo 2015, 16:40 por César Krall »

nicolas2015alcubo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:QBASIC -Menú con las flechas de los cursores
« Respuesta #1 en: 09 de Mayo 2015, 04:43 »
Respuestas, por favor...

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:QBASIC -Menú con las flechas de los cursores
« Respuesta #2 en: 10 de Mayo 2015, 00:02 »
Hola nicolas2015alcubo, estás preguntando por algo que nos trae muchos recuerdos a quienes empezamos a programar en aquella época pero que hoy día prácticamente nadie usa. Y no quiero decir que no sirva, que servir sirve, incluso es bueno para el aprendizaje de la programación, pero ya es hasta difícil conseguir ejecutar Qbasic en un computador de los actuales. ¿No te has planteado usar Visual Basic?

Saludos
Responsable de departamento de producción aprenderaprogramar.com

nicolas2015alcubo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:QBASIC -Menú con las flechas de los cursores
« Respuesta #3 en: 10 de Mayo 2015, 00:30 »
Soy un fan del MS-DOS jajaja. Me gusta más el DOS antiguo para programar. ¿En el QBASIC o BASIC se podían hacerese estilo de menúes como había dicho (Flechas del cursor y Enter) o solo podíamos hacer menúes cuya opción se elige presionando un número o letra?

nicolas2015alcubo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:QBASIC -Menú con las flechas de los cursores
« Respuesta #4 en: 10 de Mayo 2015, 01:41 »
Fíjense este video de Youtube:

https://www.youtube.com/watch?v=Vzt2lI93vD4

En el minuto 0:38 van a ver un menú que se selecciina la opción usando las flechas de los cursores para navegar por las opciones y se presiona Enter para "ejecutar" la opción resaltada. En clipper es sencillo usando el menu to. En QBASIC o BASIC hay alguna forma de crear menúes con eseestilo de selección?. Traten de averiguar. Saludos.




César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola! He creado varios temas con código:

QBasic Menú simple de texto con QuickBasic con select case y gosub: https://www.aprenderaprogramar.com/foros/index.php?topic=2546.0

Qbasic menú desplegable gráfico simple con QuickBasic elegible con cursor: https://www.aprenderaprogramar.com/foros/index.php?topic=2547.0

Qbasic menú multicolumnas en QuickBasic elegir opciones con cursor: https://www.aprenderaprogramar.com/foros/index.php?topic=2548.0

Qbasic menú desplegable con teclas de acceso rápido QuickBasic: https://www.aprenderaprogramar.com/foros/index.php?topic=2549.0

Qbasic menú horizontal o vertical scroll mostrar items que no caben en pantalla: https://www.aprenderaprogramar.com/foros/index.php?topic=2550.0

Saludos
Responsable de departamento de producción aprenderaprogramar.com

nicolas2015alcubo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Que menso que zoy!
Entonces la idea principal de ese tipo de menues es pintar el menu en una posicion especifica de la pantalla, leer las teclas de los cursores y reescribie el menu cambiando los colores. Voy a probarlo y paso el nuevo source code!!!

nicolas2015alcubo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Bueno capos:

Logré crear el sistema de menúes con las flechas de los cursores en Power BASIC. El código fuente (Lo ejecuté y anda ok):

Código: [Seleccionar]
GOSUB MENU

MENU:
OP=1
CLS
LOCATE 2, 30:PRINT "-MI MENU PRINCIPAL-"
COLOR 0,7
LOCATE 5,20:PRINT "Sumar 2 numeros"
COLOR 7,0
LOCATE 6,20:PRINT "Acerca de..."
LOCATE 7,20:PRINT "Salir"
LOCATE 20,20:PRINT "USE FLECHAS ARRIBA/ABAJO PARA NAVEGAR"
LOCATE 21,20:PRINT "USE <ENTER> PARA ESCOGER"
DO
    TECLA$=INKEY$

    IF TECLA$ = CHR$(0) + CHR$(72) THEN OP=OP-1
    IF TECLA$ = CHR$(0) + CHR$(80) THEN OP=OP+1
    IF OP > 3 THEN OP = 1
    IF OP < 1 THEN OP = 3

    SELECT CASE OP
        CASE 1

        COLOR 0,7
        LOCATE 5,20:PRINT "Sumar 2 numeros"
        COLOR 7,0
        LOCATE 6,20:PRINT "Acerca de..."
        LOCATE 7,20:PRINT "Salir"

        CASE 2

        COLOR 7,0
        LOCATE 5,20:PRINT "Sumar 2 numeros"
        COLOR 0,7
        LOCATE 6,20:PRINT "Acerca de..."
        COLOR 7,0
        LOCATE 7,20:PRINT "Salir"

        CASE 3

        COLOR 7,0
        LOCATE 5,20:PRINT "Sumar 2 numeros"
        LOCATE 6,20:PRINT "Acerca de..."
        COLOR 0,7
        LOCATE 7,20:PRINT "Salir"
                   
    END SELECT       
   

LOOP UNTIL TECLA$ = CHR$(13)

SELECT CASE OP

    CASE 1
    CLS
    GOSUB SUMA

    CASE 2
    CLS
    GOSUB ACERCA

    CASE 3
    CLS
    GOSUB SALIR

END SELECT 

SUMA:
COLOR 7,0
CLS
INPUT "Ingrese el primer numero: ", N1
INPUT "Ingrese el segundo numero: ", N2
R=N1+N2
PRINT
PRINT "La suma de esos numeros es"; R
DO
LOOP WHILE INKEY$ = ""
CLS
GOSUB MENU

ACERCA:
COLOR 7,0
CLS
LOCATE 5,20:PRINT "PROGRAMADO POR NICOLAS MATIAS FUNTALAS"
DO
LOOP WHILE INKEY$ = ""
CLS
GOSUB MENU

SALIR:
COLOR 7,0
CLS
PRINT "HASTA KA VISTA, BABY!!!"
END

¿Qué opinan de mi código?. Saludos y gracias por todo!!!
Nico.
« Última modificación: 11 de Mayo 2015, 10:58 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola, me alegro que lo hayas conseguido! Lo primero pedirte que para pegar código lo hagas como indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Tu código lo veo bien, no sé si lo verá más gente porque como te comentaba esto ya prácticamente no se usa, aunque siempre hay alguien por ahí que todavía lo sigue usando.

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".