Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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 произвольное количество объектов.
К примеру где-то видел такой вопрос : "Как сделать чтобы было нужное (любое) количество окошек как в аське"



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

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

Наверх





Память: 0.45 MB
Время: 0.006 c
3-80828
SasaR
2002-04-05 15:24
2002.04.25
Без BDE


1-80973
Explorer
2002-04-12 12:20
2002.04.25
Как в QuickRep создать несколько страниц


1-81007
Sound
2002-04-12 11:09
2002.04.25
Как поставить NMHTTP?


3-80819
merr
2002-04-05 14:13
2002.04.25
Базы-Paradox


1-80986
kimblch
2002-04-10 02:29
2002.04.25
Вопрос по OLE-Automation(ранние связывание)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский