Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
Кодер   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-33669
Михаил. Т
2003-08-29 16:16
2003.09.11
TAction


3-33484
MakNik
2003-08-22 11:57
2003.09.11
ADO


1-33570
isff
2003-09-01 15:23
2003.09.11
dll, изменение в главной форме.


14-33730
Kost
2003-08-20 10:28
2003.09.11
Страшный глюк


3-33438
grusty
2003-08-21 10:48
2003.09.11
Удаление всех записей в ADO.





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