Entwickler-Ecke

Windows API - Outlook öffnen und die Empfängeradresse, ... ausfüllen


Healthmaster - Mo 04.11.02 16:56
Titel: Outlook öffnen und die Empfängeradresse, ... ausfüllen
Servus,

Wie mach ich das?
Wenn ich in meinem Programm auf einen Button klicke soll sich Outlook öffnen und die Empfängeradresse, Betreffzeile und der Mail-Text schon mit den von mir im Programm vorgegebenen Angaben ausgefüllt sein.

Danke im vorraus...

(05.11.02 00:23 Tino) Titel geändert.


Anonymous - Mo 04.11.02 17:40

http://mitglied.lycos.de/popov3/pub/topten/faq.txt

Guck dir Tip Nr. 2 an.


Ex0rzist - Mo 04.11.02 20:07

Hi,

um das ganze für die Nachwelt zu erhalten (sollte der Link mal nicht mehr existieren :lol: ), schreibe ich es hier nochmal hin:


Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure EmailSchreiben;
var
 s: String;
begin
 s := 'mailto:name@domain?subject=Gruesse&body=Hallo Welt!';
 ShellExecute(Handle, 'OPEN', PChar(s), '', '', SW_NORMAL);
end;


P.S.: Was in "s" steht, funkioniert auch in HTML.


Raphael82 - Mo 04.11.02 22:49

Ex0rzist hat folgendes geschrieben:


Quelltext
1:
 ShellExecute(Handle, 'OPEN', PChar(s), '', '', SW_NORMAL);                    



Code ist korrekt, nur mit dem Schönheitsfehler, dass man anstelle von '' hier nil schreibt und dass man nicht SW_Normal schreibt. Also so ists ganz richtig:


Quelltext
1:
 ShellExecute(Application.Handle,'open',PChar(s),nil,nil,SW_ShowNormal);                    


MfG, Raphael


Healthmaster - Di 05.11.02 11:15

Erst mal Danke für eure Antworten.

Aber ich möchte die Empfängeradresse und die Betreffzeile aus (DB)Edit-Feldern auslesen.
Also irgendwie so:

s := 'mailto: '+DBEdit2.Text'?subject=Gruesse&body=Hallo Welt!';

Versteht ihr was ich meine ?
Wie lautet dann die Syntax ?

Danke im voraus...


Delete - Di 05.11.02 13:44

:?

Wie man Strings miteinander verkettet, das weißt du doch. Oder? Also betrachte "name@domain.com" als Platzhalter für den Empfänger und "Gruesse" als Platzhalter für den Betreff:

Quelltext
1:
s := 'mailto:' + ??? + '?subject=' + ??? [+ '&body=' + ???]                    

Die eckigen Klammern bitte nicht mitschreiben. Das soll nur verdeutlichen, dass die letzte Angabe optional ist - also nicht unbedingt erforderlich ist. Aber vielleicht hast du ja auch ein Feld mit einem vorgefertigten Nachrichtentext ...


Raphael82 - Di 05.11.02 14:32

Du stellst eine Frage und gibst die Lösung gleich mit an. Du weisst doch wie es geht!!


Quelltext
1:
s:= 'mailto:'+AdresseEdit.Text+'?subject='+BetreffEdit.Text+'&body='+Memo1.Text;                    


So hattest du's aber schon angegeben, also wo genau liegt nun dein Problem? MfG, Raphael


Delete - Di 05.11.02 15:03

Einfach mal mutig eingeben. Delphi wird euch schon nicht um die Ohren fliegen.


Ex0rzist - Di 05.11.02 18:17

... und vor dem Testen des 20-Units-Projektes erstmal abspeichern. :wink:


Healthmaster - Mi 06.11.02 16:19

Ex0rzist hat folgendes geschrieben:
... und vor dem Testen des 20-Units-Projektes erstmal abspeichern. :wink:


Sind 16 Units :D

Danke für eure Hilfe. Hab das mit den Hochkommas noch nicht so ganz raus :?