Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2016, 12:18   #1
plato
Форумчанин
 
Регистрация: 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? Тогда какой из этих репортов наиболее подходит под поставленную задачу? Ведь, насколько я понимаю, эти репорты для разработчиков, а пользователи уже получают готовые результаты?
и не забудьте подарить детям шоколадку
plato вне форума Ответить с цитированием
Старый 06.10.2016, 12:41   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Да врядли вам подойдут какие либо системы отчетов. Тут нужно делать свою систему. На ум приходит только сделать Bitmap и на нем размещать ваши элементы. Это если вам не нужен экспорт в какие либо стандартные форматы типа Word или тп.
Потом сформированную картинку можно в пдф или на печать отправлять.
Отдельно по каждому документу в классе держать ссылки на элементы в базе и координаты размещения на холсте.
А если нужна логика макета то придется ее как то по особому придумывать.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 06.10.2016, 13:03   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Model (данные об использованных объектах БД + их размещение в готовом документе)
в простейшем варианте массив использованных в документе элементов справочников с указанием их порядка и данных непосредственно введенных пользователем.
далее связанный список.
далее таблица в БД (если нужно где-то хранить) и/или файлы.

View (представление о документе(Model) в "наглядном" для пользователя виде)
любой визуальный компонент(-ы) обеспечивающий(-е) требуемую наглядность.
Да-да один документ может использовать разные компоненты для отображения разных элементов.
или много одинаковых для отдельных ОДНОтипных элементов модели.

Код:
текст (компонент для вывода текста в нужном месте)
картинка(компонент для вывода картинки в нужном месте)
картинка
текст
НУ конечно же компонент-контейнер и ограничивающий и расширяющий(scroll) область показа.

Controller (средства для манипулирования объектами модели с "помощью" элементов представления)
Задача уметь получить от View знание об отображаемым (текущем) элементе модели и выполнить с моделью НУЖНЫЕ действия (возможно удалить элемент модели).
любые компоненты обеспечивающие требуемую функциональность.
часто это ТЕ ЖЕ САМЫЕ компоненты которые выполняют и показ(View) элементов.
Если они умеют делать(или их "научили") то что нужно.

https://ru.wikipedia.org/wiki/Model-View-Controller
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 06.10.2016 в 13:07.
evg_m вне форума Ответить с цитированием
Старый 06.10.2016, 13:43   #4
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

html
come-on вне форума Ответить с цитированием
Старый 06.10.2016, 19:29   #5
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Для хранения изображений и т.п. можно попробовать NoSQL базы данных, например MongoDB.

Сам не использовал, но вроде это именно та бд, которая документы хранит.

Для отображения html должен быть норм.
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой это компонент? или какой посоветуете вы? 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