Delphi – Ubacivanje drugih fajlova u .EXE fajl

U jednom od ranijih priloga govorili smo o resource-ima u Delphi-ju, kada smo u .EXE fajl ubacili zvuฤni .wav fajl. Na sliฤan naฤin, u .EXE fajl moลพemo ubaciti bilo koji resurs, ลกto je vrlo pogodno za zvukove i slike. Pored miltimedijalnih fajlova u izvrลกni Delphi-jev fajl moลพemo ubaciti i dodatne opcije, kao i cele programe. Kao primer, u jedan .EXE fajl ubaciฤ‡emo Windows-ov editor teksta Notepad.exe (putanja „C:WINDOWSNOTEPAD.EXE“). Kada smo program ubacili u projekt, kasnije ga na ciljnom kompjuteru moลพemo raspakovati (ovo je vrlo zgodno za uproลกฤ‡avanje instalacija vaลกe aplikacije). Priฤu ฤ‡emo ispriฤati u kratkim crtama, prvo ลกto treba da uradimo je da iskompajliramo fajl Notepad.exe uz pomoฤ‡ BRCC32 kompajlera.

Preko komandne linije, unesite sledeฤ‡u komandu:


BRCC32 c:notepad.res c:WindowsNotepad.exe

Ovim smo Notepad.exe iskompajlirali u RES fajl. Nakon ovoga sledi ukljuฤivanje ovog novog resursa u Delphi projekt, koriลกฤ‡enjem $R kompajlerske instrukcije. Evo i primera:


{$R c:notepad.RES}

Za ekstrakciju ubaฤenog fajla iskoristiฤ‡emo klasu „TResourceStream“. Jednostavno, po potrebi pozovite sledeฤ‡u proceduru:


procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(NoviNazivRESa);
Res.Free;
end;

Pratite Krstaricu na www.krstarica.com