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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2008, 22:29   #11
Gauss
Форумчанин
 
Аватар для Gauss
 
Регистрация: 26.11.2007
Сообщений: 235
По умолчанию

Цитата:
Вы можете объяснить, зачем звуки в базе? Каким боком здесь база вообще, если Вам достаточно читать данные из файла?
Читать данные из файла не достаточно же, должна же быть информация о соотвествующем вав-файле, продолжительность, частота и т.д. Необходимость использования базы, нужна не просто так, я понимаю что можно было указать путь к этим звукам в какой то папке и вызывать их оттуда, но есть причины по которым и использую базу.
И еще огромное кол-во вав-файлов вы предлагаете использовать в файле, тогда зачем существует ваще базы.
Gauss вне форума Ответить с цитированием
Старый 16.03.2008, 23:09   #12
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
тогда зачем существует ваще базы
А по-вашему, база данных - это нечто особенное? Вынужден вас разочаровать - это такой же файл, как и все остальные - длиннющая последовательность бит...
Просто вам предлагают не вешать на вашу программу дополнительно еще и систему управления базой данных (а она без нее просто не существует, ею тогда нельзя будет пользоваться).
Вам предлагается организовать файл своей собственной структуры, где вы сможете в "заголовке" перед информацией о собственно звуке, записать все, что пожелаете - наименование, продолжительность, частоту и т.д.
И извлекать эти данные будет не труднее, чем читать из ини-файла.
Просто использование в вашем случае базы данных сродни включению компьютера для подсчета суммы ваших сегодняшних покупок, хотя это же можно с успехом проделать на калькуляторе.
mihali4 вне форума Ответить с цитированием
Старый 16.03.2008, 23:19   #13
Gauss
Форумчанин
 
Аватар для Gauss
 
Регистрация: 26.11.2007
Сообщений: 235
По умолчанию

аа понятно. Я подумаю над этим, спасибо за совет!
То есть создать свой файл, со своим данным расширением, и поместить звуки туда, а потом вызывать их оттуда ? Я правильно понял?

Последний раз редактировалось Gauss; 16.03.2008 в 23:22.
Gauss вне форума Ответить с цитированием
Старый 16.03.2008, 23:53   #14
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Создать один файл со звуками, это хорошая идея. При этом целосность данных будет соблюдена, зашита от глупого и умного пользователя тоже. К этой идее хотел посоветовать создать программу по администрированию будующего файла, для удобства редактирования. Ведь 3000 файлов немало что бы все производить вручную. И тщательно продумайте структуру данного файла. И было бы еще хороше при загрузке приложения вгонять этот файл в виртуальную память, для более быстрого доступа и воспроизведения.

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

---------------------------------------------------------------

Применение БД в этом случае неумесно.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 17.03.2008, 06:07   #15
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Gauss Посмотреть сообщение
аа понятно. Я подумаю над этим, спасибо за совет!
То есть создать свой файл, со своим данным расширением, и поместить звуки туда, а потом вызывать их оттуда ? Я правильно понял?
Код:
type
	FileHeader = record
		FileSignature	: cardinal;
		WavCount 		: cardinal;
		{.............}
	end;
	
	FileTableEntry = record
		FileOffset		: cardinal;
		FileLength		: cardinal;
		{PCMBitRate		: cardinal;}
		{PCMCompression	: cardinal;}
		{.............}
		{.............}
	end;
Файл устраиваете следующим образом:
1) Запись FileHeader, в которой будет указано, количество файлов в "архиве" (WavCount) и другая информация по желанию.
2) "Массив" [0 .. WavCount - 1] из записей FileTableEntry.
3) После всего этого просто друг за другом лежат Ваши звуковые (и не только, если нужно) файлы. Кажлый начинается с позиции FileOffset соответствующего элемента массива и имеет длину FileLength. Все эти данные нужно один раз забить автоматически при создании файла, естественно, с помощью вспомогательной программки-"архиватора". Все записи и файлы лучше выравнивать по четырехбайтовой границе, а размер елементов таблицы сделать кратным четырем байтам.

После всего этого, в программе будет достаточно
1) Открыть для чтения файл "архива".
2) Прочитать заголовок и таблицу в память, можно даже в "заранее подготовленные" переменные такого типа, чтобы проще было писать (текст программы).
3) Брать смещение и длину нужного файла из массива и просто читать нужный кусок. Файл, само собой, лучше держать открытым до конца работы.
B_N вне форума Ответить с цитированием
Старый 17.03.2008, 11:32   #16
Gauss
Форумчанин
 
Аватар для Gauss
 
Регистрация: 26.11.2007
Сообщений: 235
По умолчанию

Огромнейшее вам спасибо за советы! Я уже начал это все создавать, по ходу если что-то будет не получатся буду обращатся.
Спасибо B_N за код, я сам тоже в книжке найду еще по-подробнее про создание файла , теперь главаная моя задача уже создать более нормальный алгоритм для чтения звуков из этих файлов по введенному тексту. Ну там сам как нить разберусь уже.
Большое спасибо всем!
Gauss вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтез речи. Создание голосового движка (не русского). Gauss Общие вопросы Delphi 2 21.01.2014 10:12
Создание звукового движка varvara16 Общие вопросы Delphi 5 25.07.2008 00:18
MsSql-Запросы Diamand SQL, базы данных 4 18.06.2008 06:30
СРОЧНО!!!Нужна помощь в поиске движка для форума!!! ALEXBAZ PHP 2 16.05.2008 15:08
Как на счёт создания игрового 2D или 3D движка на C++? SalasAndriy Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 23.12.2007 23:05