我有一个Delphi XE2项目,里面有两个按钮(Button1,Button2)和一个Memo(Memo1)。
我的要求是,在单击Button1时,某些文本将被写入到Memo1的第一行(Line1)。如果再次单击Button1,则会在新行(Line2)中写入一些新文本。
如果单击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”。请帮忙解决。
Clear
不太正确。TMemo
有一个Clear
属性;你不必使用Lines.Clear
。Memo1.Clear;
很好用,也更省事。 - Ken WhiteTMemo
控件内容的正确方法。打 6 个额外字符并不多,而且使用 Code Insight 实际上更少,但是当有内置功能可以做到这一点时,并且您可以节省 6 个按键,并且它使您的代码更易读,我通常会使用它。这就像使用TStringList
- 当我有一个名为SL
的列表时,我总是写SL[i]
来访问循环中的东西,而不是SL.Strings[i]
,即使它们在功能上是等效的。 - Ken WhiteTMemo.Clear
的设计一样。 :-) - Ken WhiteDelphi实现
。 - TLama