ich habe folgendes Problem, ich möchte eine String[1] Variable in INT konvertieren. Die soll acuh funktionieren mit Buchstaben. Wie kann das gelöst werden?
was hättest Du gerne für ein Ergebniss, wenn statt einer Zahl ein Buchstabe im String steht ?
Früher bei den alten Bosch CL200 Systemen musste man solche Format Umwandlungen immer selbst programmieren - dafür hat man einfach von String-Wert 30hex bzw. 48 Dec abgezogen...
Allerdings hatte man dort den ASCCI Wert des String zur verfügung...
Bsp.:
'5' = 53 ASCCI
53 ASCCI - 48 Dec = 5 Dec
Bin gerade am Überlegen, wie man am geschicktesten den ASCCI-Wert aus einem String zaubert...
Muss ich auf der Arbeit mal ausprobieren - hab daheim kein Codesys auf meinem PC...
Im Zweifel müsstest Du dir eine ASCCI Tabelle basteln und den String auf die einzelenen Werte Vergleichen und den Wert dann aus deiner Tabelle übernehmen...
Aber wie gesagt - muss zuerst probieren - da gibts bestimmt ne einfacherer Lösung...
mfg
Thorsten Brach
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich habe folgendes Problem, ich möchte eine String[1] Variable in INT konvertieren. Die soll acuh funktionieren mit Buchstaben. Wie kann das gelöst werden?
Grüße
R.Nägele
Related
Talk.ru: 1
Da gibt es vorgefertigte Konvertierungsbausteine! ...
In der Hilfe von CoDeSys auch unter STRING_TO-Konvertierungen zu finden
Hallo,
das mit String_to_Int funktioniert aber nur bei Zahlen, sobald ein Buchstabe gewandelt werden soll, dann ist das Ergebniss 0!!!
stimmt .. so stehts auch in der Hilfe ..
INT ist doch aber auch nur wie folgt definiert:
INT: -32768 bis 32767 16 Bit
Hallo,
was hättest Du gerne für ein Ergebniss, wenn statt einer Zahl ein Buchstabe im String steht ?
Früher bei den alten Bosch CL200 Systemen musste man solche Format Umwandlungen immer selbst programmieren - dafür hat man einfach von String-Wert 30hex bzw. 48 Dec abgezogen...
Allerdings hatte man dort den ASCCI Wert des String zur verfügung...
Bsp.:
'5' = 53 ASCCI
53 ASCCI - 48 Dec = 5 Dec
Bin gerade am Überlegen, wie man am geschicktesten den ASCCI-Wert aus einem String zaubert...
Muss ich auf der Arbeit mal ausprobieren - hab daheim kein Codesys auf meinem PC...
Im Zweifel müsstest Du dir eine ASCCI Tabelle basteln und den String auf die einzelenen Werte Vergleichen und den Wert dann aus deiner Tabelle übernehmen...
Aber wie gesagt - muss zuerst probieren - da gibts bestimmt ne einfacherer Lösung...
mfg
Thorsten Brach
Wenn dein vorhaben ist dein String als Char werte dazustellen hätte ich Folgenden Vorschlag.
VAR
END_VAR
pVariable := ADR(Variable) ;
aiChar := pVariable^ ;