Autor Beitrag
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 13.02.13 09:48 
Ich habe mehrere TRichEdit, die ich gerne nach MS-Word (Version 2003) übertragen möchte.
Die Schweizer haben ja was nettes in ihrer Bibliothek. Allerdings funktioniert es bei mir nicht wir gewünscht und ich kann mir im Moment nicht erklären, woran das liegt.

Inhalt im RichEdit:
ausblenden Quelltext
1:
2:
3:
4:
5:
Anfang des freien Textbereichs

Hallo Welt.

Ende des freien Textbereichs.

In Word kommt dann folgendes an:
ausblenden Quelltext
1:
2:
A_n_f_a_n_g_ _d_e_s_ _f_r_e_i_e_n_ 
_T_e_x_t_b_e_r_e_i_c_h_s_____H_a_l_l_o_ _W


Hat jemand eine Idee, wie ich das korrigieren kann (außer neu tippen :mrgreen: )
Da die Anwendung von "normalen" Usern bedient werden soll, möchte ich auch die Zwischenablage nicht verwenden. Manuelles kopieren durch den Anwender ist auch nicht sinnvoll (15 TRichEdit).
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 13.02.13 10:19 
Moin!

Das sieht auf den ersten Blick aus wie eine ANSI-API, der du Unicode "zu fressen" gegeben hast... :lupe: Sonst fällt mir da auch nix ein. :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 13.02.13 10:23 
Die Vermutung liegt nah.
Ich habe jetzt mal den Text aus anderen Komponenten auf diesem Weg übertragen. Das Phänomen ist für alle getesteten Komponenten identisch.

Da die Win-Api nicht mein Spezialgebiet ist, wäre ich für einen Lösungsvorschlag dankbar.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 13.02.13 11:37 
Moin!

Hast du den Schweizer-Code c&p genommen? Was passiert, wenn du das hier änderst?
ausblenden Delphi-Quelltext
1:
procedure WriteToMSWord(const RTFText: AnsiString);					
:nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Mi 13.02.13 11:45 
Dann musst Du aber auch das hier ändern:
ausblenden Delphi-Quelltext
1:
CopyMemory(PGlobal,PAnsiChar(RTFText),Length(RTFText)+1);					

Für diesen Beitrag haben gedankt: jasocul, Narses
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 13.02.13 12:20 
Diese Änderungen habe ich inzwischen auch ausprobiert.
Der Text wird dadurch vollständig übergeben, allerdings sind alle Formatierungen weg.

Und Nein, ich habe PlainText nicht auf True gesetzt. :wink:

Zum Spaß habe ich mal den Text in einer Datei gespeichert und in einem TMemo wieder geladen. Danach diesen Text an die Methode übergeben. Ergebnis: Ja, so soll es aussehen.

Es scheint also so, dass das TRichEdit den Text nicht mit Formatierung übergibt. Jetzt muss ich mir noch eine schicke Lösung überlegen, damit es dann so funktioniert, wie ich es brauche.

Für schicke Vorschläge bin ich offen.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 13.02.13 12:48 
Moin!

user profile iconjasocul hat folgendes geschrieben Zum zitierten Posting springen:
Es scheint also so, dass das TRichEdit den Text nicht mit Formatierung übergibt.
Das könnte aber auch beim Cast auf AnsiString passiert sein, würde ich jedenfalls nicht sofort ausschließen. :idea:

Wäre es nicht "besser" nach einer Unicode-API/Version für diese Funktion zu suchen? :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.

Für diesen Beitrag haben gedankt: jasocul
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 13.02.13 13:19 
Wo bekommst du den Text her? Aus RichEdit.Text?

IIRC sind da die Formatierungen nicht dabei. Du könntest das RichEdit in einen TStringStream speichern und dessen DataString verwenden.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."

Für diesen Beitrag haben gedankt: jasocul, Narses
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 13.02.13 13:59 
@Narses:
Das habe ich geprüft. Die Formatierungen werden in der Eigenschaft "Text" nicht mit übergeben, wie Martok sich schon richtig erinnert hat.

Ich habe jetzt auch geplant, das über einen Stream zu lösen. Scheint für mich der einfachste Weg zu sein.

Danke für eure Hilfe.