![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
Привет.
Идея такая: - Есть программа, достаточно крупная, она, помимо всего прочего предоставляет отчетность. Сами отчетные модули вызываются из разных мест. - Возникла идея, начать вести статистику по отчетам, типа сделать список отчетов, существующих в системе, потому что их количество постоянно растёт, и иногда возникает необходимость сделать, как потом оказывается существующий отчет. Но это не суть важно. У меня возникла идея. Помимо информации об отчете хранить ещё место, где этот очтет вызывается в системе, те строку типа "Отчеты\Оперативный отчет", это реализовать не проблема. Далее возникла новая мысль, а что если сделать кнопочку, чтобы когда на неё нажимаешь запускался именно тот отчет, который сейчас выбран из списка? Вот сдесь прошу ваших мыслей. кк это можно, а главное грамотнее организовать? У меня пока только одна идея: пишем модуль, в котором процедура запуска отчетов, в зависимости от параметра, она вызывает ту или иную форму. Тогда нужно прописать в этом модуле в uses все формы отчетов. А когда в систему добавляем новый отчет, туда тоже надо дописать код в uses - форму, в процедуру - условие для этого отчета. Но по моему это решение нифига не гибкое. Охота, чтобы всё генерировалось во врема выполнения. Те чтобы процедура была универсальная, одна для всех. Я добавляю в таблицу данные, указываю откуда запускать, а процедура сама все запускает, при этом модуль с процедурой остается неизменным. Извините, если не совсем понятно. Если что - спрашивайте, я уточню. Просто у самого в голове не всё ещё по полочкам лежит. -------------------- |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Не понятно как связана форма с отчетом, в каком виде отображается отчет, и что вообще из себя представляет отчет
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
ну пусть будет просто форма Form1 без отчета...
те мне надо хранить в БД строку какую то. (ну например Form1.ShowModal) в какой то процедуре надо, в зависимости от параметра(те строки из БД для формы), вызвать эту форму мне надо как то выполнить строку из БД. Это возможно? Или, если так не возможно, узнать как решить такую задумку более гибко. Это сообщение отредактировал(а) DEER - 5.4.2006, 13:16 -------------------- |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
например так
конструктор что-нибудь сам сотворит на основе данной строки Это сообщение отредактировал(а) alexeis1 - 5.4.2006, 13:29 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
Почти понятно.
TMyrepForm - должна быть объявлена в данном модуле ?
т.е. что нить сотворит? -------------------- |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
я же не знаю как должна выглядеть форма и что содержать при различных параметрах - что определят строковый параметр?
Добавлено @ 13:50 TMyrepForm - может быть объявлена где угодно! -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DEER |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
этот строковой параметр как раз должен показывать программе, что нужно запускать именно эту форму
по примитивному это будет так
только если сделать так, то нужно будет чтобы в модуле, где будет лежать эта процедура были в разделе uses объявлены все эти формы(те их модули)
А хочется чтобы было гибкое решение. т.е. я один раз написал модуль, и больше его не трогал. -------------------- |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
DEER, Я предлагаю форму сделать одну общую, а компоненты на нее навешивать разные в зависимости от строки. положение, размеры и тип компонентов, данные можно хранить в ini файле(или в базе данных), а затем по строке выбирать нужный ini файл и создавать компоненты динамически типа
Это сообщение отредактировал(а) alexeis1 - 5.4.2006, 14:19 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
alexeis1, спасибо за советы, это всё не то. Это мне прийдётся ещё месяцок позаниматся созданием такой МЕГАформы
Будем искать...... -------------------- |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
ну можно попробовать и подругому например формы генерировать в виде bpl пакетов и загружать их динамически как dll, получется что-то вроде plugin ов
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Foley |
|
|||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: 2 Всего: 7 |
да, тут действитель проще создать папку с bpl и потом проходить по ней циклом и добавлять имена файлов в ЛистБокс например, по двойному щелчку вызывать (только сделать еще чтоб не имена файлов добавлять а процедурку, которая бы передавала назначение отчета (ИМХО так проще))
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |