Хранение ресурсов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
VladPro
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 15.10.2005 (Сб) 23:52

Хранение ресурсов

Сообщение VladPro » 20.11.2007 (Вт) 1:45

Хочу поместить все ресурсы программы в один файл. Но не в файл ресурсов :) На ум приходит только упаковать их каким-нибудь архиватором без сжатия, но это как-то криво. А между тем не всегда есть хорошо, когда ресурсы лежат открыто. Есть идеи?

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 20.11.2007 (Вт) 2:10

Может попробовать использовать какой-нить уже придуманный формат файлов ресурсов, например PAK? В кирпичах есть класс для работы с ними от Хакера

К тому же внешний файл можно пошифровать, а в процессе работы программы расшифровывать.
Последний раз редактировалось Lumen 20.11.2007 (Вт) 8:35, всего редактировалось 1 раз.
Подпись проходит рефакторинг

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Хранение ресурсов

Сообщение Saturn.65 » 20.11.2007 (Вт) 8:31

VladPro писал(а):Хочу поместить все ресурсы программы в один файл. Но не в файл ресурсов :) На ум приходит только упаковать их каким-нибудь архиватором без сжатия, но это как-то криво. А между тем не всегда есть хорошо, когда ресурсы лежат открыто. Есть идеи?

Это получается, что рядом с твоим exe, всегда будет находится Х файл, в котором будут находится все нужные для работы программы файлы? Я тебя правильно понял? Насколько я знаю, есть всякие упаковщики, после них к ресурсам не доберешся особо.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 20.11.2007 (Вт) 8:45

VladPro, а какой в этом смысл?
Весь мир матрица, а мы в нем потоки байтов!

VladPro
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 15.10.2005 (Сб) 23:52

Сообщение VladPro » 22.11.2007 (Чт) 23:36

Спасибо всем ответившим.

To Viper:
Оно иногда нужно, поверь :)

To Lumen:
Класс Хакера интересен, попробую. Хотя там много нужно дорабатывать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.11.2007 (Чт) 23:44

Есть класс Хакеря дла работы с box-файлами, который на порядок лучше (на несколько порядков, даже) класса для работы pak-файлами. :)

Сам по себе формат box-файлов тоже лучше pak-формата (многие из ограничений отсутсвуют).

Кроме того, можно с помощью этого класса открывать файлы из игры The Outforce (рус.: Звёздные пилигримы: Тайна Каскады).

В случае чего может быть выложен.

Также существует статья (довольно кривоватая :) ) Хакера о том, как можно самому написать пакер/депакер для собственного формата.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 22.11.2007 (Чт) 23:58

Хакер
Ты про что? если про KSDAT (кучу файлов в один или недоархиватор), то по-моему все-таки тут автор keks-n. Если это что-то другое, то дайте пожалста ссылочку дабы посмотреть что это такое...
Подпись проходит рефакторинг

Arcady_XQST
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 17.09.2007 (Пн) 1:27
Откуда: Russia, Bryansk

Сообщение Arcady_XQST » 23.11.2007 (Пт) 0:04

Хакер писал(а):В случае чего может быть выложен.
Момент настал :wink:
// тили-тили, трали-вали
if (jsLoaded) {
// это дело мне по силе, откажусь теперь едва ли
} else {
// это мы не проходили, это нам не задавали
}

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.11.2007 (Пт) 15:27

Lumen
Я про то же, про что писал ты во втором сообщений этой темы. :roll:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 23.11.2007 (Пт) 17:53

Я имел в виду, что за статья... Вроде не видел её.
И что за класс для работы с box файлами. Видел только для PAK.
Подпись проходит рефакторинг

VladPro
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 15.10.2005 (Сб) 23:52

Сообщение VladPro » 23.11.2007 (Пт) 19:33

Немного разобрался в предмете. Есть много путей записывать/загружать ресурсы, а вот использовать их не очень удобно. К тексту это не относиться, а вот картинки, музыка - из памяти грузиться не желают, в VB6 по крайней мере. Filename им подавай :) Метод LoadPicture тому пример. Считывать картинку из ресурса во временный файл, а потом загружать LoadPicture я не хочу. Обрабатывать Gif или Jpeg самому - хочу ещё меньше. Если кто-то видел класс, получающий на вход битовый массив или String с графическим файлом и выдающий на выходе StdPicture, дайте знать.

Пока можно остановиться на таком варианте: сделать DLL, добавить туда нужные ресурсы, получать в программе её хэндл и грузить ресурсы через LoadBitmap/LoadString. Тоже изврат, конечно. А главное, что проблема наверняка решена кем-то, и уже давно.

А улучшенный класс конечно давай :)

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 23.11.2007 (Пт) 19:38

OleCreatePicture. Поищи по этому слову, вроде было. Причем совсем недавно. А музыку загрузить можно используя PlaySound (правда работает афаик только с wav). Тоже кстати недавно было.
Подпись проходит рефакторинг


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 53

    TopList  
cron