User Tools

Site Tools


vba:functions:wordwrap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
vba:functions:wordwrap [21.10.2015 10:44:49]
yaslaw created
vba:functions:wordwrap [21.10.2015 11:26:26] (current)
yaslaw
Line 9: Line 9:
 //Mittels wordwrap() können längere Texte umgebrochen werden, ohne dass die Wörter zerstückelt werden// //Mittels wordwrap() können längere Texte umgebrochen werden, ohne dass die Wörter zerstückelt werden//
  
-==Version %%version%%%%==+==Version %%version%% ​- %%vdate%%==
  
 {{%%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 =====
 +{{section>:​snippets#​vba_print_r&​noheader&​firstseconly}}
  
 ==== Standartanwendung ==== ==== Standartanwendung ====
-<code vb> ​   Dim text As String +<code vb> ​   text = "Seit heute wird der Fahrplan im Bahnhof Zürich auf einem 19 Meter breiten LED-Bildschirm angezeigt. Je 15 Quadratmeter aber sind für Werbung reserviert."​
-    text = "Seit heute wird der Fahrplan im Bahnhof Zürich auf einem 19 Meter breiten LED-Bildschirm angezeigt. Je 15 Quadratmeter aber sind für Werbung reserviert."​+
     Debug.Print wordwrap(text,​ 25)</​code>​     Debug.Print wordwrap(text,​ 25)</​code>​
 <​code>​Seit heute wird der <​code>​Seit heute wird der
Line 29: Line 52:
 für Werbung reserviert.</​code>​ für Werbung reserviert.</​code>​
  
 +==== Rückgabe als Array ====
 +<code vb> ​   text = "Seit heute wird der Fahrplan im Bahnhof Zürich auf einem 19 Meter breiten LED-Bildschirm angezeigt. Je 15 Quadratmeter aber sind für Werbung reserviert."​
 +    print_r wordwrap(text,​ 25, ewwReturnArray)</​code>​
 +<​code><​String()> ​ (
 +    [0] => <​String>​ 'Seit heute wird der'
 +    [1] => <​String>​ '​Fahrplan im Bahnhof'​
 +    [2] => <​String>​ '​Zürich auf einem 19 Meter'
 +    [3] => <​String>​ '​breiten LED-Bildschirm'​
 +    [4] => <​String>​ '​angezeigt. Je 15'
 +    [5] => <​String>​ '​Quadratmeter aber sind'
 +    [6] => <​String>​ 'für Werbung reserviert.'​
 +)</​code>​
 +
 +==== Wörter die Länger als die erlabute Zeilenlänge sind ====
 +Standart. Das zu lange Wort wird nicht zerstückelt
 +<code vb> ​   text = "Die Autobahnbrückenspezialbeschilderung ist falsch"​
 +    Debug.Print wordwrap(text,​ 25)</​code>​
 +<​code>​Die
 +Autobahnbrückenspezialbeschilderung
 +ist falsch</​code>​
 +
 +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>
vba/functions/wordwrap.1445417089.txt.gz · Last modified: 21.10.2015 10:44:49 by yaslaw