![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Управлять именем объекта в ходе выполнения программы [D6, XP]
Proxytel © (2007-02-27 09:15:00)Есть например 20 TImage. Необходимо управдять ими программно используя имя.
Например есть Image1, Image2, ... , Image20. Я хочу переберать их в цикле:
for i:=1 to 20 do
Image{i}.Picture...
:)))
Что-то вроде этого...
Proxytel (2007-02-27 09:53:00) [1]Понял
Спасибо!
ЮЮ (2007-02-27 09:47:00) [2]
> Управлять именем объекта в ходе выполнения программы
Лучше управляй объектом :)
Image1, Image2, ... , Image20 ни что иное, как ссылки на объекты TImage, созданные в IDE. Создать нужное количество можно и в RunTime, не кидая 20 раз компонент с палитры. В этом случае имя ему вообще ни к чему.
for i:=1 to 20 do
Image [i].Picture...
т.е. Image это должен быть array of TImage или массив ссылок на экземпляры TImage. Если сами экземпляры создает Delphi, т.е. это Image1, ... , Image20 созданные в IDE, то заполнить этот массив единожды как в [1]:
for i:=1 to 20 do
Image[i - 1] := TImage(FindComponent('Image'+IntToStr(i));
если создавать в RunTime, то, естественно,
for i:=1 to 20 do begin
Image[i - 1] := TImage.Create(...);
...
end;
В обоих случаях, далее уже используешь Image[Index]
TRUNK (2007-02-27 09:22:00) [3]Что-то вроде этого:
for i:=1 to 20 do
FindComponent('Image'+IntToStr(i)).Picture...