Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.05.2010, 13:20
Agasfer2010 Agasfer2010 вне форума
Прохожий
 
Регистрация: 13.05.2010
Сообщения: 25
Репутация: 10
Вопрос Работа с динамически созданными объектами

Подскажите, люди! Как обратиться к каждому динамически созданному объекту, если я их создавал так:
Код:
for i := 1 to 4 do
begin
_TableName := TEdit.Create(self);
with _TableName do
  begin
  Parent := _Form;
  Top := 10;
  Left := 10 * i + (i - 1) * 160;
  Width := 160;
  _TableName.Name := _TableName.Text;
  end;
_Polename := TEdit.Create(self);
with _Polename do
  begin
  parent := _Form;
  Top := 60;
  Left := (i - 1) * 40 + 30 * i + (i - 1) * 100;
  Width := 100;
  end;
_Typepole := TComboBox.Create(self);
with _Typepole do
  begin
  Parent := _Form;
  Top := 90;
  Left := (i - 1) * 40 + 30 * i + (i - 1) * 100;
  Width := 100;
  Items.Add('INT');
  Items.Add('CHAR');
  Items.Add('DATE');
  end;
_KeyPole := TCheckBox.Create(self);
with _KeyPole do
  begin
  Parent := _Form;
  Top := 120;
  Left := (i - 1) * 40 + 30 * i + (i - 1) * 100;
  Caption := 'Ключевое поле';
  end;
end;
Admin: Не забываем про теги!

Последний раз редактировалось Admin, 13.05.2010 в 13:30.
Ответить с цитированием
  #2  
Старый 13.05.2010, 14:35
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Вариантов много:
1) При создании засунуть все компоненты в удобный для тебя список (TList, TObjectList, и т.п. на твое усмотрение) и обращаться через итемы списка
2) Задать каждому созданному компаненту уникальное имя и обращаться к нему через TXXX(FindComponent(ComponentName))
3) может кто еще идейку подкинет

З.Ы. TXXX - TEdit, TComboBox и т.п. что создал к тому и обращайся
Ответить с цитированием
  #3  
Старый 13.05.2010, 14:42
Agasfer2010 Agasfer2010 вне форума
Прохожий
 
Регистрация: 13.05.2010
Сообщения: 25
Репутация: 10
По умолчанию

Спасибо за варианты) Я их рассмотрю. Но у меня есть сомнение: Через 2 вариант можно будет найти все TEditы, допустим? Я их 4 создаю...
Ответить с цитированием
  #4  
Старый 13.05.2010, 16:13
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

По имени компонента можешь найти любой. Только искать придется 4 раза, ведь у тебя будет 4 уникальных имени. Функция FindComponent ищет уникальный компонент по уникальному имени (если мой маразм еще не окреп ). Так же можешь заглянуть в тему про много мемо, там я человечку объяснял как из кучи мемо на форме собрать все воедино и записать в файл. Так что можешь воспользоваться еще свойством Controls той формы, на которой лежат твои едиты и прочие компоненты. Вобщем, тут полет фантазии.

Последний раз редактировалось dr. F.I.N., 13.05.2010 в 16:16.
Ответить с цитированием
  #5  
Старый 13.05.2010, 19:52
Agasfer2010 Agasfer2010 вне форума
Прохожий
 
Регистрация: 13.05.2010
Сообщения: 25
Репутация: 10
По умолчанию

Или оно не работает или я не понимаю((( И можно объяснить на моём примере?
Ответить с цитированием
  #6  
Старый 13.05.2010, 19:58
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Первое, что нашел поисковик.

Вот еще приятная и полезная цитата с какого-то форума
Цитата:
поставить курсор на слово FindComponent и тыркнуть F1
Ответить с цитированием
  #7  
Старый 13.05.2010, 21:14
Agasfer2010 Agasfer2010 вне форума
Прохожий
 
Регистрация: 13.05.2010
Сообщения: 25
Репутация: 10
По умолчанию

Спасибо большое! Это просто я тупанул))) Всё работает))) А вы можете ещё подсказать по одному вопросу? Я его задал в разделе базы данных))) Заранее спасибо!
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter