|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.10.2016, 12:18 | #1 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
Какой использовать элемент или технологию?
Вопрос по C#. Требуется подсказка, какой компонент лучше использовать для оптимального достижения поставленной цели.
Поскольку впереди много текста, то, чтобы вы не подумали, что я хочу, чтобы за меня вы решили поставленную задачу, то сразу оговорюсь. Мне только нужны намеки, наставления, в какую сторону копать, на какой элемент стандартный или сторонних разработчиков обратить внимание. Вот сама постановка задачи. Есть БД, которая состоит из нескольких справочников. В каждом справочники текстовые строки. Также, где-то буду хранить сканированные куски каких-то документов. Хранить в виде файлов jpg или png. В базе буду хранить или пути на эти фото или, если найду способ то сами фото буду заталкивать в базу. Но, скорее всего, это пути, а фото сканированных кусочков будут храниться в виде файлов разложенных по папкам. Вот из всех этих кусочков (тексты и фото) пользователь и будет собирать себе свой документ. Пример. Справочник фраз (возьмем один справочник, это не столь важно): Фраза 1, фраза 2, фраза 3, фраза 4, фраза 5 …. и т.д. И, допустим, есть фото: Сскан1, скан2, скан3, скан4, и т.д. Первый пользователь хочет себе сделать такой документ: Фраза2 Фраза5 Скан2 П.С. На экране отображаются сами фразы и сама фотка! Другой пользователь составляет себе документ: Фраза1 Скан2 Скан3 Фраза2 Скан3 Фраза1 Скан4. П.С. На экране отображаются сами фразы и сама фотка! И так далее. Моя задача сделать так, чтобы в программе пользователям было удобно из исходных элементов составлять выходные документы. Образно говоря, на экране программы в правой стороне экрана пользователь открывает справочники с текстами, и открывает нужную галерею со сканами. А в центре этот рабочий компонент, в который пользователь будет собирать свой документ. Например, используя drag&drop. Он перетаскивает куски в этот элемент, и располагает их в этом элементе в нужном порядке. При чем, в случае ошибки, или надобности корректировки, он может удалить какой-то элемент. Тогда, при удалении этого какого-то элемента дырка сдвигается. Т.е. все нижние элементы подвигаются вверх. А между элементами пользователь может руками вписать любую свою текстовую фразу. Может быть это какой-то Grid? Но, насколько я представляю, стандартный грид dataGridView работает только с БД. Фото сканов обязательно должны отображаться, чтобы пользователь понимал, что он составляет, чтобы ему было удобно. П.С. За меня не нужно решать поставленную задачу. Мне нужны намеки, наставления, в какую сторону копать, на какой элемент стандартный или сторонних разработчиков обратить внимание. Может быть, имеет смысл использовать какие-нибудь Репорты, чтобы не изобретать велосипед? Что-то типа FastReport, CrystalReport? Тогда какой из этих репортов наиболее подходит под поставленную задачу? Ведь, насколько я понимаю, эти репорты для разработчиков, а пользователи уже получают готовые результаты?
и не забудьте подарить детям шоколадку
|
06.10.2016, 12:41 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Да врядли вам подойдут какие либо системы отчетов. Тут нужно делать свою систему. На ум приходит только сделать Bitmap и на нем размещать ваши элементы. Это если вам не нужен экспорт в какие либо стандартные форматы типа Word или тп.
Потом сформированную картинку можно в пдф или на печать отправлять. Отдельно по каждому документу в классе держать ссылки на элементы в базе и координаты размещения на холсте. А если нужна логика макета то придется ее как то по особому придумывать.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
06.10.2016, 13:03 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Model (данные об использованных объектах БД + их размещение в готовом документе)
в простейшем варианте массив использованных в документе элементов справочников с указанием их порядка и данных непосредственно введенных пользователем. далее связанный список. далее таблица в БД (если нужно где-то хранить) и/или файлы. View (представление о документе(Model) в "наглядном" для пользователя виде) любой визуальный компонент(-ы) обеспечивающий(-е) требуемую наглядность. Да-да один документ может использовать разные компоненты для отображения разных элементов. или много одинаковых для отдельных ОДНОтипных элементов модели. Код:
Controller (средства для манипулирования объектами модели с "помощью" элементов представления) Задача уметь получить от View знание об отображаемым (текущем) элементе модели и выполнить с моделью НУЖНЫЕ действия (возможно удалить элемент модели). любые компоненты обеспечивающие требуемую функциональность. часто это ТЕ ЖЕ САМЫЕ компоненты которые выполняют и показ(View) элементов. Если они умеют делать(или их "научили") то что нужно. https://ru.wikipedia.org/wiki/Model-View-Controller
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 06.10.2016 в 13:07. |
06.10.2016, 13:43 | #4 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
html
|
06.10.2016, 19:29 | #5 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Для хранения изображений и т.п. можно попробовать NoSQL базы данных, например MongoDB.
Сам не использовал, но вроде это именно та бд, которая документы хранит. Для отображения html должен быть норм.
a.k.a. Angelicos Phosphoros
Мой сайт |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой это компонент? или какой посоветуете вы? | Fahman | Общие вопросы Delphi | 11 | 06.07.2014 00:53 |
Какую технологию лучше использовать? | aaayyy | PHP | 5 | 17.05.2013 21:11 |
Использовать или не использовать #define? [C++] | MooNDeaR | Помощь студентам | 3 | 10.03.2013 06:23 |
Какую технологию выбрать для разработки интерфейсов? Windows Forms или Qt? | voyager2011 | Общие вопросы C/C++ | 3 | 10.11.2011 16:26 |
Какой объект использовать: массив или запись? | lifeton | Общие вопросы Delphi | 1 | 27.05.2010 14:52 |