procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
For i:=0 to ListBox1.Items.Count-1 do
if ListBox1.Selected[i] then
 listBox2.Items.Add(listBox1.Items.Strings[i]);
 end;end.
问题一、这个Strings怎么理解?Var
Myslist:TStrings;
myItem:TlistItem;
begin
Mslist:=Tstring.create
问题二、Strings可以定义一个组件类?
还是一个组件的属性可以定义成类?
TlistItem是什么意思?

解决方案 »

  1.   

    组件中的Strings是属性,一般是TString类型的(TStrings是个抽象基类,具体实现还得其派生类,最典型的就是TStringList)。
    listBox1.Items.Strings[i]可直接用listBox1.Items[i]表示
     
      

  2.   

    listBox1.Items[i]是单选项目把!
    listBox1.Items.Strings[i]是单选后追加项目把!
      

  3.   

    Items是TListBox的属性,类型为TStrings,而Strings是TStrings的属性,为string数组类型。
    因为TStrings.Strings属性定义时使用了default关键字,所以IistBox1.Items[i]等同于IistBox1.Items.Strings[i]