我建立一個名爲String
FullMemo
,這將在TMemoBox
顯示,但問題是,我試圖讓新行是這樣的:換行內一個字符串,並顯示在一個TMemoBox
FullMemo := txtFistMemo.Text + '\n' + txtDetails.Text
我得到的是txtFirstMemo
字符\n
的內容,不是換行符,而是txtDetails
的內容。我應該怎麼做才能使換行工作?
我建立一個名爲String
FullMemo
,這將在TMemoBox
顯示,但問題是,我試圖讓新行是這樣的:換行內一個字符串,並顯示在一個TMemoBox
FullMemo := txtFistMemo.Text + '\n' + txtDetails.Text
我得到的是txtFirstMemo
字符\n
的內容,不是換行符,而是txtDetails
的內容。我應該怎麼做才能使換行工作?
解決方案是使用#13#10或更好,因爲塞爾塔克建議sLineBreak。
FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text;
FullMemo := txtFistMemo.Text + sLineBreak + txtDetails.Text;
你不換行這樣的,你用符號#13:
FullMemo := txtFistMemo.Text + #13 + txtDetails.Text
+ Chr(13) + 'some more text'#13.
#13是CR,#10是LF,有時它足以只使用CR,有時候(當例如編寫文本文件)使用#13#10。
使用
FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text
更獨立於平臺的解決方案將是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('');
你可以聲明是這樣的:
const
CRLF = #13#10;
LBRK = CRLF+ CRLF;
在一個共同的單元,並在所有程序中使用它。這將非常方便。
重複... http://stackoverflow.com/questions/254407/how-do-i-include-a-newline-character-in-a-string-in-delphi – 2010-12-22 18:33:50
如果它是重複的,那麼爲什麼答案完全不同? – 2010-12-26 12:38:11
什麼是TMemoBox? – 2012-10-25 06:24:18