Delphi中资源文件使用方法详细讲述

2008-02-23 07:14:25来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一.编写 RC 脚本文本

  用记事本或其它文本编辑器编写一个扩展名为“.rc”的文件。格式如下:

  AVI 无声动画

  BITMAP 位图文件

  CURSOR 光标文件

  ICON 图标文件

  WAVE 声音文件

以上所列均为标准资源类型,也可以给资源自定义一个类型,如:“mytype”。不过两者在调用方式上有些不同(在后面示例“存取资源文件中的位图”中有详细描述)。

二.根据 RC 脚本文件编译成 RES 资源文件

  在命令提示符中输入以下内容:

brcc32 FileName.rc //注:brcc32.exe在DelphiX\Bin目录中

三.在Delphi单元中加入资源文件

将生成的 RES 资源文件复制到相应程序所在的目录中,在单元文件中的“{$R *DFM}”后面加上“{$R FileName.res}”,编译后资源文件就被包含在可执行文件中了。

说明:如果嫌2、3两步麻烦,可以采用更简便的做法,即:将 RC 文件直接添加到项目中,在编译Delphi项目时,会自动编译该资源文件。

四.资源文件调用示例

  (1)存取资源文件中的位图

//RC: testBmp bitmap res\test.bmp

Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'res\test.bmp');

//RC: testBmp bmptype res\test.bmp

var

resStream: TResourceStream;

begin

resStream := TResourceStream.Create(HInstance, 'testBmp', 'bmptype');

Image1.Picture.Bitmap.LoadFromStream(resStream);

resStream.Free;

end;

请注意上面两种调用方式的不同之处。

(2)存取资源文件中的图标

将图标放在资源文件中,可以实现动态改变应用程序的图标。

//RC: testIcon icon res\test.ico

Application.Icon.Handle := LoadIcon(HInstance, 'testIcon');

(3)存取资源文件中的AVI动画

//RC: testAvi avi res\test.avi

Animate1.ResName := 'testAvi';

Animate1.Active := True;

(4)存取资源文件中的JPEG图像

为了能够处理JPEG图像,必须在Interface处引用JPEG单元。

var

jpg: TJPEGImage;

resStream: TResourceStream;

begin

jpg := TJPEGImage.Create;

resStream := TResourceStream.Create(HInstance, 'testJpg', 'jpgtype');

jpg.LoadFromStream(resStream);

Image1.Picture.Assign(jpg);

jpg.Free;

resStream.Free;

end;

附:Delphi编程中资源文件的应用:初级应用篇

资源文件一般为扩展名为res的文件.在VC中资源文件用得非常普遍,但Delphi在其联机帮助中对资源文件没作什么介绍,其实利用其自带的资源编译工具BRCC32.EXE(一般位于\Delphi\BIN目录下),我们完全可以做出跟VC一样效果的文件来。

资源文件最大的好处是能将一些在必要时才调用的文件跟可执行文件一起编译,生成一个文件.这样做最大的好处就是使外部文件免遭破坏.例如在一条程序中你要临时调用一幅图片,一般作法是把图片放在某一路径下(通常是主程序所在路径),但如果用户路径误删你的图片文件,则可能使程序找不到相应文件而出错崩溃.另外,如果你想自己的程序界面美观,想用一些自定义光标,也要用到资源文件。

资源文件的使用步骤为:

一.编写rc脚本文本

用记事本或其它文本编辑器编写一个扩展名为rc的文件。例如:

  mycur cursor move.cur //加入光标

  mypic Bitmap Water.BMP //加入位图

  mywav WAVE happy.wav //加入声音

  myAVI AVI EPOEN.AVI //加入视频

  myIco ICON CJT.ICO //加入图标

格式分别为在资源文件中的名称->类型->实际文件名称,例如上面第一行定义一个名为mycur的光标,实际名称为加入光标move.cur.

二.将rc文件编译成res资源文件

将脚本文件和实际文件拷到Brcc32.EXE所在目录,执行DOS命令。格式为:Brcc32 脚本文件(回车),例如有一名为myfirst.rc的脚本文件,则执行 Brcc32 myfirst.rc(回车)即可。如果你是懒人,也可新建一批处理文件,内容只有一行:Brcc32 mufist.rc.(因为Delphi安装后一般会在自动批处理文件中指明搜索路径的。)如果编译成功,则会生成一个结尾为res的文件,这个文件就是我们需要的资源文件。

三.在Delphi单元中加入资源文件

将生成的res资源文件拷贝到你所编程序的路径下,在单元文件{$R *DFM}后加上一句{$R mufirst.res},则将res文件加入去,编译后资 源文件即已包含在可执行文件中了。若你有多个资源文件,也按上法依次加入。

四.在Delphi程序中调用资源文件

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:一个Delphi程序员自述的开发经验

下一篇:如何使用Delphi编写圆周率模拟器?