2010-12-22 6 views
6

FullMemo adında bir FullMemo adında bir TMemoBox görüntüleniyor, ancak sorun şu şekilde yeni satırlar yapmaya çalışıyorum:TMemoBox'ta Gösterilecek Dizenin İçinde Yeni Çizgi

FullMemo := txtFistMemo.Text + '\n' + txtDetails.Text 

Elimde ne var txtFirstMemo karakterinin içeriği \n, bir satırsonu ve txtDetails içeriği. Yeni hat çalışması yapmak için ne yapmalıyım?

+0

çoğaltılmış ... http://stackoverflow.com/questions/254407/how-do-i-include-a-newline-character-in-a-string-in-delphi –

+0

Çoğaltılmışsa, neden cevaplar tamamen farklı mı? –

+0

'TMemoBox' nedir? –

cevap

20

Çözüm, # 13 # 10 veya daha iyi Sertac önerilen sLineBreak kullanmanızdır.

FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text; 
FullMemo := txtFistMemo.Text + sLineBreak + txtDetails.Text; 
+11

Ayrıca 'sLineBreak' kullanabilir. SLineBreak kullanarak –

+1

en iyi yaklaşımdır! – ComputerSaysNo

+1

@Sertac Akyüz - +1 güzel ipucu, Ben böyle bir şey fark etmedim –

1

Sen sembol # 13 kullanın böyle yeni satır yapmazlar:

FullMemo := txtFistMemo.Text + #13 + txtDetails.Text 
    + Chr(13) + 'some more text'#13. 

# 13 CR, 10. LF ise, bazen bazen sadece CR (kullanmak için yeterli örneğin metin dosyaları yazma) # 13 # 10 kullanın.

+0

Windows'daki satır sonu her zaman # 13 # 10 (veya Sertac'ın önerdiği gibi daha iyi bir sLineBreak). –

+0

"Her zaman" # 13 # 10 değil. Windows'da bile linebreak için # 13'ü ayrıştıramayacağınızı söyleyen bir kural yok. Örneğin, MessageBox bunu kabul eder. – himself

3

Kullanım

FullMemo := txtFistMemo.Text + #13#10 + txtDetails.Text 
4

Daha platform bağımsız çözüm TStringList olurdu. ortak bir birimde

const 
CRLF = #13#10; 
LBRK = CRLF+ CRLF; 

ve tüm programlarında kullanmak: Böyle bir şey ilan edebilir

Strings.Add(''); 
0

:

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; 

kullanabileceğiniz boş bir yeni satır ekleme için. Gerçekten kullanışlı olacak.