我正在构建一个名为String
的{{1}},它将显示在FullMemo
,但问题是我正在尝试制作这样的换行符:
TMemoBox
我得到的是FullMemo := txtFistMemo.Text + '\n' + txtDetails.Text
字符txtFirstMemo
的内容,而不是换行符,以及\n
的内容。我应该怎么做才能让新线工作?
答案 0 :(得分:23)
解决方案是使用#13#10或更好的Sertac建议sLineBreak。
FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text;
FullMemo := txtFistMemo.Text + sLineBreak + txtDetails.Text;
答案 1 :(得分:4)
更加独立于平台的解决方案是TStringList
。
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('');
答案 2 :(得分:3)
使用
FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text
答案 3 :(得分:1)
你不使用这样的换行符,使用符号#13:
FullMemo := txtFistMemo.Text + #13 + txtDetails.Text
+ Chr(13) + 'some more text'#13.
#13是CR,#10是LF,有时只使用CR,有时(例如,当写文本文件时)使用#13#10。
答案 4 :(得分:0)
您可以声明如下内容:
const
CRLF = #13#10;
LBRK = CRLF+ CRLF;
在一个公共单元中,并在所有程序中使用它。这将非常方便。