Wertebereich

Gast #426294
Lesenswert?

Hallo,

ich hab ein wahrscheinlich lächerliches Problem,
Ich möchte einige ASCII- Zeichen in einer if- anweisung abfragen.

if((von 0-7) || (von 9-12) || (von 14-47) || ( > 56))
{
 ...
}
Wie setz ich das in einen C- Abfrage um?

if((x < 7) || (...?)

Vielen Dank für Eure Antworten.
lg
HAnnes
Gast #426312
Lesenswert?

Ich hätte noch eine Frage bezüglich der Werte der Tasten auf der 
Tastatur des Computers.
Ich habe hier gelesen, dass die Tastatur bei einem Tastendruck zwei 
Bytes wo auch immer hinschickt.
Ich kann bei meinem Programm aber nur die Zahlen verarbeiten, die mir 
das Hyperterminal schickt.
Mein Problem ist jetzt, dass z.B. die Funktionstasten (F1 bis F4) und 
die Cursertasten den Wert 27 liefern, d.h. ich kann diese Tasten nicht 
unterscheiden.
Kennt jemand einen Weg, wie man diese Tasten doch unterscheiden kann 
bzw. komme ich an die zwei Bytes, die die Tastatur schickt über die 
serielle Schnittstelle irgendwie ran?

vielen Dank für Eure Hilfe.
lg
Hannes
Gast #426565
Lesenswert?

Hi,

27 ist Escape. Mit Escape werden die Sonderzeichen eingeleitet und 
danach sollte eigentlich das 2. Zeichen kommen.
Also immer nach einer 27 das nächste Zeichen lesen und als Sonderzeichen 
behandeln.

Gruss
#426600
Lesenswert?

> Ich habe hier gelesen, dass die Tastatur bei einem Tastendruck zwei
> Bytes wo auch immer hinschickt.

Manche Tasten werden in 2 Bytes aufgelöst.
Alle Standard-ASCII Zeichen sind 1 Byte.

Nur bei den Sondertasten, wie zb. F4 werden 2 Bytes gesendet.
Das erste davon ist 27 (oder in Hex 0x1B oder landläufig Escape).

Hast du dir meinen Rat nicht zu Herzen genommen und
einfach mal ein Programm geschrieben, dass alle Bytes
die es über die Serielle erhält, wieder retourniert.
Da müsste sowas eigentlich einem aufmerksamen Beobachter
auffallen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren