Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Сборка ресурсов?


Автор: Zastra 11.1.2011, 19:02
Всем привет, у меня такой вопрос:
Вообщем имеется программа в которой допустим 6 кнопочек, нажав на каждую из которых проигрываются разные аудиофайлы. 
Сам вопрос: как сделать так, чтобы все эти 6 файлов сделать... ну скажем монолитными, чтобы эту прогу можно было использовать на любом компьютере? 
Я так понимаю, надо всё слепить либо в один экзешник либо сделать так, чтобы при установке эти файлы записывались в указанную директорию и уже оттуда считывались.

Подскажите пожалуйста, хочу разобраться. Делаю для себя, а не потому тчо в универе приспичило.

Автор: jonie 11.1.2011, 20:47
Zastra, ну слепите их (аудиофайлы) в кучу (например используя команду copy /B виндовую), запомнив размер каждого из них где-то (а хоть и в том же файле, только в самом начале - придумайте заголовок), а при проигрывании делайте Seek до нужного вам файла из этой кучи. В чем собственно проблема?

Автор: Zastra 11.1.2011, 21:24
jonie,  
1. Окей, а что делать с этим файлом одним?!
2. То что вы предложили, подходит только для конкретной программы. А если там должны быть картинки и прочее? Я просто хочу узнать как это делать правильно, чтобы в будущем можно было спокойно делать.

Автор: jonie 11.1.2011, 21:36
Цитата(Zastra @  11.1.2011,  21:24 Найти цитируемый пост)

1. Окей, а что делать с этим файлом одним?!

ну, читать наверно.. вы ж файлы по-одиночке читаете же. Подумаешь "файл в файле" - не велика беда ж.

Цитата(Zastra @  11.1.2011,  21:24 Найти цитируемый пост)

2. То что вы предложили, подходит только для конкретной программы. А если там должны быть картинки и прочее? Я просто хочу узнать как это делать правильно, чтобы в будущем можно было спокойно делать. 
ну во-первых если вам надо (я правда не знаю зачем) файлы чтобы были "одним целым", то можно пойти по ленивому пути и использовать гипервизор уровня приложения (например thinapp или другой виртуализатор). Иным путем может быть тот который я уже описал - сформировать свою собственную базу данных по сути. Ей может быть например zip файл (там сейчас модно - взгляните на форматы офиса начиная с 2007) или свой велосипедный. Можно взять настоящую пацанскую базу данных вроде sqlite или db2. Можно вшивать ресурсы именно как менеджмент ресурсы в свою сборку. Можно как unmanaged и потом через PInvoke функцию получения ресурсов получить указатель на сырые данные в памяти. 

Много всего можно сделать.. была бы фантазия.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)