Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2015, 12:50   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
а почему так не следует делать?
Потому что такой способ ненадежный, и при определенных условиях может дать сбой.
Например если имя кнопки не Button а button или не Button1 а Button01.
Для коллекций компонентов есть класс TComponentList, его и используют чтоб собрать массив определенных компонентов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.01.2015, 12:53   #12
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Цитата:
Потому что такой способ ненадежный, и при определенных условиях может дать сбой.
Например если имя кнопки не Button а button или не Button1 а Button01.
Для коллекций компонентов есть класс TComponentList, его и используют чтоб собрать массив определенных компонентов.
решается использованием Tag'а.
Человек_Борща вне форума Ответить с цитированием
Старый 12.01.2015, 13:00   #13
Nagoran
 
Регистрация: 09.10.2013
Сообщений: 7
По умолчанию

Благодарю за помощь.
Nagoran вне форума Ответить с цитированием
Старый 12.01.2015, 20:09   #14
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Код:
Меня интересует лишь сам принцип КАК можно отследить, что в упорядоченной группе кнопок отсутствует какой-то элемент
Ни как, да и это довольно бессмысленно будет. В примере ниже я решил тебя обмануть немного и имя одной кнопке дал Label1, чтоб ты убедился в бессмысленности подобного рода кода. (Хотя незнаю может где-то его и можно применить )

Найти все имена кнопок что на форме ты можеш так:
Код:
var
  i: integer;
begin
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TButton then
      Memo1.Lines.Add('Имя = '+ (Components[i] as TButton).Name + ', надпись = ' + (Components[i] as TButton).Caption);
end;
Этот способ отличается от поиска методом FindComponent лиш тем что FindComponent заранее подразумевает что такая-то кнопка на форме уже должна быть (иначе он ошибку кинет, выше написали тебе это), и он не столько для поиска используется, а сколько для передачи какой либо информации в компонент
Код:
TButton(FindComponent('Button1')).Caption:= 'Привет кнопка - 1';
И это для динамически созданных компонентов чаще используется, потому что для нормально созданной кнопки можно обычно обратится
Код:
Button1.Caption:= 'Привет кнопка - 1';
Хотя код отработает и там и там.
Изображения
Тип файла: jpg 1111.jpg (49.5 Кб, 88 просмотров)

Последний раз редактировалось NIKOLAYY2; 12.01.2015 в 20:14.
NIKOLAYY2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание компонентов делфи Katerina_K Помощь студентам 1 18.01.2014 11:35
Delphi динамическое создание компонентов Asska2704 Помощь студентам 3 09.11.2012 22:01
[Новичёк]Динамическое создание компонентов из бд Detka.i.alex Общие вопросы Delphi 3 04.04.2011 16:23
динамическое создание компонентов DOLBY Компоненты Delphi 10 17.10.2010 14:03
Динамическое создание компонентов Nice42ru Помощь студентам 4 03.01.2010 20:51