ZASOBY programu w jednym pliku?!

0

Piszę program w c++ builder. Czy wie ktos jak przy tworzeniu programu wpakowac wszystkie zasoby do jednego pliku (cos na wzor plikow mpq w grach blizzarda), tak aby wszystkie pliki avi/mpg/jpg/bmp/wav itd byly niewidoczne, spakowane w 1 pliku i mozna bylo z nich korzystac z poziomu samego programu.

Jak tworzyc takie pliki?
Jak z takiego pliku odczytywac dane?

Proszę o rady, adresy tutoriali, rozwiazania problemu, cokolwiek :), szukam od kilku dni odpowiedzi na to pytanie, niestety bezskutecznie [stuk] .

0

Chyba potrafisz zapisywac i odczytywac dane z pliku?

Powinienes wiec stworzyc jakies wlasne rozszerzenie do takich danych. Przykladem moze byc takie cos:

plik.data
tlo.bmp;0-1000;;
sound.mp3;1000-2000;;
anim.avi;2000-5000;;;
dane dane dane dane

I teraz pobierasz w swoim programie informacje o tym co sie w pliku znajduje np.: sound.mp3 bedzie sie znajdowal w bajtach od 1000-2000 i z tamtad go wczytasz.

To jest jeden z wielu sposobow w jaki mozna to wykonac.

0

Masz moze gdzies pod ręką kod takiej funkcji czytającej okreslone dane z takiego pliku? (ew. czy moglbys na szybko cos napisac :/?). Tak zeby np. mozna bylo z takiego pliku wydobyc jpeg i wpakowac do Image1.

Dla mnie to czarna magia, gdyby to bylo delphi juz mialbym to zrobione, ale wykładowca uparł sie na c++ buildera, a ja z c++ jestem poczatkujacy...

0

akurat wspomniałeś o MPQ więc możesz właśnie jego użyć korzystając z np. blizzardowej biblioteki storm.dll. Dużo przykładów nt. MPQ znalazłem w necie (najwięcej zresztą dotyczyło C++).

popatrz tutaj:
http://athena2000.myrice.com/mpq/
http://www.stargeek.com/item/77898.html
http://www.chiark.greenend.org.uk/ucgi/~owend/cvsweb/stormlib/Storm.h?annotate=1.1&logsort=rev

1 użytkowników online, w tym zalogowanych: 0, gości: 1