前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Delphi中利用StringList对象来记录动态生成的对象

Delphi中利用StringList对象来记录动态生成的对象

作者头像
Vaccae
发布2019-07-25 16:46:57
1.5K0
发布2019-07-25 16:46:57
举报
文章被收录于专栏:微卡智享

StringList使用

在Delphi中,如果程序需要动态创建大量的对象,那么我们可以利用StringList对象来管理这些动态生成的对象。具体步骤如下:


1、创建StringList对象: OBJ := TStringList.Create;

2、保存动态生成的对象: OBJ.AddObject('标识','对象名');

3、调用生成的对象: (OBJ.Objects[序号/OBJ.IndexOf('标识')] as 对象类型).方法或属性 或: 对象类型(OBJ.Objects[序号/OBJ.IndexOf('标识')]).方法或属性

4、释放动态生成的对象: (OBJ.Objects[序号/OBJ.IndexOf('标识')] as 对象类型).Free; 对象类型(OBJ.Objects[序号/OBJ.IndexOf('标识')]).Free;

释放对象后记得要删除StringList里对应的记录: OBJ.Delete(序号/OBJ.IndexOf('标识'));

5、StringList的释放: if Assigned(OBJ) then OBJ.Free;


查询是否存在

如果在StringList里面查询某一项是否存在,我们可以用下面的例子进行:

var S : TStrings; begin S := TStringList.Create; S.Add('中国'); S.Add('人民'); S.Add('真伟大'); if S.IndexOf('中国') <> -1 then begin Showmessage('包含"中国"这个字符串'); end; S.Free; end;


排序查找

如果在StringList里面进行排序并查找,可以用下面的方法:

procedure TForm1.FormCreate(Sender: TObject); var MyList: TStringList; Index: Integer; begin MyList := TStringList.Create; try MyList.Add('Animals'); MyList.Add('Flowers'); MyList.Add('Cars'); MyList.Sort; { Find will only work on sorted lists! } if MyList.Find('Flowers', Index) then begin ListBox1.Items.AddStrings(MyList); Label1.Caption := 'Flowers has an index value of ' + IntToStr(Index); end; finally MyList.Free; end; end;


-END-

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档