Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.25;
Скачать: CL | DM;

Вниз

Имя компонента как переменнная   Найти похожие ветки 

 
VlNek   (2002-04-11 08:58) [0]

Есть ли возможность свойству Name компонента присваивать значение переменной. Пример:

Var a:integer;
begin
a:=3;
image(a).Left:=18;
end;


 
Ra ©   (2002-04-11 09:16) [1]

что то у меня пример с вопросом не согласуется..
может уточнить вопрос?


 
Song ©   (2002-04-11 09:23) [2]

Нет, нельзя.
Вы можете либо создавать класс в run-time и запихать в массив, например:

Var Arr: array [1..10] of TBitMap;

Arr[1]:=TBitMap.Create;
...
И дальше обращаться по номеру ячейки массива.

Либо искать компонент через FindComponent, например (Вам нужно что-то сделать с Image2, тогда):
n:=2;
TImage(FindComponent("Image"+IntToStr(n))).Left:=...;
Только нужно иметь ввиду, что данный компонент должен быть, потому что в приведённом выше примере проверка на nil не выполняется. Если он (компонент) может и не быть, тогда нужно либо проверять на nil, либо поместить вышеупомянутую команду в состав исключения.


 
MBo ©   (2002-04-11 09:25) [3]

это имелось в виду?
TImage(findcomponent("Image"+Inttostr(a))).left:=18;


 
Anatoly Podgoretsky ©   (2002-04-11 11:09) [4]

Можно, Component.Name := StrVar;


 
Song ©   (2002-04-11 11:15) [5]

Анатолий, нн имел ввиду численную переменную.


 
Anatoly Podgoretsky ©   (2002-04-11 11:25) [6]

Нет проблем IntToStr
Но имел он ввиду другое, интерпритатор


 
Андрей Сенченко ©   (2002-04-11 12:21) [7]

Вопрос, я так полагаю состоит в том, как создать в Run-time произвольное количество объектов.
К примеру где-то видел такой вопрос : "Как сделать чтобы было нужное (любое) количество окошек как в аське"



Страницы: 1 вся ветка

Текущий архив: 2002.04.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
7-81092
МАРАТ
2002-01-30 08:54
2002.04.25
Заставить печатать конкретный принтер?


1-80849
MystiX
2002-04-12 21:38
2002.04.25
Hooks


14-81080
fliz
2002-03-21 09:21
2002.04.25
вчера уронил кактус. на руку :)))


14-81034
MBo
2002-03-18 16:13
2002.04.25
определить адрес процедуры из нее самой


3-80782
Mikeee
2002-04-03 16:21
2002.04.25
Что бы это значило :