TIA Char auf Gültigkeit prüfen

fbrue

Level-2
Beiträge
34
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

CPU ist eine 1512SP
TIA V15.1

ich bekomme eine Zeichenkette vom Format String[6], welche die Information über eine Auftragsnummer enthält. Diese Nummer ist je nach Art des Auftrags unterschiedlich aufgebaut.
Möglichkeit 1: 6 Dezimalzahlen, also z.B. "123456"
Möglichkeit 2: 1 Zeichen plus 5 Dezimalzahlen, z.B. L12345. Das "L" am Anfang steht dort immer, wenn eine solche Nummer mit einem Zeichen kommt

Ich möchte nun die ankommende Nummer auf ihre Gültigkeit überprüfen. Dazu zerlege ich den String[6] in ein Array[1..6] of Char. Das Funktioniert soweit.
Anschließend möchte ich herausfinden, um welche Art von Nummer es sich handelt (Möglichkeit 1 oder 2) und ob diese vom Format soweit korrekt ist.
Dazu würde ich für Möglichkeit 1 überprüfen, ob alle Elemente in dem Array of Char eine Zahl sind.
Für Möglichkeit 2 würde ich beim ersten Element schauen, ob es wirklich ein "L" ist und danach schauen, ob es alles Zahlen sind.

Nun die Frage: Wie überprüfe ich, ob das Element meines Array of Char eine Zahl(0-9) ist und kein Buchstabe?
 
Hi,

Ich gehe einfach davon aus, dass du es in SCL machst:

Code:
if charArray[i] >= '0' and charArray[i] <= '9' then
    // dann ist char numerisch
end_if;

Weil ja in ASCII alle Zahlen direkt hintereinander kommen, muss nur abgefragt werden ob es größer gleich 0 und kleiner gleich 9 ist, alles dazwischen ist ein "Zahlenchar".
Wichtig sind die Hochkommas, ansonsten werden ASCII Steuerzeichen von 0-9 geprüft.
 
Zurück
Oben