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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.