Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Pfeiltaste unten geht nicht

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Gnoccy



Anmeldungsdatum: 11.03.2010
Beiträge: 1

BeitragVerfasst am: 11.03.2010, 15:38    Titel: Pfeiltaste unten geht nicht Antworten mit Zitat

Hi,
Ich habe folgendes Problem:

Ich wollte ein Menu programmieren, dass man mit den Pfeiltasten steuern kann. Ich hab mich dann hier im Forum schlau gemacht wie das geht und habe es auch einigermaßen hingekriegt, aber jetzt ist mein Problem, dass zwar die Oben Taste, aber nicht die Unten Taste funktioniert.
Das Programm sieht so aus:

Code:
10 COLOR 10, 11
20 CLS
30 PRINT "                           Hauptmenu"
40 PRINT
50 PRINT
60 PRINT "                      -> Spiel starten"
70 PRINT "                         Spiel laden"
80 PRINT "                         Optionen"
90 PRINT "                         Spiel beenden"
95 Taste$ = INKEY$
100 IF Taste$ = CHR$(0) + CHR$(78) THEN GOTO 140
110 IF Taste$ = CHR$(0) + CHR$(72) THEN GOTO 380
120 IF INKEY$ = CHR$(13) THEN END
125 SLEEP
130 GOTO 20
140 CLS
150 PRINT "                           Hauptmenu"
160 PRINT
170 PRINT
180 PRINT "                         Spiel starten"
190 PRINT "                      -> Spiel laden"
200 PRINT "                         Optionen"
210 PRINT "                         Spiel beenden"
215 Taste$ = INKEY$
220 IF Taste$ = CHR$(0) + CHR$(78) THEN GOTO 260
230 IF Taste$ = CHR$(0) + CHR$(72) THEN GOTO 20
240 IF INKEY$ = CHR$(13) THEN END
245 SLEEP
250 GOTO 140
260 CLS
270 PRINT "                           Hauptmenu"
280 PRINT
290 PRINT
300 PRINT "                         Spiel starten"
310 PRINT "                         Spiel laden"
320 PRINT "                      -> Optionen"
330 PRINT "                         Spiel beenden"
335 Taste$ = INKEY$
340 IF Taste$ = CHR$(0) + CHR$(78) THEN GOTO 380
350 IF Taste$ = CHR$(0) + CHR$(72) THEN GOTO 140
360 IF INKEY$ = CHR$(13) THEN END
365 SLEEP
370 GOTO 260
380 CLS
390 PRINT "                           Hauptmenu"
400 PRINT
410 PRINT
420 PRINT "                         Spiel starten"
430 PRINT "                         Spiel laden"
440 PRINT "                         Optionen"
450 PRINT "                      -> Spiel beenden"
455 Taste$ = INKEY$
460 IF Taste$ = CHR$(0) + CHR$(78) THEN GOTO 20
470 IF Taste$ = CHR$(0) + CHR$(72) THEN GOTO 260
480 IF INKEY$ = CHR$(13) THEN END
490 SLEEP
500 GOTO 380







Ich würde mich über hilfe freuen,
Gruß: Gnoccy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
HorstD



Anmeldungsdatum: 01.11.2007
Beiträge: 110

BeitragVerfasst am: 11.03.2010, 18:24    Titel: Antworten mit Zitat

@Gnoccy

Zitat:
aber jetzt ist mein Problem, dass zwar die Oben Taste, aber nicht die Unten Taste funktioniert.


Die Pfeiltaste 'nach unten' hat den Code 0,80 nicht 0,78.

Mit dem folgenden Programm kannst du dieTastencodes testen:

Code:


DEFINT A-Z
CLS

PRINT "Drcke 'q' zum Beenden"
PRINT
PRINT "Chr     Inkey$ ="
PRINT
LOCATE , , 1

DO
   DO
      I$ = INKEY$
   LOOP UNTIL LEN(I$)
   IF LEN(I$) = 1 THEN
      PRINT " "; I$; "      CHR$("; LTRIM$(STR$(ASC(I$))); ")"
   ELSE
      PRINT "        CHR$(0)+Chr$("; LTRIM$(STR$(ASC(RIGHT$(I$, 1)))); ")"
   END IF
   IF I$ = "q" THEN
      EXIT DO
   END IF
LOOP



Du solltest dich allerdings von den Zeilennummern und den GOTOs verabschieden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 12.03.2010, 10:06    Titel: Antworten mit Zitat

Zum oberen Programmbeispiel: Passt übrigens wieder einmal schön ins Kapitel Code-Wiederholung, wie unter

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Anfaengerfehler.html

dokumentiert, d.h. vermeide derartige PRINT-Ansammlungen für jede Pfeilstellung um jeden Preis!

Sonst zum Titelthema gibt es ebenfalls einen extra Artikel:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html

Dazu speziell für Deinen Fall noch ein Beispielprogramm:

http://beilagen.dreael.ch/QB/MENUE.BAS

=> hier am besten die SUB-Routine Menue() genauer anschauen. Kannst Du selbstverständlich optisch für Deine Bedürfnisse noch anpassen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz