我正在使用一个带有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”。请帮帮我。
答案 0 :(得分:8)
要向备忘录控件添加更多文字,请拨打Append
或Add
,如下所示:
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.Lines
是TStrings
类型的对象,具有许多字符串处理功能。分配Text
属性会重写其包含的所有字符串。
您可以在所有其他已存在的行之后添加一行:
Memo.Lines.Add('Text');
您可以使用以下内容插入一行(第四个位置)
Memo.Lines.Insert(3, 'Text');
您可以添加多行:
Memo.Lines.Add('Line1'#13#10'Line2');
Memo.Lines.AddStrings(ListBox.Lines);
答案 2 :(得分:1)
有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(“”); //为每个新的空白行
祝你好运