0

Zeilenumbruch in einem mehrzeiligen Textfeld

Ich habe mal wieder ein Problem(chen):
Für Rechnungen gibt es ein Feld Bemerkungen (für Zusatztexte wie "Betrag dankend erhalten" usw.) Dieses fülle ich über ein Mehrfach-Auswahlfeld.
Wähle ich mehrere Bemerkungen aus, werden diese durch ein Komma getrennt hintereinander in das Bemerkungsfeld geschrieben. Ich möchte sie aber (ohne Komma) untereinander haben. D.h. ich muss meiner Anweisung "Bemerkungen := text(Auswahl_Bemerkungen)" noch einen Zeilenumbruch mitgeben, nur wie?
Für Hilfe wäre ich sehr dankbar.

10 Antworten

null
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Holzi, es gibt leider kein Steuerzeichen für Zeilenumbrüche, man muss sie quasi "hartcodieren", also den Zeilenumbruch direkt in den Quellcode setzen, z. B. so:

    MeinFeld := Text1 + "
    " + Text2
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Bemerkungen := replace(text(Auswahl_Bemerkungen),",","
    ")

    so ersetzt du Komma durch Zeilenumbruch
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Natürlich die Anfürungszeichen richtig setzen
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Oder so. Ist natürlich deutlich schlauer. (Ich hätte das jetzt wieder einzeln zusammengebastelt.)
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hat natürlich auch Nachteile: wenn die Auswahlmöglichkeiten mit Kommas sind, werden diese auch durch Umbrüche ersetzt. Lieber solche Konstruktion Verwenden:
    ---
    Bemerkungen := null;
    for II in chosen(Auswahl_Bemerkungen) do
    Bemerkungen := Bemerkungen + II + "
    "
    end
    ---
    mit chosen wandelst du das Auswahlfeld in ein Array und dann sortierst du die Texte untreinander. So bleiben die Kommas in Texten erhalten.
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Erstmal vielen Dank für die schnellen Antworten.
    @Leo: Mit replace ist das Komma weg, aber leider kein Zeilenumbruch. (Die Anführungszeichen habe ich natürlich ausgewechselt). Mit der Schleife das gleiche Ergebnis: KEIN Zeilenumbruch.
    Das Komma setze übrigens nicht ich sondern es wird in einem Mehrfach-Auswahlfeld
    offensichtlich vom "System" gesetzt, warum auch immer.
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    So, wie du es beschreibst, kann ich nur vermuten, dass du zwischen den Anführungszeichen nicht auf "ENTER" klickst, also:
    ---
    Bemerkungen := null;
    for II in chosen(Auswahl_Bemerkungen) do
    Bemerkungen := Bemerkungen + II + ” HIER AUF ENTER TASTE KLICKEN, DAMIT EIN ZEILENUMBRUCH ENTSTEHT
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Oder eine noch einfachere Erklärung:
    Textfeld ist nur einzeilig, in diesem Fall wird der Text automatisch auch einzeilig. Wenn du das Textfeld im Editmodus am unteren Rand anfasst und nach unten ziehst, werden die Umbrüche wirksamm.
    • Holzi
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Noch anders: Ich hatte beim rumprobieren zuletzt ein formartiertes Textfeld und kein mehrzeiliges genommen. Das war (mein) Fehler. Mit dem mehrzeiligen klappt's.
    Nochmals Danke
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Alles klar, bei formatiertem Feld ist ja ein HTML code da. Dann müsste die Formel so aussehen:
    Bemerkungen := replace(text(Auswahl_Bemerkungen),",","<br>")

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 10Antworten
  • 6628Ansichten