uweschwarz
Level-2
- Beiträge
- 229
- Reaktionspunkte
- 12
-> Hier kostenlos registrieren
Hallo, ich arbeite mit TIA Professional V17 und versuche eine VBScript zum laufen zu bringen, welches eine Zeichenkette in Zeilen mit x Buchstaben ausgibt. Das Script habe ich hier im Forum gefunden und finde es ehrlich gesagt sehr elegant 
Um den Code zu testen habe ich eine interne Variablen MsgStr angelegt und das Script auf einen Button gelegt, der die interne Variable MsgStr in einem Textfeld anzeigt.
Der Funktionsaufruf am Button sieht so aus:

In der RT sieht das so vor Klick so aus:
Nach dem Klicken:
Kein Zeilenumbruch nach 20 Zeichen und außerdem teilweise die Leerzeichen aus der Zeichenkette entfernt und teilweise nicht.
Hat jemand eine Idee woran das liegen könnte?

Code:
Const SEP = " " ' seperator of words in Str
Dim Word, Line ' arrays
Dim i, j, uB ' counter
vbSplitStr = vbNullString ' init ret val to nothing
Word = Split(Str, SEP, -1, vbTextCompare) ' split Str to array
uB = UBound(Word) ' count of words
If uB < 0 Then Exit Function ' no words -> exit
ReDim Line(0) ' first line
Line(0) = Word(0) ' add first word to first line
i = 1 ' init counter to second word
j = 0 ' init counter to first line
While i <= uB ' all next words
If Len(Trim(Line(j) & SEP & Word(i))) > Mx Then ' line with next word to long?
j = j + 1 ' next line
ReDim Preserve Line(j) ' add next line to array
End If
Line(j) = Trim(Line(j) & SEP & Word(i)) ' add word to current line
i = i + 1 ' next word
Wend
Um den Code zu testen habe ich eine interne Variablen MsgStr angelegt und das Script auf einen Button gelegt, der die interne Variable MsgStr in einem Textfeld anzeigt.

Der Funktionsaufruf am Button sieht so aus:

In der RT sieht das so vor Klick so aus:

Nach dem Klicken:

Kein Zeilenumbruch nach 20 Zeichen und außerdem teilweise die Leerzeichen aus der Zeichenkette entfernt und teilweise nicht.
Hat jemand eine Idee woran das liegen könnte?