Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - RicheditText aus Clipboard als "formatierte" Email


tortom1000 - Do 12.03.09 21:57
Titel: RicheditText aus Clipboard als "formatierte" Email
Hallo,
ich möchte gerne einen Text aus einem DBRichEdit in die Zwischenablage kopieren, um ihn dann per Email zu versenden. Ich habe das so angedacht:

Delphi-Quelltext
1:
2:
3:
4:
TDBRichEdit(Screen.Activeform.ActiveControl).CopyToClipBoard;
ShellExecute(Application.Handle, 'open',
//PChar('mailto:?subject=&body=' + Clipboard.AsText), nil, nil, sw_ShowNormal);
PChar('mailto:?subject=&body=' + Clipboard.AsText), nilnil, sw_ShowNormal);

Die erste Anweisung kopiert den markierten Text in die Zwischenablage, die zweite startet das Email-Programm und kopiert den Text aus der Zwischenablage in den Text-Bereich des Email-Programms. Leider gehen dabei die Zeilenumbrüche verloren, d.h. der Text steht hintereinander, was die Optik verschlechtert...

Gibt's da einen Befehl, so das ich die Zeilenumbrüche im Email-Programm habe?

Übrigens: Wenn ich den Text manuell aus der Zwischenablage in das Emailprogramm einfüge, bleiben die Zeilenümbrüche erhalten.

Viele Grüße
Tortom

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Keldorn - Do 12.03.09 22:47

Hallo,

welches Email-programm verwendest du?

Gruß Frank


tortom1000 - Do 12.03.09 23:39

Hallo Frank,
ich benutze Thunderbird 2.x.


Keldorn - Sa 14.03.09 17:41

mit der Forumsuche gefunden:
http://www.delphi-forum.de/viewtopic.php?t=59089&highlight=mail+shellexecute

daher wenn ich ein stringreplace durchführe

Delphi-Quelltext
1:
s2:=StringReplace(Clipboard.AsText,#13#10,'%0D%0A',[rfReplaceAll,rfIgnoreCase]);                    

habe ich die Zeilenumbrüche (ich verwende Outlook 2003)

ich würde dein Programm nicht nutzen, wenn du mir die Zwischenablage überschreibst, warum nimmst Du nicht z.B. seltext?

Gruß Frank