您的位置:首页 > 编程语言 > Delphi

【转】delphi制作资源文件和释放资源文件的方法

2009-08-10 15:13 477 查看
http://hi.baidu.com/worldshell/blog/item/321aa9af845fface7cd92ad5.html
首先先制作资源文件如何制作呢?

AAA EXEFILE AAA.exe 把这段文字复制到个记事本里保存为AAA.rc

同理:bbb dllfile bbb.dll 写入bbb.rc

AAA为在程序里调用资源文件的名字 就是给资源文件起个名字在程序里调用

EXEFILE 为文件类型 意思是exe文件

AAA.EXE 为你要做成资源的exe文件

在写个批处理文件内容为
path=C:/Program Files/Borland/Delphi7/Bin;
Brcc32 AAA.rc

第一行是你delphi的安装目录下的bin目录下的Brcc32.exe的位置 因为要用brcc32.exe编译

第二行的AAA.rc为 你刚才写的rc文件的文件名

把以上两个文件和你要做成资源文件的exe放在一个目录下 执行批处理

这时候会多出 AAA.res

我们到delphi中新建个application 往上面放上一个按钮 点那个按钮的时候释放资源文件

并且运行程序 要把AAA.res 放到工程目录下 就是你这个程序保存的地方!

代码如下

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,shellapi; //shellapi引用 api函数来运行程序

type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
{$R 'AAA.RES'} //这里调用得写上你的RES文件的名字

procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end; //这个方法意思是释放资源文件 有三个参数
//一个资源类型 2 资源名字 生成资源的名字

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ExtractRes('EXEFILE', 'AAA', 'AAA.exe'); //这里调用函数释放资源

showmessage('释放成功'); // 弹出个对话框 可以不写 没啥用 只是提示一下
sleep(1000); //让程序 休眠1秒
ShellExecute(0, nil, 'AAA.exe',nil, nil,sw_show); //运行程序 带的四个参数不用管他
//如果要是想隐藏运行把最后那个参数改为 SW_HIDE 就OK了

end;

end.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: