This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
vba:functions:wordwrap [21.10.2015 10:52:42] yaslaw |
vba:functions:wordwrap [21.10.2015 11:26:26] (current) yaslaw |
||
---|---|---|---|
Line 13: | Line 13: | ||
{{%%fname%%|Download %%fname%% (V-%%version%%)}} | {{%%fname%%|Download %%fname%% (V-%%version%%)}} | ||
- | ===== Beschreibung ===== | + | ===== Definition ===== |
+ | ''string = wordwrap(string, long [,eWrapParams [,long]])'' | ||
+ | <code vb>Public Function wordwrap( _ | ||
+ | ByVal iText As String, _ | ||
+ | ByVal iMaxLen As Long, _ | ||
+ | Optional ByVal iParams As eWrapParams = ewwDefault, _ | ||
+ | Optional ByVal iBreak As String = vbCrLf _ | ||
+ | ) As Variant</code> | ||
+ | ***iText** Der Text, der zerlegt werden soll | ||
+ | ***iMaxLen** Maxiale Zeilenlänge | ||
+ | ***iParams** Settings zur Funktion. Siehe Enum [[#enumerator_ewrapparams|eWrapParams]]. Die Parameter sind komulierbar | ||
+ | ***iBreak** Trennzeichen. Normalerweise ein Zeilenumbruch (vbCrLf) | ||
+ | |||
+ | ==== Return ==== | ||
+ | EIn String oder ein Stringarray. Je nach eWrapParams. | ||
+ | |||
+ | ==== Enumerator eWrapParams ==== | ||
+ | <code vb> | ||
+ | Public Enum eWrapParams | ||
+ | ewwDefault = 0 | ||
+ | ewwReturnArray = 2 ^ 0 'Gibt ein Array anstelle eiens Strings zurück. Der Parameter iBreak wird ignoriert | ||
+ | ewwCutLongWords = 2 ^ 1 'Zerschneidet überlange Wörter | ||
+ | ewwRemoveBreaks = 2 ^ 2 'Bestehende Zeilnumbrüche im Originaltext werden entfernt | ||
+ | End Enum</code> | ||
===== Beispiele ===== | ===== Beispiele ===== | ||
Line 51: | Line 74: | ||
Das Wort zerstückeln | Das Wort zerstückeln | ||
+ | <code vb> text = "Die Autobahnbrückenspezialbeschilderung ist falsch" | ||
+ | Debug.Print wordwrap(text, 25, ewwCutLongWords)</code> | ||
+ | <code>Die | ||
+ | Autobahnbrückenspezialbes | ||
+ | childerung ist falsch</code> | ||
+ | |||
+ | Und das noch kombiniert mit der Array-Ausgabe | ||
+ | <code vb> text = "Die Autobahnbrückenspezialbeschilderung ist falsch" | ||
+ | print_r wordwrap(text, 25, ewwCutLongWords + ewwReturnArray)</code> | ||
+ | <code><String()> ( | ||
+ | [0] => <String> 'Die' | ||
+ | [1] => <String> 'Autobahnbrückenspezialbes' | ||
+ | [2] => <String> 'childerung ist falsch' | ||
+ | )</code> | ||
+ | |||
+ | ==== Text mit Zeilenumbruch ==== | ||
+ | Nehmen wir mal ein Text, der Bereits Zeilenumbrüche hat. Diese Sollen natürlich erhalten bleiben | ||
+ | <code vb> text = " Ausgetrocknetes Flussbett." & vbCrLf & "Die Töss führt diesen Oktober so gut wie kein Wasser." | ||
+ | Debug.Print wordwrap(text, 20)</code> | ||
+ | <code>Ausgetrocknetes | ||
+ | Flussbett. | ||
+ | Die Töss führt | ||
+ | diesen Oktober so | ||
+ | gut wie kein Wasser.</code> | ||
+ | |||
+ | Oder der Zeilenumbruch wird entfernt | ||
+ | <code vb> text = " Ausgetrocknetes Flussbett." & vbCrLf & "Die Töss führt diesen Oktober so gut wie kein Wasser." | ||
+ | Debug.Print wordwrap(text, 20, ewwRemoveBreaks)</code> | ||
+ | <code>Ausgetrocknetes | ||
+ | Flussbett. Die Töss | ||
+ | führt diesen Oktober | ||
+ | so gut wie kein | ||
+ | Wasser.</code> | ||
===== Code ===== | ===== Code ===== | ||
<source '%%fpath%%/%%fname%%' vb> | <source '%%fpath%%/%%fname%%' vb> |