Вниз
Скачать: 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.46 MB
Время: 0.012 c
3-33440
Новенький
2003-08-21 09:47
2003.09.11
Автоматическое обновление грида.


3-33479
Lamer_of_Delphi
2003-08-20 13:29
2003.09.11
Обновление данных


1-33640
WASYA
2003-08-31 10:17
2003.09.11
InstallShield


1-33631
viksoft
2003-08-31 16:04
2003.09.11
дописать в конец ехе а потом считать


1-33668
BorisKB
2003-08-29 11:49
2003.09.11
PopupMenu в PageControl




   Наверх