Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-33550
titnn
2003-08-29 03:33
2003.09.11
как зеркально переставить биты ...


1-33539
Юрий Федоров
2003-08-27 18:53
2003.09.11
Внешний COM сервер и потоковая модель


1-33644
Menel
2003-09-01 16:27
2003.09.11
Узнать имя картинки загруженной в Image


9-33417
zorg
2003-03-06 22:23
2003.09.11
Ну хоть в этом разделе поиогут ?


14-33804
Igor_thief
2003-08-22 13:48
2003.09.11
Как проверить ...




   Наверх