Xojo Conferences
XDCMay2019MiamiUSA

RTF-Datei erzeugen (Real Studio network user group Deutschland Mailinglist archive)

Back to the thread list
Previous thread: Dialog
Next thread: Stringfunktionen sind langsam


Probleme mit String Bearbeitung   -   Markus Schnell
  RTF-Datei erzeugen   -   Stefan Mettenbrink
   Re: RTF-Datei erzeugen   -   Christian Schmitz

RTF-Datei erzeugen
Date: 14.08.11 11:54 (Sun, 14 Aug 2011 12:54:05 +0200)
From: Stefan Mettenbrink
Wie ich in der vorherigen mail schon schrieb, bin ich dabei eine
Funktion zu beschleunigen. Zum Teil ist mir das schon gelungen. Jetzt
möchte ich noch die Erzeugung einer RTF-Datei beschleunigen.

Gegeben ist ein Editfield (Styled). Der darin enthaltene Text ist mit
diversen Auszeichungen (fett, unterstrichen) ausgezeichnet und auch noch
an etlichen Stellen eingefärbt. Das Ganze soll als RTF-Datei
ausgegeben werden.
Derzeit mache ich das so:

f=GetSaveFolderItem(FileTypesAll.All,"Test.rtf")
if f<>nil then
s1=TextOutputStream.Create(f)
if s1<>nil then
s1.Write EditField2.StyledText.RTFData
s1.Close
end
end

In dem Editfield befindet sich der Text aus ca. 10000 Zeilen einer
Listbox. Ist also durchaus etwas umfangreicher. Das Sichern dauert bei
mit ca. 25 Minuten(!). In dieser Zeit macht mein Programm nichts :-(
Nicht mal ein Barberpole dreht sich. Besteht die Möglichkeit, die
Ausgabe zu beschleunigen?
Wenn ich die Ausgabe in einen eigenen Thread verpacke, wird sich dann
wenigstens der Barberpole drehen?
Da ich noch mit RS2010r1 arbeite, ist die neue Version hier schneller
geworden?
Kennt jemand eine Klasse, die schneller und/oder besser als die
eingebaute Funktion ist?

MfG, Metti.

Re: RTF-Datei erzeugen
Date: 14.08.11 13:45 (Sun, 14 Aug 2011 14:45:55 +0200)
From: Christian Schmitz

Am 14.08.2011 um 12:54 schrieb Stefan Mettenbrink:

> Wie ich in der vorherigen mail schon schrieb, bin ich dabei eine
> Funktion zu beschleunigen. Zum Teil ist mir das schon gelungen. Jetzt
> möchte ich noch die Erzeugung einer RTF-Datei beschleunigen.

Da wird kein Thread helfen. Feedback Case schreiben. Beispiel beilegen.
Stichwort "String concat".

Wenn's für Mac ist, könnte man über NSTextViewMBS Methoden mal schauen, ob man an ein RTF kommt.

Gruß
Christian

--
R