Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Manu

Anmeldungsdatum: 16.07.2006 Beiträge: 174 Wohnort: Bayern
|
Verfasst am: 12.08.2006, 12:06 Titel: Wie mache ich ein "oben-unten-Enter-Menü"? |
|
|
Hallo,
wei mache ich in QBasic ein Menü wo ich mit oben rauf und unten runter kann.
Die ganzen Menüpunkte muss man dann bestätigen mit Enter wenn man sich gerade darauf befindet.
so:
Start
Optionen
Ende
ihr wisst schon was ich meine
danke im voraus
mfg Manu |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
Verfasst am: 12.08.2006, 12:21 Titel: |
|
|
Das geht eigentlich recht einfach. Hier ein Beispiel. Ich habe das einfach mal flott dahin geschrieben und nicht getestet. Vom Source her, dürfte das Prinzip auch klar sein.
Zitat: | DIM Menu$(1 TO 3)
Menu$(1) = "Start"
Menu$(2) = "Optionen"
Menu$(3) = "Ende"
DIM Aktuell, Auswahl ' Aktuell ausgewählter Menüpunkt
Aktuell = 1
Auswahl = 0
DO
' Anzeige der Optionen
FOR e = LBOUND(Menu$) TO UBOUND (Menu$)
LOCATE e, 10
IF e = Aktuell THEN COLOR 15,0 ELSE COLOR 7, 0 ' Hebe gewählte Option hervor
PRINT Menu$(e)
NEXT e
DO
a$ = INKEY$
LOOP UNTIL a$ <> ""
IF a$ = CHR$(13) THEN Auswahl = Aktuell
IF a$ = CHR$(0) + "P" THEN IF Aktuell < UBOUND(Menu$) THEN Aktuell = Aktuell + 1
IF a$ = CHR$(0) + "H" THEN IF Aktuell > LBOUND(Menu$) THEN Aktuell = Aktuell - 1
LOOP UNTIL Auswahl <> 0
SELECT CASE Auswahl ' Werte das Ergebnis aus
CASE 1
Call Sub_Start
CASE 2
Call Sub_Optionen
CASE 3
Call Sub_Ende
END SELECT |
_________________ +++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial |
|
Nach oben |
|
 |
Manu

Anmeldungsdatum: 16.07.2006 Beiträge: 174 Wohnort: Bayern
|
Verfasst am: 12.08.2006, 12:48 Titel: |
|
|
aja
danke für deine Hilfe
mfg Manu |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 12.08.2006, 17:13 Titel: |
|
|
Ich habe mal vor längerer Zeit eine kleine Funktion geschrieben, die ich seitdem in jedem QB-Programm von mir integriere. Wenn es dabei wirklich nur so einfach wie möglich sein soll ohne irgendwelchen "Schnickschnack", kann dir mein Code wahrscheinlich weiterhelfen: Code: | DECLARE FUNCTION MenueEngine% (y%, x%, Auswahl$)
CLS
Variable% = MenueEngine%(10, 10, "Spiel starten;Optionen;Beenden")
SELECT CASE Variable%
CASE 1 ' Hier der Code fü?r 'Spiel starten'
PRINT "Spiel starten wurde gewählt!"
CASE 2 ' Hier der Code f?ür 'Optionen'
PRINT "Optionen wurde gewählt!"
CASE 3 ' Hier der Code f?ür 'Beenden'
PRINT "Beenden wurde gewählt!"
END SELECT
FUNCTION MenueEngine% (y%, x%, Auswahl$)
'
' Version 1.01
'
' MenueEngine-Function... Written by Manuel Kammermeier
' please DO NOT remove this comment ;-)
'
' MenueEngine-Funktion... Erstellt von Manuel Kammermeier
' Bitte diesen Kommentar NICHT loeschen ;-)
'
DO
temp% = INSTR(Auswahl$, ";")
LOCATE y% + AnzahlP%, x% + 3
IF temp% <> 0 THEN
PRINT LEFT$(Auswahl$, temp% - 1)
Auswahl$ = MID$(Auswahl$, temp% + 1, LEN(Auswahl$) - temp%)
ELSE
PRINT Auswahl$
END IF
AnzahlP% = AnzahlP% + 1
LOOP UNTIL temp% = 0
Auswahl% = 1
LOCATE y%, x%
PRINT "->"
DO
DO
SLEEP
a$ = INKEY$
LOOP UNTIL a$ = CHR$(0) + CHR$(80) OR a$ = CHR$(0) + CHR$(72) OR a$ = CHR$(13) OR a$ = CHR$(27)
LOCATE y% + Auswahl% - 1, x%
PRINT " "
IF a$ = CHR$(27) THEN
IF Auswahl% = AnzahlP% THEN
a$ = CHR$(13)
ELSE
Auswahl% = AnzahlP%
END IF
END IF
IF a$ = CHR$(13) THEN
MenueEngine% = Auswahl%
LOCATE y% + AnzahlP%
EXIT FUNCTION
END IF
IF a$ = CHR$(0) + CHR$(80) THEN
Auswahl% = Auswahl% + 1
IF Auswahl% > AnzahlP% THEN Auswahl% = 1
END IF
IF a$ = CHR$(0) + CHR$(72) THEN
Auswahl% = Auswahl% - 1
IF Auswahl% = 0 THEN Auswahl% = AnzahlP%
END IF
LOCATE y% + Auswahl% - 1, x%
PRINT "->"
LOOP
END FUNCTION |
_________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu |
|
Nach oben |
|
 |
Manu

Anmeldungsdatum: 16.07.2006 Beiträge: 174 Wohnort: Bayern
|
Verfasst am: 12.08.2006, 19:28 Titel: |
|
|
aja danke |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 14.08.2006, 15:21 Titel: |
|
|
Soo, und jetzt gebe ich auch noch mal meinen Senf dazu: Mein Programm EasyCash verwendet teilweise auch solche Menüs,
vielleicht hilft dir der Source auch weiter
jb _________________ Elektronik und Programmieren |
|
Nach oben |
|
 |
|