通常在Delphi的應用程序中,我們會調用到很多的資源,例如圖片,動畫(AVI),聲音,甚至于別的執行文件。當然,把這些資源分布到不同的目錄不失為一個好辦法,但是有沒有可能把這些資源編譯成標準的windows資源從而鏈接到一個執行文件里面呢?
我們可以自己做一個RC文件,例如 sample.rc ,RC文件其實就是一個資源文件的描述文本,通過“記事本”程序創建就行了。然后可以輸入一些我們要定義的資源,例如: 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} 這樣我們就可以在這個單一的執行文件中調用資源了。舉例如下: 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;
|