![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
имеется проектец: библиотечка-конструктор для рапид-разработки прикладных приложений для работы с бд. Изначально была универсальной - потом я её таки заточил под PostgreSQL - на нём я работаю. У него просто много довольно своих фич не стандартных - и я подумал, что не стоит ему крылья подрезать ради каких-то пока реально мне не нужных призрачных перспектив. Но в принципе если кому сильно надо - то можно сделать опять её универсальной - или по крайней мере под несколько субд заточить.
Краткая предыстория: Были у меня оч наполеоновские планы по разработке одной учётной программы. Эта библиотечка входила в этот проект - а потом была отделена - для дальнейшего использования в разных проектах. Так вот - нет больше у меня силов самому это всё тянуть :(. На данный момент та учётная программа - вместе с автором - уже работает 3-й месяц. Но длинна туду-лист этого проекта потрясающая - и вообще стремится к бесконечности ![]() Была мысль вообще из этой библиотечки сделать опен-сурс-проект. Но для этого я ещё не созрел. И вообще планируется в этой библиотечке сделать функции для защиты. Поэтому я не склонен открывать её код для всех. Сейчас я хотел бы найти 1-3 шарящих человека, поделиться с ними этим проектом - в надежде что никому из них тоже не придёт в голову мысль устраивать из этого опен-сурс-проект без моего согласия ![]() Ну и немного описалова: Вот пример кода для создания в прикладной программе формы для работы с таблицей бд - простым справочником:
Так же имеются более сложные там модели: шапки документов с формами "деталей" - например таблицей позиций накладной и т.п. Оч просто делается выбор со справочников - как в 1С. также с 1С слизан поиск при наборе на любой таблице ![]() ![]() ![]() Есть так же простой, дешовый и интересный способ печати: хтмл-отчёты. На стандартной форме этот отчёт дёшево и сердито можно перегнать в excel/word, сохранить на диске в хтмл. Делается это оч простым компонентом на основе веб-браузер-компонента которому в конструктор передаётся объект-комманд. Этот комманд уже должен содержать необходимые параметры. А в бд есть хранимка, возвращающая текст хтмл - на PostgreSQL опятьже делается она довольно легко - ещё с дополнительными функциями в бд по работе с хтмл. На сегодняшний день полностью отсутствуют механизмы для разграничений прав доступа. Ну и ещё пара пунктов есть в туду-листе без которых пока применить эту технологию к серьёзным и масштабным проектам низзя :(. Точнее можно - и нужно даже - и для этого то оно и было создано - но проект не будет без этого иметь завершонный вид. Хотя работать на нём уже можно будет. Ещё в проекте был реализован механизм генерации для формирования текста хранимок и классов шарповских по таблице бд и вьюхе для представления данных этой таблицы. Но сейчас оно устарело немного - отстало от остальных частей проекта и потеряло актуальность. Но его тоже можно долизать и использовать по назначению. Есть ещё компонент-дата-визард - пока не входит в проект - но будет долизан и туда включён. Ну и много ещё чего. С одним токо проблемы - устал я очень сам это тянуть :(. Охота найти соратников хороших под это дело - и возможно не только под это. Есть и прикладной один проект очень амбициозный. И к нему ещё и уже прилагается очередь из потенциальных клиентов проявляющих к этому делу интерес УЖЕ ДАВНО - но я никак его не домучаю. Возможно и с ним когда-то я созрею чтобы с кем-то разделить ету нелёгкую ношу ![]() В прикреплённом архиве скрины прикладного приложения на этой длл написанного - или недонаписаного ![]() ![]() Всех желающих принять участие в проекте прошу тут об этом сообщать. Ну и если можно в 2-х словах об себе тоже - и об своём опяте, проектах. Извините конечно за такой подход - просто на это дело я убил туеву хучу времени, сил и нервов - и раздавать комунипопадя етот код не хочу - т.к. у нас ещё не коммунизм и не сантаклаус я тоже. Не хочу никого обидеть или за чей-то счёт самоутвердиться - но тут будет какое-то подобие конкурсного отбора. Вплоть до того, что если серьёзных кандидатов/предложений не будет - то я вообще готов отказаться от этого плана и тянуть эту лямку дальше сам. такие пироги Присоединённый файл ( Кол-во скачиваний: 12 ) ![]() |
|||
|
||||
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
up
|
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
Мне больше нравится O/R + DataBinding.
|
|||
|
||||
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
2 Exception - это дело я тоже собираюсь переносить на генерические коллекции - вместо datatable и т.п. и вместо класса, где задаются названия столбцов (cols) с проставлением атрибутов - делать классы обыектов, представляющих датаэнтри. Ну и на них таким же макаром проставлять атрибуты аналогичные. Ну и ещё хочу проставлять атрибутами тоже инфу о параметрах на полях/столбцах и на самом объекте атрибутами названия хранимок инсерт/апдейт/делите. или не названия - а просто наличие/отсутствие - как-то так. ещё не определился. ну и вообще там планов оч много. вообще в идеале всё это в конечном итоге должно представлять что-то по функциям схожее (но не по принципу работы!) с 1ской - чтобы была возможность быстренько собрать например учётную программу из стандартных компонентов. Только в отличие от 1с будет гораздо больше гибкости: всё, что нельзя из стандартных компонентов собрать будет писаться на шарпе любым доступным способом. или наследованием стандартных компонентов и переопределеним родительских свойств/методов
Добавлено через 1 минуту и 17 секунд ещё вот тут можно глянуть что в конечном итоге с помощью этой длл делать можно: http://cito.sbs-it.zp.ua |
|||
|
||||
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
Exception, всёже я не понял причём здесь "O/R + DataBinding"? вот этот код, что выше там в первом моём посте - это ВЕСЬ код форы - ВКЛЮЧАЯ ИНТЕРФЕЙС - и вообще полностью ВСЁ - так причём же тут O/R?! Я тоже это дело может на о/р-маппинг переведу - токо причём здесь это? о/р-маппинг, дататейблы с датасетами и всё такое-прочее - это не всё, что нужно для приложения для работы с бд - разве токо если приложение консольное
![]() так вот - а у меня полная рапид-разработка стандартного интерфейса - со всякими примочками по типу поиска при наборе на таблице, менюхе для фильтрации, выбора со справочника по нажатии кнопки в таблице и туева хуча всего. это в изначальном замысле ПОЛНЫЙ конструктор для построения СЛОЖНЫХ программ - по типу учётных и т.п. это изначальный такой замысел ![]() если кто-то ещё напишет что-то по типу "предпочитаю DataSet" - убью ![]() |
|||
|
||||
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
может это я виноват что так понимается не правильно что я написал. вот прилагаю скрин того, что делается отем кодом в первом моём посте. при этом ещё хочу сделать акцент на том, что это ВЕСЬ код, который надо написать в клиентском приложении (в бд ещё хранимки
![]() Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
ещё примерчик - календарик в таблице. в отличие от датагридвью (тут не он используется) он нулебл сам по себе - без гемора. и дата вводится текстом - вплоть до использования вместо разделителя запятой - он сам потом корректно всё переводит по окончании редактирования
Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
вот ещё форма с интервалом дат и формой деталей (их много можно наоткрывать - они не модальные) - элемент стандартного интерфейса. выскакивает по F4. Опять же - чтобы там это сделать нужно пару строчек кода. просто всё до безобразия - всё - кроме библиотечки-конструктора
Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
|||
|
||||
kulibin |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
ещё на форме деталей обратите внимания на итоги в статусбаре - они тоже безобразно просто добавляются. они пересчитываются по ходу редактирования - и обновляются не только на дочерней форме - а и на родительской в таблице, на строке, для которой редактируются детали.
Вот как это делается:
ну и ещё примерчик формы деталей - с условным форматированием - там если срок годности меньше года - то красным и жирным он выделен. тоже не сложно очень это делается - не атрибутом конечно - чуть сложнее - но тоже минимум кода.
Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() |
||||
|
|||||
kulibin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 229 Регистрация: 9.5.2005 Где: Украина, Запорожь е Репутация: 1 Всего: 3 |
и исчё
![]()
все подобные проверки делаются на сервере. кстати отсюда и специфика постгресовская для длл этой - я не знаю на чём ещё можно нормально такое реализовать. а на клиенте такое делать конечно можно - но токо если на сервере тоже это делается ![]() ну и как на клиенте такие ошибки отрабатываются - смотрим прикреплённый скрин. кода для этого никакого писать не нужно - в прикладном приложении. всё написано в длл. Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |