Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Имя компонента как переменнная 


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 произвольное количество объектов.
К примеру где-то видел такой вопрос : "Как сделать чтобы было нужное (любое) количество окошек как в аське"




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.021 c
1-80850           easy                  2002-04-12 19:22  2002.04.25  
Программное создание меню


1-80858           G-ray                 2002-04-13 14:57  2002.04.25  
Несколько нажатых клавишь.


1-80887           Freeflayer            2002-04-14 13:23  2002.04.25  
Как с помощью одной функции можно удалить файл или полн/пуст dir


3-80808           kosty                 2002-04-05 12:21  2002.04.25  
Не вставлять одинаковые строки


14-81063          vopros                2002-03-19 15:20  2002.04.25  
Кто как отдыхает после тяжелой нашей работы?