前面定义了
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 这个可以该怎么理解吗
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 这个可以该怎么理解吗
ClassList.Add('b');
ClassList.Add('c');
ClassList.Add('d');
//ClassList.Count 为4
ClassList.Count 列表里对象数目
ClassList.Delete(0);
那这句话该怎么理解呢?
(ClassList.Objects[0] as ClassKye).Free;
这个就是释放第一个对象
当ClassList的记录大于零的时候清空列表
通过ADOQUERY1 查询数据库获取数据集
遍历数据集 获取信息ClassKye加载到ClassList列表中
while ClassList.Count>0 do
begin
(ClassList.Objects[0] as ClassKye).Free;
ClassList.Delete(0);
end;那这句话到底是实现什么样的功能啊?
begin
(ClassList.Objects[0] as ClassKye).Free;
ClassList.Delete(0);
end;循环判断删除ClassList里全部的数据,ClassList.Delete(0)表示删除第一条
楼上说的是对的,就是循环删除,最终目的就是把ClassList清空。因为只要ClassList不空,它就执行删除,知道ClassList空为止
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我以前的问题 因为是自问自答 不知道怎么结帖大家去随便发言 然后我马上给你们分吧