精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>其他>>放置任意的文件到EXE文件里面

主题:放置任意的文件到EXE文件里面
发信人: teleme(PassWord)
整理人: teleme(2001-02-11 11:06:39), 站内信件
放置任意的文件到EXE文件里面 
发信人: zhoogger()

通常在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; 

 
[原文转载 北京社区精华区] 

[关闭][返回]