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