要在TMemoBox中显示的字符串内的换行符

时间:2010-12-22 15:31:27

标签: string delphi variables lazarus memo

我正在构建一个名为String的{​​{1}},它将显示在FullMemo,但问题是我正在尝试制作这样的换行符:

TMemoBox

我得到的是FullMemo := txtFistMemo.Text + '\n' + txtDetails.Text 字符txtFirstMemo的内容,而不是换行符,以及\n的内容。我应该怎么做才能让新线工作?

5 个答案:

答案 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;

在一个公共单元中,并在所有程序中使用它。这将非常方便。