delphi文件打包方式(将多个文件编译到一个单元中)

delphi文件打包方式

在Delphi项目中,通常有一个和项目名称主文件名相同的.RES文件,该文件用于保存应用程式图标等资源,对应于此文件,在项目文件中一定含有编译指示“{$R *.res}”,告诉编译器编译时需要包含和项目主文件名相同的.RES文件。同样,如果需要在应用程式中以资源形式包含所有文件类型,也能利用.RES文件。本文将告诉你怎么利用RES文件在Delphi程式内部包含文件。

一创建.RES文件

这里以一组音频文件为例。首先用记事本等所有文本编辑器编写文件“MyMusic.RC”。文件的格式及内容如下:

SRC1 FILE1 OnlyYou.mp3
SRC2 FILE2 YesterdayOnceMore.mp3
SRC3 FILE3 MoonRiver.mp3

其中,每一行表示声明一项资源,每一项资源的声明包含三个参数定义,第一个参数是资源的名称,第二个参数是资源的类型描述(本例定义了三类),第三个参数是文件名。参数之间必须由空格隔开。

编写完成“MyMusic.RC”文件后,将其和上述三个.MP3文件放置在同一目录中(为了避免由设置路径带来的麻烦)。然后以下面的命令行运行应用程式brcc32.exe(位于..\Delphi6\Bin):brcc32 mymusic.rc需要注意的是,该命令只能在命令行方式下执行。如果系统的PATH环境变量中不包含Delphi的运行路径,那么你还需要将brcc32.exe和MyMusic.RC、三个.MP3文件放置在同一路径中进行。运行上述命令行后,将在同一路径中得到文件“MyMusic.RES”,这就是个独立完整的资源文件,其格式是遵循视窗系统 标准的,因此能在诸如VB、VC、CBuilder等多种研发环境中使用。

二在程式中声明包含.RES文件

你只需要在项目中的某个单元中(最佳是你需要利用这些资源的单元,这样会使你的应用程式更具有可读性)加入如下编译指示:$R MyMusic.RES}{

尽管该编译指示能位于单元的所有位置,但为了使你的原始码结构合理,最佳还是将其并列位于编译指示“{$R *.dfm}”(每个含有窗体文件的单元中都含有该行编译指示)。这里的编译指示就明确告诉编译器,在编译应用程式时需要将资源文件“MyMusic.RES”包含到应用程式中。

三在运行时获取资源

上述两步工作仅仅是基础(但一定是必要的),利用资源才是根本目的。下面的过程将告诉你怎么将应用程式中包含的资源(文件)重新还原。

procedure MusicResToFile(const ResName, ResType,FileName: string);varRes: TResourceStream;beginRes := TResourceStream.Create(HInstance,ResName, PChar(ResType));Res.SaveToFile(FileName); //将资源保存为文件,即还原文件//你还能进行其他的流操作,在内存中实现对资源利用而不必另存为文件Res.Free;end;

调用该过程的示例如:MusicResToFile(’SRC2’, ’FILE2’, ’TheSecondMusic.MP3’);

值得一提的是,利用此方法,你完万能制作自己的安装程式,该安装程式仅包含一个可执行文件,在该可执行文件中以资源的形式包含所有将要安装的内容(文件)。此外,如果在你的应用程式中需要播放外部音频文件(如背景音乐、声音提示等),也可通过此方法将这些外部文件包含到应用程式中,从而避免用户误删这些音频文件导致应用程式的不完整。

时间: 2024-11-13 02:34:28

delphi文件打包方式(将多个文件编译到一个单元中)的相关文章

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩

PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipArchive;//新建一个ZipArchive的对象 /* 通过ZipArchive的对象处理zip文件 $zip->open这个方法的参数表示处理的

文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件

总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文:PHP如何实现下载功能超详细流程分析 计算文件的大小的时候,并不需要先打开文件,通过filesize($filename)就可以看出,如果需要先打开文件的话,filesize可能就会是这样的形式了filesize($filehandle) 向客户端回送数据的是,记得要设置一个buffer,用来指定每次向客户端输出多少数据,如:$buffer=1023.如果不指定的话,就会将整个文件全部写入内存当中,再一次性的讲

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载

PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 http://my.oschina.net/junn/blog/104464 PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流.这里整理一下常用的示例供参考. 一.解压缩zip文件 ? 1 2 3 4 5 6 7 8 9 10 11 $zip = new ZipAr

idea将文件打包为war

首先这是目录. 打包war,无非是将web目录下的文件打包,即使是做成文件夹,也是新建一个文件夹,把web下面的目录放入这个文件夹(前提是编译,配置好,这些不多说). 首先,File----Project Structure---Artifacts.  Intellij会有一个默认的exploed,点击减号按钮,删除它. 之后,点击加号,选择Web Application:Archive.没什么意外的话,这里不像不像Web Application:exploed一样,有Empty和From Mo

java文件打包成exe可执行文件

java文件打包成exe文件,分为两步,首先用eclipse将java文件打包成jar文件,然后用exe4j将jar文件打包成可执行exe文件 一:用eclipse将java文件打包成jar文件 如果java文件未引用外部包,可以将其打包成Jar File,如果其引用了外部包文件,最好将其打包成Runnable Jar File,这样可以将外部包文件一并打包进去,虽然包有点大,但是省去了在其它电脑上不能运行的麻烦.(我自己是打包成了Runnable Jar File,操作非常简单,这里不再叙述此

Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤

资源文件一般为扩展名为res的文件,其自带的资源编译工具BRCC32.EXE(位于/Delphi/BIN目录下) 1.编写rc脚本文本 用记事本或其它文本编辑器编写一个扩展名为rc的文件,格式分别为在资源文件中的名称->类型->实际文件名称. 例如:要将文件名 demo.Dll的文件打包成一个资源文件,首先 新建一个文本文档,输入内容 mydemoDll RCDATA demo.DLL mydemoDll 和 RCDATA 你可以随便写,这个是为了在使用资源时定义的名称和类型你也可以写成:a

servlet实现多文件打包下载

当用户一次下载多个文件时.普通情况是,每下载一个文件,均要弹出一个下载的对话框.这给用户造成了非常大不便. 比較理想的情况是,用户选择多个文件后.server后端直接将多个文件打包为zip.以下贴出实现代码. 前端Javascript代码(使用Javascript创建表单.通过提交表单的方式訪问后端的MultiDownload): var tmpForm = document.createElement("form"); tmpForm.id = "form1" ;

asp.net使用httphandler打包多CSS或JS文件以加快页面加载速度

介绍 使用许多小得JS.CSS文件代替一个庞大的JS或CSS文件来让代码获得更好的可维 护性,这是一个很好的实践.但这样做反过来却损失了网站的性能.虽然你应该将你的Javascript代码写在小文件中并且将大的CSS文件分割到小文件 中,当一个浏览器请求那些JS以及CSS文件,它却将为每一个文件产生一个请求.每一个HTTP请求将导致从你的浏览器到服务器上的一次"往返",从响应 服务器到客户端浏览器之间的等待时间称之为"延时".因此,如果你有四个JS文件以及三个CSS

Linux文件打包压缩、解压缩、备份命令使用方法(转载)

对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可是Linux就不同了,它有.gz..tar.gz.tgz.bz2..Z..tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了.本文就来对这些常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕ic