Главная страница
    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.45 MB
Время: 0.011 c
1-33591
Anonimus
2003-08-27 13:01
2003.09.11
Компонент StringGrid


4-33852
Th
2003-07-08 11:00
2003.09.11
Искусственный вызов Window Menu приложения


14-33768
olegraw
2003-08-23 21:43
2003.09.11
Borland Delphi 7 Developer s Guide


14-33791
nikkie
2003-08-22 17:22
2003.09.11
Надо создать базу Oracle9i из командной строки


4-33849
Androw2
2003-07-09 21:52
2003.09.11
Как сэмулировать натаскивание файла на программу?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский