Entwickler-Ecke

Datenbanken - Report als Mail verschicken ???


mambo - Di 17.09.02 16:46
Titel: Report als Mail verschicken ???
Ich habe ein Programm zur Erstellung von Kostenvoranschlägen.
Der fertige Kostenvoranschlag kann als Report ausgedruckt werden. Soweit kein Problem

Ich möchte nun einen Button "als E-Mail verschicken" auf meinem Formular haben, mit dem der erstellte Kostenvoranschlag
(also der Report) als Attachment (als PDF-Datei wäre natürlich super) in eine neue E-Mail eingefügt wird und die Mail-Adresse des Kunden automatisch eingefügt wird. Dann brauche ich nur noch auf "E-Mail senden " klicken, und der Kunde erhält den Kostenvoranschlag.

Wie könnte man sowas am einfachsten realisieren???
Mein Report-Tool ist der ReportBuilder von Digital Metaphors.

Wie kann ich grundsätzlich eine neue E-Mail im Standard-Mailprogramm öffnen und Text einfügen???

Danke für Eure Hilfe
Heinz


CenBells - Di 17.09.02 17:18

dem Standartmail programm schickst du mit
ShellExecuteEx und dem commandstring "mailto:<hier die adresse ohne eckige Klammern rein>&Subject:<hier den betreff>"
das kommando, das eine neue mail verfasst werden soll. Die mail ist dann gleich an den übergebenen Empfänger adressiert.
Ob das mit anhhängen auch geht, weiß ich jetzt gerade nicht
Gruß
Ken


mambo - Mi 18.09.02 08:02

wie ist die genaue Syntax ???
was für eine Unit muß ich einbinden, damit ShellExecuteEx funktioniert ????

Danke


LCS - Mi 18.09.02 08:13

Hi
zum Beispiel so. Die Bedeutung der einzelnen Parameter findest du in der Online-Hilfe. Einbinden Unit ShellAPI.

Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TfrmAbout.lblEmailDblClick(Sender: TObject);
var
   pTmp  : String;
begin
   pTmp  := 'mailto:' + edtMail.Text + '&Subject:' + edtSubj.Text;
   ShellExecute(0, 'open', PChar(pTmp), nil, nil, SW_SHOWNORMAL);
end;


Gruss Lothar