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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 15:15   #1
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию Поиск всех Edit

я осуществляю поиск Edit'ов на форме таким образом:

for i := 0 to mainform.ComponentCount-1 do
if (mainform.components[ i ] is TEdit) then
(mainForm.Components[ i ] as TEdit).Text := '';


Все работает, А как осуществить то же самое но с вкладкой tabsheet1 компонента Pagecontrol ?

Путем замены Mainform на Tabsheet1 не добился результатов.
Mr_skiner вне форума Ответить с цитированием
Старый 12.05.2011, 15:22   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Например так
Код:
  for i := 0 to PageControl1.Pages[0].ControlCount - 1 do
  begin
    if PageControl1.Pages[0].Controls[i] is TEdit then
    Memo1.Lines.Add((PageControl1.Pages[0].Controls[i] as TEdit).Text);
  end;
Баламут вне форума Ответить с цитированием
Старый 12.05.2011, 15:48   #3
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию

Это работает на Edit который стоит просто в Табе, а если его поместить допустим на панель или груп бокс- уже не работает... Можно поиск Всех Едитов на конкретной вкладке сделать?

for i := 0 to PageControl1.Pages[0].ControlCount - 1 do
if PageControl1.Pages[0].Controls[i] is TEdit then
begin
(PageControl1.Pages[0].Controls[i] as TEdit).ReadOnly:=enab;
end;

Последний раз редактировалось Mr_skiner; 12.05.2011 в 16:24.
Mr_skiner вне форума Ответить с цитированием
Старый 12.05.2011, 18:05   #4
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию

Подскажите плз что не то =(
Mr_skiner вне форума Ответить с цитированием
Старый 12.05.2011, 20:30   #5
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию

ну тогда проще их по порядку перечислить .. Нет у меня они в панелях и групбоксах изначально стоят.. в варианте если искать по FOrm тогда все задействует а ели по Вкладкам- нет
Mr_skiner вне форума Ответить с цитированием
Старый 12.05.2011, 22:58   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

у Вас что - гроупбоксы, панели и прочие контейнеры сами по себе появляются? Или Вы их динамически в RunTime создаёте?

Если нет - то перебирайте указав конкретно, где ваши эдиты могут быть:
Код:
  for i := 0 to GroupBox1.ControlCount - 1 do
...

  for i := 0 to Panel1.ControlCount - 1 do
...
и т.д.
p.s. если же хочется реально универсальный код (т.е. независимо от вложенности контролов друг в друга), тогда пишите рекурсивную процедуру... Пример могу набросать, если надо..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск через Edit rombler69 БД в Delphi 9 12.05.2013 17:12
Поиск в Edit bulldog5293 Общие вопросы Delphi 2 30.11.2010 22:12
Поиск ВСЕХ минимальных остовных деревьев Flicker Помощь студентам 0 17.10.2010 01:26
Одна процедура для всех Edit(ов) SoftKoc Общие вопросы Delphi 7 23.01.2010 13:44
рекурсивный поиск файлов всех картинок doniyor Общие вопросы Delphi 3 08.09.2009 09:21