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

Вниз

Чтение свойств объектов   Найти похожие ветки 

 
Кодер ©   (2003-08-30 14:20) [0]

Доброго времени суток. Помогите, пожалуйста, в решении проблемы, суть ее такова: существует форма, с содержанием большого количества объектов TEdit и TComboBox (в сумме их более 300). Существует некая переменная (типа String), в которой содержится название-имя одного из этих 300 объектов. К примеру существует VIEW:TEdit и S:STRING = "VIEW". Как найти объект VIEW:TEdit для того, чтобы считать его свойства (к примеру поле Text), зная всего лишь название этого объекта, хранящееся в переменной типа String? Перебор всех имен объектов формы здесь неуместен, так как в конечном счете необходимо "добраться" до свойств всех 300 объектов, что в данном случае чревато большими временнЫми затратами. Пожалуйста, подскажите решение.


 
Vuk ©   (2003-08-30 15:59) [1]

Ну во-первых есть у TComponent метод FindComponent, который ищет компонент по имени, а во-воторых 300 объектов - это не много и цикл отработает быстро. В конце концов FindComponent как раз перебором и занимается.

var
Found: TComponent;

...
Found := FindComponent("VIEW");
if Found is TEdit then
with TEdit(Found) do
begin
....
end;


 
Кодер ©   (2003-08-30 21:13) [2]

> Vuk © (30.08.03 15:59)
Спасибо!
Это единственный способ решения проблемы?


 
vuk ©   (2003-08-30 21:51) [3]

Ну... Если знаете способ пройти по списку без цикла, то не единственный... :o)

Кстати, мой код не совсем корректен. лучше было бы:

if (Found <> nil) and (Found is TEdit) then
...


 
Ученик ©   (2003-08-31 13:01) [4]

>vuk © (30.08.03 21:51) [3]
В IsClass есть проверка на nil, так что все нормально :-)



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
14-33732
HolACost!
2003-08-25 10:41
2003.09.11
Можноли заставить мастдай работать с двумя момедами одновременно


1-33635
Andrey V.
2003-08-31 12:30
2003.09.11
You must be in ShowCheckBox mode to set to this date


1-33550
titnn
2003-08-29 03:33
2003.09.11
как зеркально переставить биты ...


3-33434
Russko
2003-08-22 08:58
2003.09.11
Фильтрация


1-33543
Guzz
2003-08-28 20:23
2003.09.11
DBGrid