Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.06.2013, 21:39
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,428
Версия Delphi: 7
Репутация: выкл
По умолчанию [ Исходник ] - Lib music

Имя (Ник): margarin
E-mail / Адрес сайта: natig1906@ya.ru



Описание исходника:
Пример создания АИС библиотеки музыкальных нот.
Было бы не плохо, если бы кто нибудь разобрался в коде (может проще написать с нуля) и осуществил загрузку (выгрузку) файлов на сервер.
Стадия программы: добавить возможность в таблице "doc_composition" хранить файлы (или ссылки на них), добавить функционал для работы с ними в программу - программа готова для работы.

Скачать: lib-music.zip (6 мб)
Ответить с цитированием
  #2  
Старый 02.06.2013, 21:55
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,503
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Посмотрел и нифига не понял. Не проще ли все в базу складывать?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 02.06.2013, 22:10
margarin margarin вне форума
Прохожий
 
Регистрация: 02.06.2013
Сообщения: 6
Версия Delphi: XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Посмотрел и нифига не понял. Не проще ли все в базу складывать?
Что имеется ввиду под "складывать в базу"?
(Ноты музыкальных произведений хранятся в pdf формате, хотя в большей части это сканы)

P.S. Вы имеете ввиду, хранить файлы (нот) в базе, по средствам FileStream или другим способом?

Последний раз редактировалось margarin, 02.06.2013 в 22:19.
Ответить с цитированием
  #4  
Старый 02.06.2013, 22:38
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,503
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Имею ввиду организовать хранение этих самых pdf (кстати и midi тоже) в базе данных, в BLOB поле, там же и картинки композиторов.

Несколько сущностей:
* Композитор
* Жанр
* Инструмент
* Хранилище (там же и тип нот)
(* Тональности)

Все их связать, т.о. можно организовать поиск нужной композиции по заданным критериям (и просмотр нот)
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию

Последний раз редактировалось M.A.D.M.A.N., 02.06.2013 в 22:42.
Ответить с цитированием
  #5  
Старый 03.06.2013, 01:03
margarin margarin вне форума
Прохожий
 
Регистрация: 02.06.2013
Сообщения: 6
Версия Delphi: XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Все их связать, т.о. можно организовать поиск нужной композиции по заданным критериям (и просмотр нот)
Для большей понятности привел картинку...
Не очень понял, чем плохо связал сущности я?
Если я правильно понял, ноты хранить в полях varbinary (как на картинке)?
Я хотел так сделать но, успеха в этом направлении пока не нашел.
Изображения
Тип файла: png diag.PNG (27.5 Кбайт, 15 просмотров)
Ответить с цитированием
  #6  
Старый 03.06.2013, 06:00
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,371
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Цитата:
Сообщение от margarin
Для большей понятности привел картинку...
Не очень понял, чем плохо связал сущности я?
Если я правильно понял, ноты хранить в полях varbinary (как на картинке)?
Я хотел так сделать но, успеха в этом направлении пока не нашел.

Несколько вопросов:
1. Действительно нужна такая сложная диаграмма?
2. А есть какое нить формализованное ТЗ? Use cases?
3. А чего архив такой большой? БД и бинарник что-ли туда засунул? Ненадо, база передается в виде скриптов для создания, а бинарник компилиться из исходников.
4. А есть у этой программы какая-нить ценность кроме опыта написания подобных программ? Если есть, то могу переписать, могу даже на FM (XE3).
Ответить с цитированием
  #7  
Старый 03.06.2013, 06:27
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,503
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от lmikle
3. А чего архив такой большой? БД и бинарник что-ли туда засунул? Ненадо, база передается в виде скриптов для создания, а бинарник компилиться из исходников.
Там гора dcu`х.

margarin, извини, может чего не понял, ибо смотрел мельком (там еще контролы какие-то надо было).

Глянул ER диаграмму твою, что за база данных? Что-то мне не очень нравится такая схема, хотя в принципе нормально.

image_tonality для чего? Можно ж флагом обойтись, или неким справочником.

Подумаю еще, начеркаю свои соображения по поводу ER диаграммы.

Насколько я понял - это для удобства программа, чтоб не рыться в горе папок, в принципе это можно утыкать в маленькую SQLite базу и написать программку с крошечным и удобным интерфейсом.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию

Последний раз редактировалось M.A.D.M.A.N., 03.06.2013 в 06:37.
Ответить с цитированием
  #8  
Старый 03.06.2013, 07:57
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,371
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Глянул ER диаграмму твою, что за база данных? Что-то мне не очень нравится такая схема, хотя в принципе нормально.

Судя по диаграмме - либо Access, либо MS SQL Server.

Цитата:
Сообщение от M.A.D.M.A.N.
Насколько я понял - это для удобства программа, чтоб не рыться в горе папок, в принципе это можно утыкать в маленькую SQLite базу и написать программку с крошечным и удобным интерфейсом.

Понятно, что для удобства. Тут вопрос только в том, насколько она действительно нужна (что есть подобное, стоит ли переписывать в нормальном интерфейсе, будут ли пользователи...).
Ответить с цитированием
  #9  
Старый 03.06.2013, 12:09
margarin margarin вне форума
Прохожий
 
Регистрация: 02.06.2013
Сообщения: 6
Версия Delphi: XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
image_tonality для чего? Можно ж флагом обойтись, или неким справочником.
я хотел примерно следующее из этого получить: пользователь открыл, полазил по программе и получил исчерпывающую информацию о произведении.
Да, скорее всего нашел неверное решение. Может нужно было загрузить квинтовый круг и давать на него ссылку.

Цитата:
Сообщение от M.A.D.M.A.N.
Глянул ER диаграмму твою, что за база данных?
MS SQL Server

Цитата:
Сообщение от lmikle
А есть какое нить формализованное ТЗ? Use cases?
ТЗ нет, есть только примерные (расплывчатые) требования к программе.
Началось с того, что захотелось облегчить жизнь музыкантам, которые хотят хранить ноты в электронном виде. Был сделал опрос на подобии "какие данные о произведении должны храниться в базе?", "может ли у одного произведения быть несколько композиторов?", "что должна "уметь" программа?" и т.д.

Цитата:
Сообщение от lmikle
Тут вопрос только в том, насколько она действительно нужно?
Потенциальная аудитория - музыканты, у которых домашняя библиотека (как правило не в электронном виде).

К слову, если к тому, что уже сделано прицепить возможность хранения файлов (и работу с ними) - программой уже смогут пользоваться несколько человек.
Ответить с цитированием
  #10  
Старый 03.06.2013, 13:01
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,503
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ну в общем надо схему продумать и довольно годная программа получится.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #11  
Старый 03.06.2013, 13:38
margarin margarin вне форума
Прохожий
 
Регистрация: 02.06.2013
Сообщения: 6
Версия Delphi: XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Ну в общем надо схему продумать и довольно годная программа получится.
Что в ней нужно исправить?
Предложенная мной не подойдет или я не правильно трактовал слово "продумать"?
Ответить с цитированием
  #12  
Старый 03.06.2013, 14:48
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,503
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Продумать - добавить кое чего, нормализовать. Не, схема норм, надо просто ее проанализировать (может чего добавить можно), я вечерочком посижу, подумаю, напишу соображения.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #13  
Старый 04.06.2013, 08:58
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,371
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Цитата:
Сообщение от margarin
Что в ней нужно исправить?
Предложенная мной не подойдет или я не правильно трактовал слово "продумать"?

Первое, что надо продумать и исправить - это интерфейс пользователя. То, что у тебя - это ужас. Подумай, как музыкант будет искать то, что ему надо. По композитору, по названию, по тональности... еще по чему. А если он точно не знает, что ему надо? Вот отсюда и надо будет "танцевать". И GUI строить, и БД.
Ответить с цитированием
  #14  
Старый 04.06.2013, 09:05
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,503
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Интерфейс надо делать в виде дерева с таблицей, в дереве композиторы, в таблице перечень партитур, там же и жанры определены.

В дереве так же сделать пару групп по жанрам и тональностям.

В таблице быстрый поиск по жанру/названию и т.д. (здесь же и сортировки, наприммер по дате сочинения/добавления в базу и проч.)

даблклик по таблице открывает окно в котором перечислены возможные партитуры (pdf, tiff, png, midi).

Ну и расширенный поиск по всей базе по всем возможным критериям.

Не забрасывай, идея хорошая.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #15  
Старый 04.06.2013, 09:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,371
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Интерфейс надо делать в виде дерева с таблицей, в дереве композиторы, в таблице перечень партитур, там же и жанры определены.

В дереве так же сделать пару групп по жанрам и тональностям.

В таблице быстрый поиск по жанру/названию и т.д. (здесь же и сортировки, наприммер по дате сочинения/добавления в базу и проч.)

даблклик по таблице открывает окно в котором перечислены возможные партитуры (pdf, tiff, png, midi).

Ну и расширенный поиск по всей базе по всем возможным критериям.

Не забрасывай, идея хорошая.

с деревом - наверное не согласен.
Лучше переключающийся список с индексированием по первой букве + закладка поиска. Делается довольно легко. Я бы порекомендовал использовать MustangPeak EasyListView (могу куда-нить выложить для d7, есть еще исходники, которые, вроде, компиляться под XE2... не проверял еще). Хотя, при некотором старании можно сделать хоть на обычном ListBox с ручной отрисовкой, было бы желание... Если будет время, попробую набросать такую штуку на обычном ListBox звавтра... собственно, там только будет вопрос передачи данных правильным образом...

Последний раз редактировалось lmikle, 04.06.2013 в 09:22.
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter