|
|
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
Задача - хранить в таблице свойства и события элементов управления разных форм. Т.е. самих форм, надписей, кнопок, строковых редакторов и т.п. Форм будет где-то 200-500, на каждой - 20-30 контролов. Как лучше организовать хранение таких данных. Я вижу 2 варианта: Вариант 1. IDPropertyValue1typetform1parent01left1001top1001width3001width2001captionСупер-гипер форма2typetbutton2parent12left102top102width2002width252captionНажми на меня2onclickshowform(10) Вариант 2. IDtypeparentlefttopwidthheightcaptiononclick...и т.п.1tform0100100300200Супер-гипер формаNULL2tform1101520025Нажми на меняshowform(10) И вообще, что посоветуете почитать/изучить по теме. Основная задача - генерация форм исходя из данных БД. В том числе (! непонятно, как реализовать !) обработка событий, т.е. событиям контролов могут приписываться процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 12:21 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
Я думаю, лучше хранить в XML Горизонтальная структура (когда один столбец соответствует одному свойству) слишком ограничена. Свойства элементов управления очень разные, и горизонтальную структуру можно создать только для суперкласса, например, Control Вертикальная структура очень быстро разрастется до необъятных размеров. Ничего страшного в этом нет, но необходимы инструменты для редактирования этих данных. Если они есть - все ОК, если же вы планируете все вручную там настраивать - лучше не надо... Как добавлять обработчики событий - примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 12:37 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
Если единственная операция - хранить форму в базе, то можно просто сделать таблицу НазваниеФормы, СодержаниеФормы (блоб) и серилизовать туда средствами языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 13:30 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
или купить компонент который делает контора,которая делает fibplus и не иметь никому мозх.стоит копейки (определенно дешевле чем месяц работы над велосипедной задачей и месяц тестирования) -решает все проблемы махом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 14:09 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
Shtockили купить компонент который делает контора,которая делает fibplus и не иметь никому мозх.стоит копейки (определенно дешевле чем месяц работы над велосипедной задачей и месяц тестирования) -решает все проблемы махом.Это круто, но надо в БД хранить и все элементы (контролы). В базе же должны быть прописаны реакции на события (типа onclick). Причём клиент должен уметь формировать окно исходя из данных БД, и это окно должно работать (выполнять функции по событию и т.п.). Основная цель - автоматизировать процесс разработки форм, реализовать возможность их модификации в БД (без перепрограммирования клиента) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 16:58 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_Основная цель - автоматизировать процесс разработки форм, реализовать возможность их модификации в БД (без перепрограммирования клиента) Цель хорошая, но для этого надо формы классифицировать - грид, сообщение, форма вода ну и.т.д. Тогда каждый вид можно формально описать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 17:21 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
модЦель хорошая, но для этого надо формы классифицировать - грид, сообщение, форма вода ну и.т.д. Тогда каждый вид можно формально описать.Зачем? Можно просто сделать таблицу с данными об объектах (формах, контролов). И выбирать из базы нужную форму + все её контолы, а потом формировать на основании этих данных форму. Свойства объектов и имена процедур (при рекции на события) берутся из этой же базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 17:49 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 17:55 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
sergey888Я все это уже реализовал. И хранение свойств и событий и их вызов http://www.rbsystem.h18.ru/ Во-первых, я за Вас очень рад. Во-вторых, ваша "система" слишком громоздкая и заметно превышает требуемую функциональность. В-третьих, я не начальник, а программист. Принять решение об использовании заказного ПО я не могу. Выполнять задачу придётся самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 18:09 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
Ну и дурак Ваш начальник,что не хочет использовать покупное ПО.будете годами разрабатывать. пмсм это и делает , хотя может я и не разобрался. Заплатить 500 рублей и не париться - вот это мой выбор.Программировать ради программизма-нах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 09:31 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
Во-первых, вы, вероятно, не поняли задачи. Повторяю. 1) Делается визуальный редактор форм, который заносит все объекты (формы, контролы) в таблицу БД. При этом можно изменять (визуально!) не только свойства контролов, но и задавать обработчика событий (например, имена функций). 2) Далее один человек создаёт формы, второй пишет нужные обработчики. 3) Первый человек "нацепляет" эти обработчики (в том же визуальном редакторе) на кнопки и прочие контролы. При этом первый человек не владеет программированием. 4) Пользователь запускает систему, которая автоматически генерирует главную (а затем и остальные) форму, при этом форма генерируется исходя из данных, заложенных в БД. Ничего подобного ни в одном из тынцов я не нашёл. По первому тынцу нарисованы красивые диаграммы, и написаны умные слова типа "хранилища данных", "витрины данных" и т.п. - но я ничего в них не понял. По второму тынцу - XML редактор, но это совсем не то. Во-вторых, программирование не ради программирования, а ради выполнения работы. Если использовать покупное ПО, то зачем нужен наш отдел? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 11:35 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_Во-первых, вы, вероятно, не поняли задачи. Повторяю. ... Тогда вариант 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 11:49 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_ sergey888Я все это уже реализовал. И хранение свойств и событий и их вызов http://www.rbsystem.h18.ru/ Во-первых, я за Вас очень рад. Во-вторых, ваша "система" слишком громоздкая и заметно превышает требуемую функциональность. В-третьих, я не начальник, а программист. Принять решение об использовании заказного ПО я не могу. Выполнять задачу придётся самостоятельно. Т.к. я несколько лет занимался построением этой системы, то могу заверить, что у вас система получится не менее громоздкая и возможно менее производительная. Чтобы довести ее до промышленной эксплуатации, вам придется потратить примерно 1 человеко-год. При ЗП в 2000$ в месяц себестоимость вашей системы будет 24 000$ Удачи и привет начальнику! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 12:12 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
да не xml это редактор.скачайте и посмотрите. "Если использовать покупное ПО, то зачем нужен наш отдел? :)" - чтобы делать быстро на основе чужого свое (заточенное под бизнес, а не системное),а не переделывать 500 раз одно и тоже. Как уже говорилось - привет начальнику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 12:38 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
Гмм... Немного попроектировав эту систему, начал задумываться о смысле жизни... А что, если я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:52 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_Гмм... Немного попроектировав эту систему, начал задумываться о смысле жизни... А что, если я не прав? А что говорит начальник? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 18:00 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
В основном, ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 18:10 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_В основном, ничего. наверное он просто плохо разбирается в предмете, иначе ему было-бы что сказать - однозначно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 18:20 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
2 _вопросец_ А какой язык программирования приложения (т.е. не вашего дизайнера форм, а того приложения, которое будет эти формы генерировать)? Если Дельфи, то у него есть чудесная сериализация компонентов (см. dfm). Если .NET и используется Microsoft Presentation Foundation, то там есть язык XAML, на котором описывается весь дизайн. Я думаю, данная задача есть именно тот случай, когда функциональность СУБД нужна по минимуму, то есть чисто для хранения / извлечения, без обработки. А хранить проще данные, сериализованные с помощью некоторого удобного языка (типа приведенных выше). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 07:34 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
proposed amendmentиначе ему было-бы что сказатьЧто именно? Придраться к очепятке? mirА какой язык программирования приложенияДельфи mirЕсли Дельфи, то у него есть чудесная сериализация компонентов (см. dfm).К своему ужасу и стыду, я не знаю, что это такое, но обязательно спрошу у Гугла. mirЯ думаю, данная задача есть именно тот случай, когда функциональность СУБД нужна по минимуму, то есть чисто для хранения / извлечения, без обработки. А хранить проще данные, сериализованные с помощью некоторого удобного языка (типа приведенных выше).По-моему, вы не совсем поняли задачу. Формы не просто должны храниться в базе, но они ещё и должны работать! Т.е. выполнять некую функциональность. Причём эта функциональность тоже должна храниться в базе, и её тоже нужно быстро изменять, без перекомпиляции кода ИС. Чтобы было понятнее: ИС будет использоваться на 80-100 отделениях гос.организации. Сегодня вышел указ/приказ, который до завтрашнего дня надо учесть в ИС. Отделения закрываются в 18-00, открываются в 9-00. За ночь нужно провести обновление системы. Изменить код в базе легче, чем перекомпилировать исходный код и отправить exe-шник на 100 точек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:03 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_Чтобы было понятнее: ИС будет использоваться на 80-100 отделениях гос.организации. Сегодня вышел указ/приказ, который до завтрашнего дня надо учесть в ИС. Отделения закрываются в 18-00, открываются в 9-00. За ночь нужно провести обновление системы. Изменить код в базе легче, чем перекомпилировать исходный код и отправить exe-шник на 100 точек. Угу. Вместо того, чтобы послать 50Кб изменений, начинаем править dfm-ы с помощью sql. Как раз к 8:59 может быть начнет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:09 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_ proposed amendmentиначе ему было-бы что сказатьЧто именно? Придраться к очепятке? mirА какой язык программирования приложенияДельфи mirЕсли Дельфи, то у него есть чудесная сериализация компонентов (см. dfm).К своему ужасу и стыду, я не знаю, что это такое, но обязательно спрошу у Гугла. mirЯ думаю, данная задача есть именно тот случай, когда функциональность СУБД нужна по минимуму, то есть чисто для хранения / извлечения, без обработки. А хранить проще данные, сериализованные с помощью некоторого удобного языка (типа приведенных выше).По-моему, вы не совсем поняли задачу. Формы не просто должны храниться в базе, но они ещё и должны работать! Т.е. выполнять некую функциональность. Причём эта функциональность тоже должна храниться в базе, и её тоже нужно быстро изменять, без перекомпиляции кода ИС. Чтобы было понятнее: ИС будет использоваться на 80-100 отделениях гос.организации. Сегодня вышел указ/приказ, который до завтрашнего дня надо учесть в ИС. Отделения закрываются в 18-00, открываются в 9-00. За ночь нужно провести обновление системы. Изменить код в базе легче, чем перекомпилировать исходный код и отправить exe-шник на 100 точек. Почему не организовать автобновление exe-ника? Люди утром приходят на работу и при загрузке компа обновляется клиент. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 12:14 |
|
||
|
Как лучше организовать такую таблицу?
|
|||
|---|---|---|---|
|
#18+
_вопросец_ mirА какой язык программирования приложенияДельфи mirЕсли Дельфи, то у него есть чудесная сериализация компонентов (см. dfm).К своему ужасу и стыду, я не знаю, что это такое, но обязательно спрошу у Гугла.Загляните в *.dfm текстовым редактором, увидите, как Дельфи хранит формы. Есть и функции для выгрузки/загрузки на этом языке. _вопросец_ mirЯ думаю, данная задача есть именно тот случай, когда функциональность СУБД нужна по минимуму, то есть чисто для хранения / извлечения, без обработки. А хранить проще данные, сериализованные с помощью некоторого удобного языка (типа приведенных выше).По-моему, вы не совсем поняли задачу. Формы не просто должны храниться в базе, но они ещё и должны работать! Т.е. выполнять некую функциональность. Причём эта функциональность тоже должна храниться в базе, и её тоже нужно быстро изменять, без перекомпиляции кода ИС.Я как раз всё понял. Еще раз говорю, что все компоненты с их свойствами, назначенными обработчиками и т.д. можно читать/писать на языке dfm Дельфи, и создавать в run-time. Конечно, текст обработчиков там не сохранишь, но они у вас уже в программе есть, как я понимаю, то есть это не проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 16:48 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=113&tid=1544252]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
19ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 309ms |

| 0 / 0 |
