Hallo
Da ich im Forum und in der Hilfe nichts weiter zu einem automatischen Zeilenumbruch in einer
EditBox gefunden habe, musste ich mir dafür selbst ne Funktion schreiben
Mit automatischen Zeilenumbruch meine ich, dass eine überlange Zeile in mehrere aufgeteilt wird.
Vielleicht gibt es die Funktion auch schon längst und ich habs bloß übersehen,
..
naja, hier mal meine
Spoiler anzeigen
Func _umbruch($s, $len)
$uL = StringLen($s)
Local $uI = 0, $uJ = 1, $uSpecial = 0
Local $uRet[2]
$uRet[0] = $s
Do
$uSpaceNr = StringRegExp($uRet[0], Chr(32), 4)
$uSNr = UBound($uSpaceNr) - 1
Do
$uI -= 1
$uSpaceIndex = StringInStr($uRet[0], ' ', 0, $uI)
If (-1 * $uI) > $uSNr Then
$uSpaceIndex = $len-1
$uSpecial = 1
EndIf
Until $uSpaceIndex < $len
$uI = 0
If $uSpecial = 0 Then
$uRet[$uJ] = StringLeft($uRet[0], $uSpaceIndex)
Else
$uRet[$uJ] = StringLeft($uRet[0], $uSpaceIndex) & '-'
$uSpecial = 0
EndIf
$uRet[0] = StringTrimLeft($uRet[0], $uSpaceIndex)
$uJ += 1
ReDim $uRet[$uJ+1]
Until StringLen($uRet[0]) < $len
$uRet[$uJ] = $uRet[0]
$uRet[0] = UBound($uRet)-1
Return $uRet
EndFunc ;==>_umbruch
Wobei $s die Zeile Text und $len die gewünschte Länge ist.
Die Funktion gibt eine Array aus, in der die einzelnen Satzteile stehen,
nach Möglichkeit an einem {space} gesplittet, ansonsten mit '-'.
Ich hab sie noch nicht ausgiebig testen können, und man kann sie bestimmt noch
kürzen und verbessern, aber vll hilft sie ja dem ein oder anderem
Mir auf jeden Fall
mfg limette =)