|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
[ Исходник ] - Lib music
Имя (Ник): margarin
E-mail / Адрес сайта: natig1906@ya.ru Описание исходника: Пример создания АИС библиотеки музыкальных нот. Было бы не плохо, если бы кто нибудь разобрался в коде (может проще написать с нуля) и осуществил загрузку (выгрузку) файлов на сервер. Стадия программы: добавить возможность в таблице "doc_composition" хранить файлы (или ссылки на них), добавить функционал для работы с ними в программу - программа готова для работы. Скачать: lib-music.zip (6 мб) |
#2
|
||||
|
||||
Посмотрел и нифига не понял. Не проще ли все в базу складывать?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Цитата:
(Ноты музыкальных произведений хранятся в pdf формате, хотя в большей части это сканы) P.S. Вы имеете ввиду, хранить файлы (нот) в базе, по средствам FileStream или другим способом? Последний раз редактировалось margarin, 02.06.2013 в 22:19. |
#4
|
||||
|
||||
Имею ввиду организовать хранение этих самых pdf (кстати и midi тоже) в базе данных, в BLOB поле, там же и картинки композиторов.
Несколько сущностей: * Композитор * Жанр * Инструмент * Хранилище (там же и тип нот) (* Тональности) Все их связать, т.о. можно организовать поиск нужной композиции по заданным критериям (и просмотр нот) — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 02.06.2013 в 22:42. |
#5
|
|||
|
|||
Цитата:
Не очень понял, чем плохо связал сущности я? Если я правильно понял, ноты хранить в полях varbinary (как на картинке)? Я хотел так сделать но, успеха в этом направлении пока не нашел. |
#6
|
|||
|
|||
Цитата:
Несколько вопросов: 1. Действительно нужна такая сложная диаграмма? 2. А есть какое нить формализованное ТЗ? Use cases? 3. А чего архив такой большой? БД и бинарник что-ли туда засунул? Ненадо, база передается в виде скриптов для создания, а бинарник компилиться из исходников. 4. А есть у этой программы какая-нить ценность кроме опыта написания подобных программ? Если есть, то могу переписать, могу даже на FM (XE3). |
#7
|
||||
|
||||
Цитата:
margarin, извини, может чего не понял, ибо смотрел мельком (там еще контролы какие-то надо было). Глянул ER диаграмму твою, что за база данных? Что-то мне не очень нравится такая схема, хотя в принципе нормально. image_tonality для чего? Можно ж флагом обойтись, или неким справочником. Подумаю еще, начеркаю свои соображения по поводу ER диаграммы. Насколько я понял - это для удобства программа, чтоб не рыться в горе папок, в принципе это можно утыкать в маленькую SQLite базу и написать программку с крошечным и удобным интерфейсом. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 03.06.2013 в 06:37. |
#8
|
|||
|
|||
Цитата:
Судя по диаграмме - либо Access, либо MS SQL Server. Цитата:
Понятно, что для удобства. Тут вопрос только в том, насколько она действительно нужна (что есть подобное, стоит ли переписывать в нормальном интерфейсе, будут ли пользователи...). |
#9
|
||||
|
||||
Цитата:
Да, скорее всего нашел неверное решение. Может нужно было загрузить квинтовый круг и давать на него ссылку. Цитата:
Цитата:
Началось с того, что захотелось облегчить жизнь музыкантам, которые хотят хранить ноты в электронном виде. Был сделал опрос на подобии "какие данные о произведении должны храниться в базе?", "может ли у одного произведения быть несколько композиторов?", "что должна "уметь" программа?" и т.д. Цитата:
К слову, если к тому, что уже сделано прицепить возможность хранения файлов (и работу с ними) - программой уже смогут пользоваться несколько человек. |
#10
|
||||
|
||||
Ну в общем надо схему продумать и довольно годная программа получится.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#11
|
|||
|
|||
Цитата:
Предложенная мной не подойдет или я не правильно трактовал слово "продумать"? |
#12
|
||||
|
||||
Продумать - добавить кое чего, нормализовать. Не, схема норм, надо просто ее проанализировать (может чего добавить можно), я вечерочком посижу, подумаю, напишу соображения.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#13
|
|||
|
|||
Цитата:
Первое, что надо продумать и исправить - это интерфейс пользователя. То, что у тебя - это ужас. Подумай, как музыкант будет искать то, что ему надо. По композитору, по названию, по тональности... еще по чему. А если он точно не знает, что ему надо? Вот отсюда и надо будет "танцевать". И GUI строить, и БД. |
#14
|
||||
|
||||
Интерфейс надо делать в виде дерева с таблицей, в дереве композиторы, в таблице перечень партитур, там же и жанры определены.
В дереве так же сделать пару групп по жанрам и тональностям. В таблице быстрый поиск по жанру/названию и т.д. (здесь же и сортировки, наприммер по дате сочинения/добавления в базу и проч.) даблклик по таблице открывает окно в котором перечислены возможные партитуры (pdf, tiff, png, midi). Ну и расширенный поиск по всей базе по всем возможным критериям. Не забрасывай, идея хорошая. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#15
|
|||
|
|||
Цитата:
с деревом - наверное не согласен. Лучше переключающийся список с индексированием по первой букве + закладка поиска. Делается довольно легко. Я бы порекомендовал использовать MustangPeak EasyListView (могу куда-нить выложить для d7, есть еще исходники, которые, вроде, компиляться под XE2... не проверял еще). Хотя, при некотором старании можно сделать хоть на обычном ListBox с ручной отрисовкой, было бы желание... Если будет время, попробую набросать такую штуку на обычном ListBox звавтра... собственно, там только будет вопрос передачи данных правильным образом... Последний раз редактировалось lmikle, 04.06.2013 в 09:22. |