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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2010, 18:51   #1
morgonXak
 
Регистрация: 16.12.2009
Сообщений: 7
По умолчанию как работать с компанентами, которые были созданы программно?

Здравствуйте подскажите пожалуйста.
Я программно создал компонент ComboBox и теперь мне надо с каждого созданного компонента забрать информацию при нажатие клавиши. Лучше всего поместить информацию в массив.
Как это сделать.
Заранее спасибо))
morgonXak вне форума Ответить с цитированием
Старый 18.12.2010, 21:14   #2
Dimasw
Пользователь
 
Регистрация: 12.09.2010
Сообщений: 69
По умолчанию

Также как и с созданного непрограммно. ))
SELECT BEST FROM LIFE
Dimasw вне форума Ответить с цитированием
Старый 18.12.2010, 21:33   #3
morgonXak
 
Регистрация: 16.12.2009
Сообщений: 7
По умолчанию

а как к нему обратится?
morgonXak вне форума Ответить с цитированием
Старый 19.12.2010, 11:50   #4
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

Делаешь потомков от тех компонентов которые собираешься создавать. У каждого пишешь функцию или несколько с одинаковым названием для всех. Она возвращает строку например. При создании загоняешь их в массив. Потом пробегаешься по ним и вызываешь у каждого эту функцию. Это конечно если возвращаемая инфа не стандартная. например результат формулы или еще что. Есть у каждого компонента такое свойство Components[i] - это все компоненты которые на нем лежат. ComponentCount количество этих элементов. Обратится к стандартному свойству можно так Componentы[i].Name.
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 19.12.2010, 13:56   #5
morgonXak
 
Регистрация: 16.12.2009
Сообщений: 7
По умолчанию

у меня что то не получается. Я попытался вывести все имена компонентов которые есть на GroupBox, у меня вывело ошибку:list index out bounds(1).
Я прикрепил программу может поможет.
Вложения
Тип файла: rar 1.rar (177.4 Кб, 12 просмотров)
morgonXak вне форума Ответить с цитированием
Старый 19.12.2010, 17:20   #6
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

я что то в коде не нашел где ты выводишь имена компонентов которые на GroupBox- е.
может for i := 0 to GroupBox1.ComponentsCount - 1
Memo.Lines.Add(GroupBox1.Conponents[i].Name);

как то так может
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 20.12.2010, 18:38   #7
morgonXak
 
Регистрация: 16.12.2009
Сообщений: 7
По умолчанию

Все спасибо, я уже разобрался, точнее мне подсказали. Вод как это надо было сделать.
PHP код:
var
  
Cb TComboBox;
  
Integer;
begin
  
for := 0 to Self.ComponentCount do begin
    
if not (Self.Components[iis TComboBoxthen Continue;
    
Cb := Self.Components[i] as TComboBox;
    if 
Cb.Name 'com3' then begin
      ShowMessage
('Найден Комбобокс с именем: ' Cb.Name);
      Break;
    
end;
  
end;
end
morgonXak вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать какие динамические элементы созданы в форме delias Общие вопросы .NET 2 03.11.2010 21:01
Как программно работать с телефоном?? joker815 Помощь студентам 2 11.11.2009 15:17
Как программно работать с equation? Тупой Microsoft Office Word 10 22.09.2009 22:37
Как сделать чтобы новые строки всегда были в области видимости? neugadal Microsoft Office Excel 9 06.09.2008 12:23
Получить имена всех файлов, которые были открыты с помощью приложения Kn793 Общие вопросы Delphi 9 10.07.2008 15:31