前面定义了 
private
    ClassList:TStringList;然后
procedure TForm1.InitClass;
var temp:ClassKye;
begin
   while ClassList.Count>0 do
   begin
      (ClassList.Objects[0] as ClassKye).Free;
       ClassList.Delete(0);
   end;
   with ADOQUERY1 do
   begin
      SQL.Clear;
      SQL.Add('SELECT b.BigClassID,s.SmallClassID,s.SmallClassName ');
      SQL.Add('FROM SmallClass s INNER JOIN BigClass b ON s.BigClassID=b.BigClassID');
      Open;
      while not eof do
      begin
         temp:=ClassKye.Create;
         temp.bigClassId   :=FieldByName('BigClassID').AsString;
         temp.smallClassId :=FieldByName('SmallClassID').AsString;
         ClassList.AddObject(FieldByName('SmallClassName').AsString,temp);
         Next;
      end;
      Close;
   end;
end;有谁告诉我
 ClassList.Count 这个可以该怎么理解吗

解决方案 »

  1.   

    ClassList.Add('a');
    ClassList.Add('b');
    ClassList.Add('c');
    ClassList.Add('d');
    //ClassList.Count 为4 
    ClassList.Count 列表里对象数目
      

  2.   

    (ClassList.Objects[0] as ClassKye).Free;
      ClassList.Delete(0);
    那这句话该怎么理解呢?
      

  3.   

    你用的是添加Object的方法,这样每一项会附带一个指针,就是temp,这样除了文字信息,你可以保存其他更多的信息,
    (ClassList.Objects[0] as ClassKye).Free;
    这个就是释放第一个对象
      

  4.   

    方法:
    当ClassList的记录大于零的时候清空列表
    通过ADOQUERY1 查询数据库获取数据集
    遍历数据集 获取信息ClassKye加载到ClassList列表中
      

  5.   

    begin
      while ClassList.Count>0 do
      begin
      (ClassList.Objects[0] as ClassKye).Free;
      ClassList.Delete(0);
      end;那这句话到底是实现什么样的功能啊?
      

  6.   

    while ClassList.Count>0 do //ClassList的总条数是否大于0,大于则执行begin...end间语句
      begin
        (ClassList.Objects[0] as ClassKye).Free;
        ClassList.Delete(0);  
      end;循环判断删除ClassList里全部的数据,ClassList.Delete(0)表示删除第一条
      

  7.   


    楼上说的是对的,就是循环删除,最终目的就是把ClassList清空。因为只要ClassList不空,它就执行删除,知道ClassList空为止
      

  8.   

    恩 谢谢大家了 我刚才没分了想结帖
     http://forum.csdn.net/PointForum/Manage/TopicManageView.aspx?forumID=2efca177-6b51-42d9-a509-0216fbca231e&topicID=c1ead967-a29b-412c-932a-d776a055354a&date=2010-11-25+15%3a39%3a17&v=-1我以前的问题 因为是自问自答 不知道怎么结帖大家去随便发言  然后我马上给你们分吧