Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

String mit Hochkomma versehen

2017-05-07
2017-05-09
  • marsmännchen - 2017-05-07

    Hallo mal wieder,

    diesmal nur eine kleine Frage:

    Ich will einen Befehl mit "Sys Process Execute Command2" senden. Nur dieser muss mit Hochkomma gesendet werden.
    Wie kann ich da quasi 2 Hochkomma hintereinander verwenden?

    Hier sollte dann das "setTempRaumNorSollM1 0" in Hochkomma ausgegeben werden

    Hier wird das alles verbunden:

    Und sollte dann so ankommen:

    Kann mir wer sagen wie man das macht?
    Grüsse

    IMG: Bild

    IMG: Bild

    IMG: Bild

    IMG: Bild

     
  • ColonelWastl - 2017-05-07

    Ist im Prinzip relativ einfach.

    Gibt mindestens 2 Möglichkeiten:
    Du schreibst deine STRINGS alle immer in einen WSTRING und convertierst diesen dann zu einem normalen STRING.
    Beim WSTRING wird der String mit den " (Doppelhochkomma, Anführungszeichen, das Symbol bei der Taste 2 ) begonnen und beendet. Das heißt du kannst alle anderen Zeichen ohne Probleme einsetzen.
    ODER:
    Du schreibst in deinen String das Hochkomma mit der Platzhaltervariable $'.
    Dann Sieht das auch so aus wie in meinem Programm. Von den $' im Programm nicht irritieren lassen, diese sind im String dann nicht enthalten.
    also '$'$'DeinBefehl$'$'' oder wenn du mehr brauchst dann $'$'$'$'$'$'$'....

    Denke dass Beide Möglichkeiten nicht schlecht sind. Solltest du jedoch mehr Sonderzeichen haben die sich irgendwie nicht vertragen würde ich immer den WSTRING empfehlen und diesen dann ggf. in einen STRING umwandeln.

    Gruß
    Sebastian

    IMG: Programm.PNG

    IMG: HochkommaDollar.PNG

     
  • marsmännchen - 2017-05-08

    Danke dir!!
    Schade das ich das nicht selbst rausgefunden habe.
    Das mit $' hab ich ja bereits versucht, nur hat da irgendwie der Syntax nicht gepasst.
    Jetzt hab ich es recht abartig mit Concat's gelöst.

    Ich werd mal die "professionelle Methode mit WString probieren.
    Danke sehr!

     
  • ColonelWastl - 2017-05-09

    hmm... Das mit den $' funktioniert bei mir aber ohne Probleme.

    DeinString:='$'$'Hallo Hallo$'$''; würde dann folgendes ausgeben:
    DeinString(''Hallo Hallo'');

    Du musst natürlich die beiden ' ' Hochkommas am ANFANG und am ENDE trotzdem mit angeben! Nicht dass du nur diese einfach vergessen hast? Weil das $' sieht er nicht als Start- bzw. Stoppbit für den String, also den Inhalt, sondern einfach nur als CHAR.

    Mit deinen CONCAT's machst du sicherlich auch nicht mehr als das Zeichen von irgendwoher reinzuschieben. Der CONCAT interpretiert die Zeichen dann automatisch als $'. Und füllt den String somit richtig.

    Kannst du dein CONCAT "gewurschtel" mal posten? würde mich interessieren.

     
  • marsmännchen - 2017-05-09

    Ja gerne:

    IMG: Bild

    IMG: Bild

     

Log in to post a comment.