uweschwarz
Level-2
- Beiträge
 - 309
 
- Reaktionspunkte
 - 19
 
-> 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?
	
 
 
