![]() |
mailto: mit Variable im Body
Hi,
so, mein erster Beitrag. Ich hoffe, ihr könnt mir helfen: Ich will gerne eine mailto: Funktion in mein Programm einbauen. Das an sich ist ja kein Problem:
Code:
Aber jetzt würde ich gerne die Versionsnummer, die ich in einem String habe auch noch in den Mailtext packen. Delphi will für das ShellExecute aber einen PWideChar haben. Was tun?
procedure TForm1.btFoundBugClick(Sender: TObject);
begin ShellExecute(0,'open','mailto:<MailAdresse>?subject=I found a bug&body=Version: <HierDieVersion>%0D%0AThat´s what happened:', NIL, NIL, SW_SHOWNORMAL); end; |
AW: mailto: mit Variable im Body
Hallo Michael,
Willkommen in der DP :dp: Du kannst den String einfach typecasten:
Delphi-Quellcode:
Oder etwas eleganter:
ShellExecute(0,'open',PChar('mailto:'+EMail+'?subject=I found a bug&body=Version: '+Version+'%0D%0AThat´s what happened:'),
NIL, NIL, SW_SHOWNORMAL);
Delphi-Quellcode:
ShellExecute(0,'open',PChar(Format('mailto:%s?subject=I found a bug&body=Version: %s%%0D%%0AThat´s what happened:', [EMail, Version])),
NIL, NIL, SW_SHOWNORMAL); |
AW: mailto: mit Variable im Body
Wow, SUPER!!!
Danke! :thumb: |
AW: mailto: mit Variable im Body
für Format müsste %0D%0A nach %%0D%%0A entschärft werden.
Das gleich wie oben, nur ausgelagert und wollte es nicht wegwerfen ;)
Delphi-Quellcode:
procedure SendBugReport(sMailAdresse, sSubject, sVersion, sErrorMsg : String);
var ExecStr : String; begin ExecStr := Format('mailto:%s?subject=%s&body=Version: %s %%0D%%0A%s', [sMailAdresse, sSubject, sVersion, sErrorMsg]); ShellExecute(0,'open', PChar(ExecStr), NIL, NIL, SW_SHOWNORMAL); end; procedure TForm1.Button1Click(Sender: TObject); begin SendBugReport('Mustermann@provider.com', 'BugReport', '1.11', 'Fehler im Programm'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz