明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

放置任意的文件到Delphi的EXE文件里面

[摘要]通常在Delphi的應用程序中,我們會調用到很多的資源,例如圖片,動畫(AVI),聲音,甚至于別的執(zhí)行文件。當然,把這些資源分布到不同的目錄不失為一個好辦法,但是有沒有可能把這些資源編譯成標準的windows資源從而鏈接到一個執(zhí)行文件里面呢? 我們可以自己做一個RC文件,例如 sample.rc ...
通常在Delphi的應用程序中,我們會調用到很多的資源,例如圖片,動畫(AVI),聲音,甚至于別的執(zhí)行文件。當然,把這些資源分布到不同的目錄不失為一個好辦法,但是有沒有可能把這些資源編譯成標準的windows資源從而鏈接到一個執(zhí)行文件里面呢?

我們可以自己做一個RC文件,例如 sample.rc
,RC文件其實就是一個資源文件的描述文本,通過“記事本”程序創(chuàng)建就行了。然后可以輸入一些我們要定義的資源,例如:
MEN BITMAP c:\bitmap\men.bitmap
ARJ EXEFILE c:\arj.exe
MOV AVI c:\mov.avi
然后用BRCC32把這個RC文件編譯成sample.res(真正的資源文件)。
在Delphi的工程文件中使用 $R 編譯指令讓Delphi包括資源到EXE文件里面。
{$R sample.res}
這樣我們就可以在這個單一的執(zhí)行文件中調用資源了。舉例如下:
EXEFILE:
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
AVI:
procedure LoadAVI;
begin
{Avi1是一個TAnimate類}
Avi1.ResName:='AVI';
Avi1.Active:=True;
end;