关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> API相关 ->详细
相关内容  
 
 
 
【新品推荐】

  详细内容
 

在exe文件中嵌入文件并释放--Delphi5使用资源的示例
作者: 评价: 上站日期: 2001-08-15
内容说明:
来源:

以前有不少文章也是关于这个问题的,不过这些老文章里讲述的方法通常让你需要做较多的工作,而其实并不需要这么工作,因为在Delphi5中的更加简便的方法。

 

首先,我想给你介绍一下Delphi5自带的一个演示程序。这个程序叫"Resource Explorer",你可以在"'Delphi5'"目录下找到,这个程序的功能,也许你已经猜到了,就是浏览资源(Resource)。

 

这是程序一个小巧而方便的工具,它可以将任何资源文件从一个dll或者执行文件中分离出来,使用它你会惊奇地发现原来在winword.exe中包含了如此之多的资源。在这里,我们使用这个工具只是用来确认我们已经将资源文件加入到我们的测试文件中。

使用Delphi5,增加资源或者从exe文件中释放资源是非常简单的,你可以按以下步骤进行:

 

1.开始一个新的应用工程(选择菜单 File | New Application),然后增加一个文件文件到工程中(File | New… -->  Text)。这个文本文件将包含你所有的资源,格式是"资源名 资源类型 文件名",例如"PDF RCDATA foo.pdf",其中RCDATA表示这是一个任意的二进制文件。如果你想加入更多的资源,就加入更多的行。在这一步中最后需要做工作就是保存工程,这里需要注意的是,Delphi编辑器会自动为你的文本文件加上".txt"扩展名,而我们需要的是".rc"扩展名。你可以强制Delphi以".rc"扩展名保存文件,只需要给文件名加上双引号,例如“"MyResources.rc"”。

 

 

 

2.编译你的工程文件,确认你的资源已经被加入到执行文件中。运行"Resource Explorer",打开你的执行文件,然后检查你的资源是否加入到"RCData"之下。

 

3.现在该把你的资源文件从执行文件中释放出来了。Borland的程序员们已经编写了相应的代码,这让你使用起来非常容易。所有的代码已经封装在TResourceStream中,你所需要做的就是以下工作:

 

procedure TForm1.Button1Click(Sender: TObject);

var

RS : TResourceStream;

begin

RS := TResourceStream.Create( 0, 'PDF', RT_RCDATA);

try

RS.SaveToFile('bar.pdf');

finally

RS.Free;

end;

end;

 

TResourceStream.Create创建一个资源流(Stream),包含了当前进程"0"中名字为"PDF"的资源,它被预定义为常量类型"RT_RCDATA"。 

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> API相关 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0