Step 7 Char in String wandeln

Zuviel Werbung?
-> Hier kostenlos registrieren
ich habe auch dieses Problem und möchte vom CHAR >10 Zeichen in Richtung String konvertieren.
Wie kann man das machen ?
Generell: die Zeichen aus dem CHAR-Speicher in den String ab 3. Byte kopieren, die Anzahl Zeichen in das 2. Byte des Strings eintragen und ggf. ins 1. Byte die max Länge des Strings eintragen, falls das noch nicht initialisiert ist. Ggf. vorher prüfen, ob der Zielspeicher/max Länge des Strings groß genug für die Anzahl zu kopierender Zeichen ist.

Geht es auch nicht generell auch über AWL?
Ja, das geht natürlich auch in AWL. Mit L + T. Oder mit BLKMOV. Einfach die Speicheradressen richtig angeben.
Komplizierter wird es, wenn keine feste Anzahl Zeichen kopiert werden soll, sondern die Länge dynamisch ist. Oder die Quell/Ziel-Adressen dynamisch sind. Dann muss man eine Schleife in AWL programmieren und die Quell- und Ziel-Adressen indirekt adressieren. Oder für BLKMOV die ANY-Pointer zusammenbasteln. In AWL muss man selber auf die Details aufpassen, dass man richtig adressiert, in SCL sorgt der Compiler dafür, dass die richtigen Adressen angesprochen werden.
 
Zuletzt bearbeitet:
Zurück
Oben