2014-05-03 22 views
1

在TMemo場德爾福通知單行我有3條線路:在一行

  1. 一號線
  2. 2號線
  3. 3號線

它是更多鈔票來獲取所有三行作爲一個字符串?

例子:

一號線,2號線,3號線

+3

哇,爲什麼所有的downvotes?只要告訴這傢伙如何提高他的問題,如果你認爲什麼是錯的 –

回答

5

您可以使用此Lines.CommaText屬性。請執行以下操作:

CommaString := Memo1.Lines.CommaText; 

如果希望文本使用另一個分隔符,那麼使用DelimitedText屬性也很有用。你可以通過使用這樣的事情:

Memo1.Lines.Delimiter := '-'; 
Memo1.Lines.StrictDelimiter := True; 
DashString := Memo1.Lines.DelimitedText; 

這兩種方式都可以。您可以將值分配給CommaText或DelimiterText以設置行。這實際上是TStringList的一部分,所以它可以與TListBox,TMemo,TComboBox等一起使用。基本上任何在內部使用字符串列表的東西。

+0

是的,我現在,但我不會在該行的末尾wan't逗號。我想將所有三條線合併(連接)成一條線。 – user2997342

+0

你不應該在文本的末尾得到一個逗號。你有沒有試過Memo1.Text:= Memo1.Lines.CommaText把三條線放回同一個備忘錄? – Graymatter

+0

你是男人,那個作品 – user2997342

-4

這裏是一個3線功能做到這一點。

function getOneLineMemo(memo:Tmemo):String; 
var 
    i:integer; 
begin 
    result := ''; 
    for i:=0 to memo1.lines.count do 
    result := result + memo.lines[0]; 
end; 
+0

你測試過了嗎?我不喜歡投票,但這個答案是一個不好的建議。它會顯示沒有逗號'line1line1line1line1'的第一行4行。這不是被問到的。 –

+1

@Graymatter:不,它不會......當你重讀它時你會看到它 –

+0

'memo.lines [0]'總是會返回第一行的值,當然你的意思是'i'和不'0'。 –

0

也許是這樣的適合您的需要

d:=memo1.lines.count; 
for i:=1 to d do 
    memo1.lines[0]:=memo1.lines[0]+' '+memo1.lines[i]; 
for i:=1 to d do 
    memo1.lines.Delete(1);