Länge eines Strings mit mehr als 255 Zeichen

haukehansen

Level-1
Beiträge
15
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin moin,
ich habe hier ein TwinCat System, mit dem ich einen String in eine Datei schreiben möchte, der bis zu 1020 Zeichen lang ist.
Programmiert wird in ST. Die Funktion FB_FileWrite benötigt zum Schreiben die Länge des zu schreibenden Strings.
Die Funktion LEN kann aber nur die Länge eines Strings herausgeben, der maximal 255 Zeichen lang ist.

Kennt jemand zufällig eine Möglichkeit die genaue Länge eines längeren Strings zu ermitteln?
Müsste ich mir eine eigene LEN Funktion schreiben, die mit längeren Strings zurechtkommt?
Und wenn ja, wie macht man das am Besten?

Wenn das nicht geht, müsste ich den String in mehrere 255 Zeichen lange Strings aufteilen, was aber relativ aufwendig wäre, weshalb ich das zu vermeiden versuche.

Vielleicht hat jemand ja ein Idee.

Vielen Dank für eventuelle Antworten und schöne Grüße,
Hauke.
 
Du könntest mit einem Pointer (To Byte) den String in einer Schleife (repeat) Zeichen für Zeichen durchlaufen und dabei einen Zähler hochzählen. Wenn der Pointer auf eine 0 zeigt, ist der String zu Ende. Der Zählerwert - 1 ist dann die Länge des Strings.
 
Ok vielen Dank für die Antworten.
Wenn ich morgen wieder Arbeite, versuche ich das mal zu implementieren.
Sollte ja nicht so das Problem darstellen.

Schöne Grüße
 
So sollte es funktionieren:

Code:
pString := ADR(sString);
nLen := 0;
nSize := SIZEOF(sString);

WHILE nLen <= nSize AND pString^ <> 0 DO
    nLen := nLen + 1;
    pString := pString + 1;
END_WHILE

F_StrLen := nLen;
 
Zuletzt bearbeitet:
Zurück
Oben