Pliki w zasobach exe.

0

Witam... napisałem program, który korzysta z wielu plików, które są w folderach... Nie chcę jednak żeby ktoś grzebał w tych plikach, chciałbym żeby te pliki były w "zasobach pliku exe"
Czy podpowie ktoś jak to zrobić ?

0

http://4programmers.net/Delphi/faq/Jak_doda%C4%87_i_odczyta%C4%87_z_zasob%C3%B3w_JPEG,_GIF_

Do zasobów też się łatwo dobrać. Możesz sobie w sumie po umieszczeniu plików w zasobach jeszcze spakować program upx'em lub aspack'iem, wtedy będzie trochę trudniej.

Trochę też zależy jakiego typu pliki chcesz trzymać w exe (jpg, png, txt, mp3, wav?). Nie wiem, czy Delphi bezpośrednio wspiera inne metody niż ładowanie z zasobów ("load from memory"), ale np. w bibliotece do gier SFML obiekty obrazków, dźwięków, czcionek mają metodę LoadFromMemory, dzięki czemu możesz ładować plik prosto z tablicy wkompilowanej w aplikację.

0

W zasobach ciałbym mieć pliki *.dds, *.jpg i *.vob

0

Z jpg nie ma problemu. Nie wiem czy łatwo sobie z tym poradzisz domowymi sposobami. Ale ciężko mi sobie wyobrazić odpalanie VOB'a prosto z zasobów, zwłaszcza gdy jest duży. Nie wiem, czy w ogóle kodeki/komponenty do odpalania video obsługują takie rzeczy. To dość nietypowa sprawa i nawet ciężko coś wygooglować na ten temat. Nawet gry trzymają sobie filmy w osobnych plikach. Czasem we własnym formacie. Ale filmy przy odtwarzaniu zazwyczaj są streamowane/buforowane. Moim zdaniem za dużo kombinowania. Są programy do takich rzeczy:
http://windows.podnova.com/software/5552622.htm - dowód, że sią da, ale jak oni to zrobili to ja nie wiem :) W Delphi we własnej aplikacji może być ciężko, chyba, że znajdziesz odpowiednie komponenty.

0
Muciek napisał(a):

ale jak oni to zrobili to ja nie wiem

Uprzednio przygotowany EXE-k wczytujący plik z zasobów.

0

Tzn te pliki *.vob to pliki modelów samochodów w grze Live for speed..

chyba sobie odpuszczę

0

Mi też na początku skojarzyło to się z filmami DVD :)

Modele akurat dość łatwo wpakować do pliku exe. Napiszesz sobie jakiś skrypt/program, który zapisze Ci taki model jako kod (w tym przypadku jakaś tablica w Delphi). To może być sama geometria (tablica wierzchołków, koordynaty tekstur itp.). W programie tylko interpretujesz dane z tablic (tworzysz listy wyświetlania itp.). Ale wciąż trzeba by trochę przy tym czasu spędzić. Ze słomianym zapałem nie da rady ;) Teksturę z zasobów też można utworzyć dla OpenGL. Przykład tutaj:
http://nehe.gamedev.net/tutorial/loading_textures_from_a_resource_file__texturing_triangles/26001/

Przetłumaczalny na Delphi, bo pod tutorialem masz przykład w Delphi.

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