break_string()¶
FUNKTION¶
string break_string(string str)
string break_string(string str, int width)
string break_string(string str, int width, string indent)
string break_string(string str, int width, int space)
string break_string(string str, int width, string indent, int flags)
string break_string(string str, int width, int space, int flags)
ARGUMENTE¶
str - umzubrechender String
width - optional: maximale Zeilenlaenge (default 78)
indent - optional: String, der vor jeder umgebrochenen Zeile erscheint
space - optional: Anzahl der Leerzeichen vor jeder umgebrochenen Zeile
flags - optional: hiermit laesst sich das Verhalten von break_string()
aendern; moegliche Flags siehe Punkt 'Beschreibung'
BESCHREIBUNG¶
In der ersten Form wird der String 'str' durch Einfuegen von "\n" so um-
gebrochen, dass bei einer anschliessenden Ausgabe keine Zeile laenger
als 'width' Zeichen ist. Eventuell schon in 'str' vorhandene "\n" werden
dabei vorher entfernt.
Gibt man zusaetzlich noch einen String 'indent' an, so wird dieser vor
jede der umgebrochenen Zeilen gesetzt.
Analog wird bei der Angabe der Zahl 'space' ein String mit 'space' Leer-
zeichen vor jede umgebrochene Zeile gesetzt.
Zusaetzlich gibt es folgende optionale Flags, die man beliebig kombinieren
kann:
BS_LEAVE_MY_LFS - schon im Text vorhandene "\n" werden beibehalten
BS_SINGLE_SPACE - doppelte Leerzeichen sowie Leerzeichen nach Zeilen-
umbruechen werden entfernt
BS_BLOCK - der Text wird im Blocksatz formatiert
BS_NO_PARINDENT - bei Blocksatz mit vorgegebenen Zeilenumbruechen
(BS_BLOCK|BS_LEAVE_MY_LFS) werden Zeilen nach "\n"
normalerweise mit einem Leerzeichen begonnen.
Um das Einfuegen des fuehrenden Leerzeichens zu
unterdruecken, muss BS_NO_PARINDENT angegeben werden
BS_INDENT_ONCE - die erste Zeile des Textes wird mit vorangestelltem
'indent' ausgegeben; alle folgenden Zeilen bekommen
einen Leerstring vorangestellt
BS_PREPEND_INDENT - der Ident wird dem Text vorangestellt sofern der
Indent + Text laenger als eine Zeile ist. Der Text
wird um ein Leerzeichen eingerueckt, was mittels
BS_NO_PARINDENT verhindert werden kann.
RUECKGABEWERT¶
Der umgebrochene Text.
Laufzeit-Fehler, wenn der Indent laenger ist als die vorgegebene Breite.
BEISPIELE¶
write(break_string("Dies ist ein laengerer Text. Nur so als Beispiel.",27));
=> Dies ist ein laengerer
Text. Nur so als Beispiel.
write(break_string("Mit indent sieht das so aus", 30, "Wargon sagt: "));
=> Wargon sagt: Mit indent sieht
Wargon sagt: das so aus
write(break_string("Mit indent sieht das so aus", 30, "Wargon sagt: ",
BS_INDENT_ONCE));
=> Wargon sagt: Mit indent sieht
das so aus
write(break_string("Mit Leerzeichen sieht das so aus", 30, 2));
=> Mit Leerzeichen sieht das so
aus...
write(break_string("Ich will es\naber vorformatiert!",60,
"Wargon sagt: ", BS_LEAVE_MY_LFS));
=> Wargon sagt: Ich will es
Wargon sagt: aber vorformatiert!
write(break_string("Ich will es\naber vorformatiert!",30,
"Wargon sagt: ", BS_PREPEND_INDENT));
=> Wargon sagt:
Ich will es aber
vorformatiert!
SIEHE AUCH¶
senderwiederholung