Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: César Krall en 10 de Mayo 2015, 16:28

Título: Qbasic menú desplegable gráfico simple con QuickBasic elegible con cursor
Publicado por: César Krall en 10 de Mayo 2015, 16:28
Este código permite elegir opciones de un menú con el cursor para QuickBasic:

Código: [Seleccionar]
'Menu.bas       Ray Thomas      February 2002

OPTION BASE 1

DIM MenuItem(3) AS STRING       'Define the menu item array
DIM ChooseItem AS INTEGER       'Currently chosen menu item
DIM XMenuPosn AS INTEGER        'Controls the menu item X positions
DIM YMenuPosn AS INTEGER        'Controls the menu item Y positions

MenuItem$(1) = "  Alpha  "
MenuItem$(2) = "  Bravo  "
MenuItem$(3) = " Charlie "

CLS

ChooseItem = 1
XMenuPosn = 10
YMenuPosn = 3

GOSUB DrawMenu

'get cursor key movements and redraw menu
DO
        Cmmnd$ = INKEY$

        IF LEN(Cmmnd$) = 2 THEN Cmmnd$ = RIGHT$(Cmmnd$, 1)
     
        IF Cmmnd$ = "8" OR Cmmnd$ = CHR$(72) THEN GOSUB MoveUp
        IF Cmmnd$ = "2" OR Cmmnd$ = CHR$(80) THEN GOSUB MoveDown
        IF Cmmnd$ = "7" OR Cmmnd$ = CHR$(71) THEN ChooseItem = 1
        IF Cmmnd$ = "1" OR Cmmnd$ = CHR$(79) THEN ChooseItem = UBOUND(MenuItem)

        GOSUB DrawMenu
LOOP UNTIL Cmmnd$ = CHR$(13)

PRINT
COLOR 16, 10
PRINT "Item chosen ="; MenuItem(ChooseItem)

END

DrawMenu:
'Draw the menu
LOCATE YMenuPosn, XMenuPosn
FOR Count = 1 TO UBOUND(MenuItem$)
        IF Count = ChooseItem THEN COLOR 4, 2 ELSE COLOR 2, 4
        PRINT MenuItem$(Count)
        LOCATE CSRLIN, XMenuPosn
NEXT Count
RETURN

MoveUp:
IF ChooseItem = 1 THEN
        ChooseItem = UBOUND(MenuItem$)
ELSE
        ChooseItem = ChooseItem - 1
END IF
RETURN

MoveDown:
IF ChooseItem = UBOUND(MenuItem$) THEN
        ChooseItem = 1
ELSE
        ChooseItem = ChooseItem + 1
END IF
RETURN

(http://brisray.com/qbasic/qmenuav.gif)