如何将换行符放入 PChar 字符串中
How can I get line feed character into a PChar string
我正在使用 ShellExecute 调用本地电子邮件客户端并在电子邮件客户端中填充 mailto 地址、主题和正文。这是我用过的代码...
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);
这有效,但正文文本在电子邮件客户端中显示为单行。如何在邮件客户端中插入多行。
你快到了,你需要同时使用回车 return 和换行。
所以你需要 +#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+
'----------------------------------------------------------------------------------');
我正在使用 ShellExecute 调用本地电子邮件客户端并在电子邮件客户端中填充 mailto 地址、主题和正文。这是我用过的代码...
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);
这有效,但正文文本在电子邮件客户端中显示为单行。如何在邮件客户端中插入多行。
你快到了,你需要同时使用回车 return 和换行。
所以你需要 +#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+
'----------------------------------------------------------------------------------');