Delphi наименование объектов и стринг

программирование программы Delphi

Допустим есть массив переменных номера которого соотвествую номерам неких объектов
например Mas[1..3] и Panel1, Panel2, Panel3
мне надо чтоб
Mas[1]:=Panel1.Caption
Mas[2]:=Panel2.Caption
Mas[3]:=Panel3.Caption
можно ли как-нить обращаться к наименованию объекта высчитывая его в стринге например
Mas[i]:='Panel'+i.Caption
или что-нить подобное
или любые другие способы если вы поняли мою идею
Ответы:
Написать функцию рекурсивного поиска по имени контрола среди потомков.
Либо использовать какую-нибудь реализацию Map<String, Object *> или  Dictionary<String, Object *>, заполненную вручную, если таковые в дельфях вообще есть.
можно так
var
 i: Integer;
 P: TPanel;
 mas: array[1..3] of string;
begin
 for i := 1 to 3 do
 begin
   P := TPanel(Self{Или другой контейнер панелей}.FindChildControl('Panel' + IntToStr(i)));
   if P <> nil then
     mas[i] := P.Caption;
 end;
end;


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.