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:

Codes für Pfeiltasten

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



Anmeldungsdatum: 24.01.2005
Beiträge: 79

BeitragVerfasst am: 07.07.2005, 00:07    Titel: Codes für Pfeiltasten Antworten mit Zitat

Moin,
ich würde gerne mal wissen, wie die Codes für die Pfeiltasten sind. In QB ist das: CHR$(0) + "h" für Hoch. Geht aber nicht bei FB. Danke im Voraus.

Gruß K.I.T.T.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 07.07.2005, 00:34    Titel: Antworten mit Zitat

Moin,
aus dem engl. Forum:
Code:
const xk = chr$(255)
const key_up = xk + "H"
const key_dn = xk + "P"
const key_rt = xk + "M"
const key_lt = xk + "K"
const key_home = xk + "G"
const key_pgup = xk + "I"
const key_end = xk + "O"
const key_pgdn = xk + "Q"
const key_close = xk + "X"
const key_esc = chr$(27)
const key_enter = chr$(13)


Gute Nacht
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
K.I.T.T.



Anmeldungsdatum: 24.01.2005
Beiträge: 79

BeitragVerfasst am: 07.07.2005, 13:15    Titel: Antworten mit Zitat

Danke, aber irgendwie geht das nicht. Wenn ich das so mache und dann die Pfeiltasten drücke, flimmert die Konsole nur und der Kreis bleibt da, wo er ist.

Gruß K.I.T.T.

PS: Mit den anderen Tasten geht das.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 07.07.2005, 14:49    Titel: Antworten mit Zitat

Moin,
das muß aber an etwas Anderem liegen (welcher Kreis?).
Code:
const xk = chr$(255)
const key_up = xk + "H"
const key_dn = xk + "P"
const key_rt = xk + "M"
const key_lt = xk + "K"
const key_home = xk + "G"
const key_pgup = xk + "I"
const key_end = xk + "O"
const key_pgdn = xk + "Q"
const key_close = xk + "X"
const key_esc = chr$(27)
const key_enter = chr$(13)

Do
a$=InKey$
If a$=key_up Then Print "up"
If a$=key_dn Then Print "dn"
If a$=key_rt Then Print "rt"
If a$=key_lt Then Print "lt"
Loop While a$<>key_esc


Das Beispiel klappt gut.
Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 07.07.2005, 15:29    Titel: Antworten mit Zitat

Fragst du vielleicht so ab?
Code:

a$ = inkey$
select case lcase$(a$)
[...]
end select


Dann dürfte es in der Tat mit den Pfeilasten nicht gehen, da dort das
lcase$() stört...

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
K.I.T.T.



Anmeldungsdatum: 24.01.2005
Beiträge: 79

BeitragVerfasst am: 07.07.2005, 15:41    Titel: Antworten mit Zitat

Moin,
nein, ich mache das so:

Code:

DO
taste$ = INKEY$
LOOP WHILE taste$ = ""
SELECT CASE taste$
CASE CHR$(255) + "h"
[........]

Vorher habe ich ja immer mit CHR$(49) gemacht, ging perfekt. Mit CHR$(255) + "h" geht nicht.

Gruß K.I.T.T.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 07.07.2005, 15:53    Titel: Antworten mit Zitat

Auch das geht, (chr$(255) + "H" ??)
Code:
const xk = chr$(255)
const key_up = xk + "H"
const key_dn = xk + "P"
const key_rt = xk + "M"
const key_lt = xk + "K"
const key_home = xk + "G"
const key_pgup = xk + "I"
const key_end = xk + "O"
const key_pgdn = xk + "Q"
const key_close = xk + "X"
Const key_esc = chr$(27)
const key_enter = chr$(13)

lbl1:
DO
taste$ = INKEY$
LOOP WHILE taste$ = ""
SELECT CASE taste$
Case key_up : Print "up"
Case key_dn : Print "dn"
Case key_rt : Print "rt"
Case key_lt : Print "lt"
Case key_esc : End
End Select
GoTo lbl1

Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 07.07.2005, 15:55    Titel: Antworten mit Zitat

Das "h muss groß geschrieben sein.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 08.07.2005, 15:58    Titel: Antworten mit Zitat

Als alternative kann man auch MULTIKEY verwenden. Der entsprechende Code sähe so aus:

Code:
#INCLUDE "fbgfx.bi"

DO
 IF MULTIKEY(SC_UP) THEN PRINT "Pfeil nach oben"
 IF MULTIKEY(SC_DOWN) THEN PRINT "Pfeil nach unten"
 IF MULTIKEY(SC_LEFT) THEN PRINT "Pfeil nach links"
 IF MULTIKEY(SC_RIGHT) THEN PRINT "Pfeil nach rechts"

 DO: LOOP WHILE LEN(INKEY$)
LOOP UNTIL MULTIKEY(SC_ESC)


Beachtet dabei aber, dass der Tastaturpuffer geleert werden muss (letzte Zeile vor dem LOOP UNTIL... übernimmt dies)
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. 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