簡體   English   中英

如何將換行符轉換為 PChar 字符串

[英]How can I get line feed character into a PChar string

我正在使用 ShellExecute 調用本地 Email 客戶端並在 Email 客戶端中填充郵件地址、主題和正文。 這是我使用的代碼...

  HdrBdy := 'mailto: support@positonstudio.co.uk' +
                '?Subject=Test Message Subject' +
                '&Body=Positron Studio ' + fmIDEAbout.lblIDEVersion.caption +' '+ fmIDEAbout.lblBuildTarget.caption + #13+
                 CompInfo.SystemManufacturer + ' Model No. ' + CompInfo.SystemProductName  +#13+
                 'Processor ' + CompInfo.ProcessorName + ' OS Version ' + OSInfo.Description  +#13+
                '----------------------------------------------------------------------------------';

  ShellExecute(Self.Handle,
               nil,
               PChar(HdrBdy),
               nil,
               nil,
               SW_NORMAL);

這可行,但正文在 Email 客戶端中顯示為單行。 如何在郵件客戶端中插入多行。

你快到了,你需要有回車和換行。

所以你需要+#13+#10+而不是+#13+ + 或者你可以使用+#13#10+

我懷疑您還需要對設置為 Body 值的字符串進行百分比編碼,以便在 URL 中正確傳遞它。

您可以為此使用TURLEncoding.Encode()

HdrBdy := 'mailto: support@positonstudio.co.uk' +
                '?Subject=Test Message Subject' +
                '&Body='+TURLEncoding.Encode('Positron Studio ' + fmIDEAbout.lblIDEVersion.caption +' '+ fmIDEAbout.lblBuildTarget.caption + #13#10+
                 CompInfo.SystemManufacturer + ' Model No. ' + CompInfo.SystemProductName  +#13#10+
                 'Processor ' + CompInfo.ProcessorName + ' OS Version ' + OSInfo.Description  +#13#10+
                '----------------------------------------------------------------------------------');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM