我在容器TObjectList中存放很多个TIMAGE对象,我在程序中只知道TIMAGE的Name,如何根据对象名Name定位它在容器中的位置,我要找到它修改他的一些属性。
只能用for循环比对确定位置吗?
for i := 0 to ObjectList.Count - 1 do
begin
if TIMAGE(ObjectList.Items[i]).Name = 'XX'
begin
..
end;
end;这样是不是会影响效率?
我要求比较迅速的完成这些操作,有没有其他方法?
只能用for循环比对确定位置吗?
for i := 0 to ObjectList.Count - 1 do
begin
if TIMAGE(ObjectList.Items[i]).Name = 'XX'
begin
..
end;
end;这样是不是会影响效率?
我要求比较迅速的完成这些操作,有没有其他方法?
解决方案 »
- 如何在 TClipboard 粘入两种以上格式内容﹖
- 请教一个求明细帐余额的算法
- 发布一免费视频控件.
- 在FastReport中用什么语句代替QuickReport中的xxxx.PreviewModal的显示报表命令。
- mysql里使用临时表的问题
- 我加了{j-}为何const 还是可以改,这是一个菜鸟的提问
- 怎样控制DBGRID的列宽?
- 如何用delphi做一个activex,在 web下引用,实现接口怎么做呢,在线等!!急!!!!!!!!!!!
- 2个问题:高手请进,给分:50分起
- 有誰知道怎麼樣才能隱藏delphi報表的Preview畫面?
- delphi 如何获取IE的源文件
- excel 复制问题未教
procedure TForm1.Button1Click(Sender: TObject);
var
objectlist: TObjectList;
begin
objectlist := TObjectlist.Create;
try
objectlist.Add(self);
Showmessage(TForm(objectlist.Items[objectlist.IndexOf(self)]).Name);
finally
objectlist.Free;
end;
end;
var
list: TDictionary<string, TImage>;
image: TImage;
begin
image := list['img1'];
// or
if list.TryGetValue('img1', image) then
end;