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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2012, 20:40   #11
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Не интересовался, как именно форма хранится в Делфи, но, думаю, примерно так же, как и в WinAPI.
Обычног существует заголовочный *.h файл, в котором прописано соответствие контролов и их уникальных номеров. Можно поправить этот *.h файл ручками, чтобы нужные контролы имели последовательные номера, после чего их легко можно перебирать в цикле, не тратя времени на поиск типа FindComponent.

Если по каким-то причинам это сделать нельзя, то цикл с FindComponent следует прогнать один раз при инициализации формы, и найденные номера сложить в массив, а потом этим массивом пользоваться при необходимости опросить все компоненты.
s-andriano вне форума Ответить с цитированием
Старый 08.06.2012, 23:21   #12
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Есть вероятность, что ТС не знакома с Tstringgrid и накидала (где-то взяла) таблицу из эдитов, тогда проблема должна решиться заменой всей сотни эдитов одним стринггридом (вкладка компонентов Additional). Тогда поиск по форуму насеет работы со стринггридом.
Есть 2 вполне логичных способа даже с эдитами, 1 это их перебор, только не FindComponent !! а просто цикл по массиву Components, где делаем работу каким-нибудь таким образом
Код:
if pos('edit', Components[i].name) <> 0 then
  F[copy(Components[i].name, 5, 10)] := (Components[i] as TEdit).Text;
Второй способ - генерировать все эти 100 эдитов (с формы удалить конечно) и ссылки на них хранить в массиве, и пробегаться соответственно только по этому массиву, а не по всем компонентам. Тут поиск по форуму насчёт динамического создания компонент.

Последний раз редактировалось phomm; 08.06.2012 в 23:29.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл for в Delphi AlexandЯ Помощь студентам 8 18.11.2011 08:12
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34