我正在构建一个名为FullMemo
的字符串,它将在TMemoBox
中显示,但问题是我尝试像这样制作换行:
FullMemo := txtFistMemo.Text + '\n' + txtDetails.Text
我得到的是
txtFirstMemo
的内容中有一个字符\n
,而不是换行符,以及txtDetails
的内容。我该怎么做才能让换行符起作用?我正在构建一个名为FullMemo
的字符串,它将在TMemoBox
中显示,但问题是我尝试像这样制作换行:
FullMemo := txtFistMemo.Text + '\n' + txtDetails.Text
txtFirstMemo
的内容中有一个字符\n
,而不是换行符,以及txtDetails
的内容。我该怎么做才能让换行符起作用?解决方案是使用#13#10或者像Sertac建议的sLineBreak一样更好。
FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text;
FullMemo := txtFistMemo.Text + sLineBreak + txtDetails.Text;
sLineBreak
。 - Sertac AkyuzTStringList
。var
Strings: TStrings;
begin
Strings := TStringList.Create;
try
Strings.Assign(txtFirstMemo.Lines); // Assuming you use a TMemo
Strings.AddStrings(txtDetails.Lines);
FullMemo := Strings.Text;
finally
Strings.Free;
end;
end;
要添加一个空白换行符,您可以使用:
Strings.Add('');
FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text
const
CRLF = #13#10; //or name it 'Enter' if you want
LBRK = CRLF+ CRLF;
将其放入通用单元中,并在所有程序中使用它。它会非常方便。现在,20年后,我已经在成千上万的地方使用CRLF!
FullMemo := txtFistMemo.Text + CRLF + txtDetails.Text
重要提示
在Windows中,换行符的正确格式是CRLF,而不仅仅是CR或LF,正如其他人所建议的那样。
例如,Delphi IDe(它是一个Windows应用程序)会对您的文件是否具有正确的换行符(CRLF)非常生气:
Delphi XE - 所有蓝点向上移动一行
你不应该像这样制造新行,而是使用符号#13:
FullMemo := txtFistMemo.Text + #13 + txtDetails.Text
+ Chr(13) + 'some more text'#13.
#13 代表回车符,#10 代表换行符,在某些情况下只使用回车符就足够了,但在写文本文件时需要使用 #13#10。