Delphi – Ugradnja drugih fajlova u .EXE

Često puta igre i druge aplikacije moraju da sadrže određene multimedijalne fajlove, kao što su zvukovi i animacije. Ovi dodatni fajlovi mogu da se distribuiraju posebno od aplikacije, ili kao ugrađeni u izvršni deo aplikacije (znači, ne kao posebni fajlovi). U ovim prilikama jedno od najboljih rešenja je da te „sirove“ podatke ubacite (ugradite) u aplikaciju kao „resource„. Prethodna priča je samo uvod u sledeće redove iz kojih ćete videti kako da bilo koju vrstu fajlova (binarnih: zvuk, sliku, animaciju i sl.) smestite u Delphi izvršni fajl (.exe).

Za uključivanje nekog binarnog fajla i izvršni potrebno je uraditi sledeće:

  1. Kreirajte i sakupite sve fajlove koje želite da smestite u izvršni.
  2. Kreirajte resource script fajl (.rc), u kome će stajati opisi prethodnih fajlova.
  3. Kompajlirajte resource script fajl (.rc) u resource fajl (.res)
  4. Linkujte kompajlirani resource fajl sa izvršnim fajlom.
Resource script fajl je običan tekstualni fajl sa ekstenzijom .rc, u kome su izlistani izvorišni fajlovi. Format je sledeći:


Naziv1 ResTip1 ResNazivFajla1
Naziv2 ResTip2 ResNazivFajla2

NazivX ResTipX ResNazivFajlaX

Bitno je da nazivi izvora (NazivX) budu jedinstveni zbog njihovog pozivanja iz koda. ResTip opisuje tip ugrađenog fajla, a ResNazivFajla predstavlja potpunu putanju do fajla i sam naziv fajla. Evo i primera jednog takvog fajla:


Sat WAVE „c:WindowsMediaclock.wav“
Anim AVI pokret.avi

Kada smo kreirali Resource script fajl potrebno je da ga iskompajliramo uz pomoć Borland“s Resource Compiler -a. Kompajler će kreirati izlazni fajl uobičajene ekstenzije .res. Kompajler je lociran u „DelphiBin“ folderu, a sam naziv fajla kompajlera je „BRCC32.exe“. Da bi iskompajlirali naš Resource script fajl napisaćemo u komandnoj liniji:


BRCC32 Izvor.RC

Po default-u dobićemo fajl „Izvor.RES“, koji treba da snimite u folder, u kojem su i ostali fajlovi projekta.

Sledeći korak je linkovanje, tj. sve što je potrebno je da sledeću direktivu dodate u „Unit“ vašeg projekta, i to odmah ispod form direktive:


{$R *.DFM}
{$R Izvor.RES}

Pratite Krstaricu na www.krstarica.com