TMEMO中的多行添加

时间:2013-04-14 19:14:46

标签: delphi

我正在使用一个带有2个按钮(Button1,Button2)和1个Memo(Memo1)的Delphi XE2项目。

我的要求是在Button1上单击某些文本将在第一行(第1行)中记住Memo1。如果我再次点击Button1,一些新文本将被写入新行(第2行)。

如果我点击Button2,另一个新文本将附加在Memo1中(在最后一行之后将创建一个新行)。所以我写了以下代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Text :='Line1';
  Memo1.Lines.Text :='Line2';
end;
....
....
....
....
procedure TForm1.Button2Click(Sender: TObject);
begin
  Memo1.Lines.Text :='Line3';
  Memo1.Lines.Text :='Line4';
end;

但问题是只有一行显示Button1FirstClick上的文本为“Line1”,Button1SecondClick上的“Line2”和Button2Click上的“Line4”。请帮帮我。

3 个答案:

答案 0 :(得分:8)

要向备忘录控件添加更多文字,请拨打AppendAdd,如下所示:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Lines.Add('Line1');
  Memo1.Lines.Add('Line2');
end;
....
....
....
....
procedure TForm1.Button2Click(Sender: TObject);
begin
  Memo1.Lines.Add('Line3');
  Memo1.Lines.Add('Line4');
end;

如果您需要清除内容......

Memo1.Lines.Clear;

如果您希望替换一行(仅当索引已存在时):

Memo1.Lines[2]:= 'Replacement Text';

删除其中一行...

Memo1.Lines.Delete(2);

答案 1 :(得分:7)

TMemo.LinesTStrings类型的对象,具有许多字符串处理功能。分配Text属性会重写其包含的所有字符串。

您可以在所有其他已存在的行之后添加一行:

Memo.Lines.Add('Text');

您可以使用以下内容插入一行(第四个位置)

Memo.Lines.Insert(3, 'Text');

您可以添加多行:

Memo.Lines.Add('Line1'#13#10'Line2');
Memo.Lines.AddStrings(ListBox.Lines);

答案 2 :(得分:1)

Delphi中的

有Memo1.Lines.Text

但在C builder中有Memo1.Text或Memo1-> Text

让多行进入TMemo 您可以将其指定为memo1-> text = tstringlist-> text;

作为tstringlist你可以使用tsringlist-> CommaText =“line1,line2,line3,line4”; //,作为新行

然后是memo1-> text = tstringlist-> text;

或memo1-> lines-> add(tstringlist-> text); //在最后一行停止的memo1之后插入

或memo1-> lines-> add(“第1行,\ x0d \ x0a第2行,\ x0d \ x0a第3行”);

或memo1-> lines-> add(“第1行,\ r \ n aline 2,\ r \ n aline 3”);

否则使用memo1-> lines-> add(“”); //为每个新的空白行

祝你好运