0

Kopieren formatierter Texte

Hallo, wenn man per Funktion den Inhalt eines formatierten Textfeldes in ein anderes kopiert, gehen dabei die Formatierungen und die Zeilenumbrüche verloren. Kann man das umgehen oder ist das ein Bug ?

13 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Und was für eine Funktion benutzt du? Wenn ich jetzt  RICHTEXT2 := RICHTEXT1 schreibe, wird der Text mit allen Formatierungen und Zeilenumbrüchen übernommen.

    • Dirk_Pulver_2020
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ok - sorry, dann habe ich mich nicht korrekt ausgedrückt. Ja - nur mit kopieren geht es. Ich hatte die Funktion, dass der vorhandene Text durch einen anderen ergänzt wird (Brief := Brief + Texte.Brieftext) - dann geht die Formatierung verloren.

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Wenn Brieftext ein normaler Text ist, hilft folgendes.

    1. Leg noch ein Textfeld (normal) an. Der Name z.B. "HILFSTEXT". Dieses kannst du verstecken.

    2. Die Funktion :

    ---

    HILFSTEXT:=Brief;

    Brief:=HILFSTEXT+"<br>"+replace(Texte.Brieftext,"

    ","<br>)

    ---

    So kannst du den Text in der neuen Zeile Platzieren und die Zeilenumbrüche von Texte.Brieftext werden bei HTML richtig dargestellt.

    grüße

    Leo

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Habe anführungszeichen vergessen:

    HILFSTEXT:=Brief;

    Brief:=HILFSTEXT+"<br>"+replace(Texte.Brieftext,"

    ","<br>")

    • Dirk_Pulver_2020
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Das löst nicht das Problem, denn bereits der Text in Texte.Brieftext enthält umbrüche - die in dem Feld auch so zu sehen sind. Insbesondere wenn man ein Mehrzeiliges Textfeld mit der mailto: Funktion ausgeben möchte, werden dann die Umbrüche wieder weggelassen.....

    • Dirk_Pulver_2020
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Nochmal dringend an NinoxDB: Beim Zuweisen der Inhalte eines formatierten Textfeldes an ein anderes gehen deren Formatierungen verloren !!

    z.B. Text.Formatiert := Text2.Formatiert 

    oder Text.Formatiert := Text.Formatiert + Text2.Formatiert

     

    Dieser Umstand ist extrem unschön - könnte das behoben werden ?

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Da habe ich vielleicht schlecht erklärt. 

     

    https://www.dropbox.com/s/wysty8u82yk47q5/FILTER.ninox?dl=0

     

    Leo

    • Dirk_Pulver_2020
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Super - ja, das funktioniert. Warum dieser umständliche Weg über eine Textvariable???

    Und jetzt die Gretchenfrage: Wenn ich mit der Funktion openURL("mailto:") das ganze an das Email-Programm übergebe, welches die Emails im HTML-Format erstellt - dann sind die Formatierungen aber trotzdem als Quelltext zu sehen anstatt umgesetzt zu werden - in meinem Fall Outlook.... gibt es da auch einen Trick ?

    • chris.4
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Gab es hierzu eine Lösung? Ich versuche auch derzeit eine Mail auf Knopfdruck ("mailto:") zu erzeugen. Mit dem Mac Cleint klappt das problemlos und es werden auch die Zeilenumbrüche aus einem mehrzeiligem Feld und Variablen übernommen. In der Web APP wird dies allerdings zu einem langem string.

    Jemand eine Idee? 

    • Birger_H
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Die Zuweisung kann bei formatierten Textfeldern so erfolgen:
    –––
    Text_Formatiert := raw(Text2_Formatiert)
    –––

    raw() gibt hier den HTML-Quellcode weiter.

    Birger

    • Tempera Strings GmbH
    • Jan.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ich versuche etwas ähnliches mit der Ninox Funktion "Mehrere Datensätze aktualisieren". Ich habe ein Textfeld mit Zeilenumbrüchen und versuche dies in ein Rich-Text Feld zu übertragen. Dabei gehen leider alle Zeilenumbrüche verloren. Verstehe nicht ganz woran das liegt. Habe schon alles Mögliche versucht reinzuschreiben zb html(text) oder raw(text) ...

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Jan. Versuche das mal in einem Button. Mirko

     

    for i in select TABELLE do
        let splitter := splitx(i.TEXTFELD, "\n");
        let result := join(splitter, "<br>
    ");
        i.(RICHTEXTFELD := result)
    end
    
    • Tempera Strings GmbH
    • Jan.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hey Mirko,

    vielen Dank. Ich habe es ohne Button sogar machen können, habe aber deine Idee mit dem splitten genommen, hat geklappt! LG Jan

Content aside

  • vor 1 JahrZuletzt aktiv
  • 13Antworten
  • 4873Ansichten
  • 2 Folge bereits