Показать сообщение отдельно
  #5  
Старый 26.08.2013, 20:20
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Если во время запуска программы выполняются какие-то потенциально перечисляемые действия, вроде ADOTable1.Open из приведенного примера, их имена можно их выводить в заставке, как это делает Delphi или Photoshop.

Поскольку в соседней теме автор просил помощи в борьбе с быдлокодом, сразу скажу, что так как на примере писать не нужно. Должна быть некая общая процедура, выводящая "Загружается %s" в окне заставки. Вызов этой процедуры должен стоять в событии BeforeOpen, в AfterOpen можно поставить очистку строки. Причем, если у означенных компонентов нет своих обработчиков данных событий, обработчик должен быть один на все таблицы сразу. Если же у некоторых свой обработчик есть, добавляем в него вызов процедуры статуса (именно для этого нам и понадобилась процедура). Для остальных компонентов обработчик будет по-прежнему один общий.

В качестве имен можно выводить имя компонента или значащую часть имени, убрав префиксы/постфиксы "ADO", если есть. Заодно будет повод назвать компоненты по-нормальному, а не ADOTable1, ADOTable2. Если же хочется совсем по-человечески, придется завести таблицу подстановки, в которой имя компонента соответствует читабельному наименованию. Красота требует жертв.

Под таблицей подстановки подразумевается не столько таблица БД, сколько типизированная константа массивового типа в самой программе. Я бы сделал именно так.
Ответить с цитированием