Konvertierung von String in INT Variable

reinern
2005-06-22
2006-03-20
  • reinern - 2005-06-22

    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

  • Jens Kreyßig - 2005-06-22

    Da gibt es vorgefertigte Konvertierungsbausteine! ...

    In der Hilfe von CoDeSys auch unter STRING_TO-Konvertierungen zu finden

     
  • reinern - 2005-06-30

    Hallo,

    das mit String_to_Int funktioniert aber nur bei Zahlen, sobald ein Buchstabe gewandelt werden soll, dann ist das Ergebniss 0!!!

     
  • Jens Kreyßig - 2005-07-04

    stimmt .. so stehts auch in der Hilfe ..

    INT ist doch aber auch nur wie folgt definiert:

    INT: -32768 bis 32767 16 Bit

     
  • Thorsten Brach - 2006-03-17

    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

     
  • J Schohaus - 2006-03-20

    Wenn dein vorhaben ist dein String als Char werte dazustellen hätte ich Folgenden Vorschlag.

    VAR

    Variable : STRING[10] := 'Test' ;
    
    pVariable : POINTER TO ARRAY[1..10] OF BYTE ;
    
    aiChar : ARRAY [1..10] OF BYTE ;
    

    END_VAR

    pVariable := ADR(Variable) ;

    aiChar := pVariable^ ;

     

Log in to post a comment.