combie:
Leider ist geheim, was das für ein Datentype ist/liefert.
Das sind so Kleinigkeiten....
Das Geheimnis bleibt bestehen ...
Wie wäre Es, den Sketch und die darin für das OLed benutzte Library hier zu verlinken?
Anscheinend 'will Die ja nicht' mit den Zahlen machen, was Du willst.
Mir hat an anderer Stelle dieses kleine Programm schon mal geholfen. Ob es an dieser Stelle hilfreich ist, weiß ich nicht. (irgendwo im Netz gefunden) :
int thisChar = dir ; // 'dir' ist char-Variable
// say what was sent:
Serial.print("You sent me: \'");
Serial.write(thisChar);
Serial.print("\' ASCII Value: ");
Serial.println(thisChar);
// analyze what was sent:
if (isAlphaNumeric(thisChar)) {
Serial.println("it's alphanumeric");
}
if (isAlpha(thisChar)) {
Serial.println("it's alphabetic");
}
if (isAscii(thisChar)) {
Serial.println("it's ASCII");
}
if (isWhitespace(thisChar)) {
Serial.println("it's whitespace");
}
if (isControl(thisChar)) {
Serial.println("it's a control character");
}
if (isDigit(thisChar)) {
Serial.println("it's a numeric digit");
}
if (isGraph(thisChar)) {
Serial.println("it's a printable character that's not whitespace");
}
if (isLowerCase(thisChar)) {
Serial.println("it's lower case");
}
if (isPrintable(thisChar)) {
Serial.println("it's printable");
}
if (isPunct(thisChar)) {
Serial.println("it's punctuation");
}
if (isSpace(thisChar)) {
Serial.println("it's a space character");
}
if (isUpperCase(thisChar)) {
Serial.println("it's upper case");
}
if (isHexadecimalDigit(thisChar)) {
Serial.println("it's a valid hexadecimaldigit (i.e. 0 - 9, a - F, or A - F)");
}
}
wenn du die Funktionen noch lieferst wäre es für jeden benutzbar.
Eine kleine nützliche Änderung würde ich noch machen. Statt hunderte if den Rest else if.
Den Einwand verstehe ich nicht.
Es bleiben in jedem Fall "hunderte" . Ausserdem sind die Tests oft unabhängig, bzw. ist das ja der Sinn dieses Programms, alle Eigenschaften eines Zeichens wie isSpace oder isAlpha oder isAscii usw. anzuzeigen.
ich hätte erstmal die dahinterstehenden Funktionen gern gesehen. Dann kann ich das für mich näher beurteilen. Aktuell wüßte ich nicht wie man eine dezimale Ziffer von einer hexadezimalen unterscheiden soll. Den Unterschied betrifft ja nur die Darstellung dessen.
Die Beschreibung findet sich in der Language Reference unter Characters.
Ein Test:
void setup() {
Serial.begin(9600);
int thisChar = 'f' ; // 'dir' ist char-Variable
// say what was sent:
Serial.print("You sent me: \'");
Serial.write(thisChar);
Serial.print("\' ASCII Value: ");
Serial.println(thisChar);
// analyze what was sent:
if (isAlphaNumeric(thisChar)) {
Serial.println("it's alphanumeric");
}
if (isAlpha(thisChar)) {
Serial.println("it's alphabetic");
}
if (isAscii(thisChar)) {
Serial.println("it's ASCII");
}
if (isWhitespace(thisChar)) {
Serial.println("it's whitespace");
}
if (isControl(thisChar)) {
Serial.println("it's a control character");
}
if (isDigit(thisChar)) {
Serial.println("it's a numeric digit");
}
if (isGraph(thisChar)) {
Serial.println("it's a printable character that's not whitespace");
}
if (isLowerCase(thisChar)) {
Serial.println("it's lower case");
}
if (isPrintable(thisChar)) {
Serial.println("it's printable");
}
if (isPunct(thisChar)) {
Serial.println("it's punctuation");
}
if (isSpace(thisChar)) {
Serial.println("it's a space character");
}
if (isUpperCase(thisChar)) {
Serial.println("it's upper case");
}
if (isHexadecimalDigit(thisChar)) {
Serial.println("it's a valid hexadecimaldigit (i.e. 0 - 9, a - F, or A - F)");
}
}
void loop() {}
Ausgabe am seriellen Monitor:
[sup]You sent me: 'f' ASCII Value: 102
it's alphanumeric
it's alphabetic
it's ASCII
it's a printable character that's not whitespace
it's lower case
it's printable
it's a valid hexadecimaldigit (i.e. 0 - 9, a - F, or A - F)
[/sup]
Greyhaired:
Danke 'agmue' für die Aufklärung : Language Reference.
Bitte gerne!
Greyhaired:
Die SuperMember 'Doc_Arduino' und 'combie' sind sprachlos. Das tut gut.
Jetzt muß ich Dir ein Geheimnis verraten: Ohne deren Beiträge wäre meiner nicht möglich gewesen.
Meine erste Reaktion war die von Doc_Arduino: "Warum zeigt er uns sowas Unvollständiges?"
Der Satz von combie "Die, welche beim Arduino Lieferumfang dabei sind?" hat mich dann motiviert, Deinen Schnipsel zum Testen in ein Programm zu integrieren. Zu meiner Überraschung war der Compiler zufrieden. Also habe ich gesucht und die Antwort in der Referenz gefunden. Schon war ich ein Stückchen schlauer und habe mein neu erworbenes Wissen geteilt.
Neben C++ habe ich in diesem Forum gelernt, Beiträge zu interpretieren.
Die SuperMember 'Doc_Arduino' und 'combie' sind sprachlos. Das tut gut.
Ich bin besiegt!
Und wenn das bei dir Glücksgefühle wach ruft, dann schön!
Leider weiß ich nicht was ein "SuperMember" ist....
Aber wenn es bedeutet, dass sich derjenige Mühe gibt, die Sprache, den µC und die Programmierumgebung zu verstehen/kennen, dann lasse ich mich gerne "SuperMember" nennen.
Wenn mein Posting #35 ironische/sarkastische Anteile besitzt, sind sie eher an Doc_Arduino gerichtet. Dessen schnelle intuitiven Urteile, doch ein steter Zankapfel zwischen uns beiden ist, insbesondere, da ich dabei nicht mithalten kann/will. Ich kann/will einfach nicht so schnell Urteilen, ohne den Kontext abzuklopfen.