请问各位高手怎样把AVI等资源文件在编译时嵌入到EXE文件中,和如何在程序中调用它们阿???请指教!
解决方案 »
- 我是菜鸟,
- 我的Delphi 7.0 中怎么没有TServerSocket、TClientSocket这两个控件.
- 数据库显示的问题
- QR报表表格中其中一项对应的是查询字段的累加,应该怎么做?
- 动态创建线程?
- 打印走纸问题
- 急!!哪位大哥大姐有类似能够把pascal转换成C的源码?这可关系到小弟这学期能否顺利pass!分数可以另开帖子再加
- 如何得到当前应用程序的名称和运行所在路径?
- 关于复制对象的问题???(Assign or :=)
- 用函数设置数组的大小为什么出错?
- 主程序为MID界面窗口,如何在进入主程序窗口之前显示密码校验窗口。
- 如何使用DialogBox建立一个模式对话框?(各位大侠请指教!)
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;
MOV AVI D:\Program Files\Borland\Delphi5\Demos\Coolstuf\cool.avi
//程序运行后出现"sample.res"文件未发现错误。
执行brcc32.exe sample.rc sample.res,sample.res在当前文件夹中
}unit TestForm;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls;type
TForm1 = class(TForm)
Avi1: TAnimate;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure ExtractRes(ResType, ResName, ResNewName : String);
procedure LoadAVI;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}{$R sample.res}procedure TForm1.ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;procedure TForm1.LoadAVI;
begin
{Avi1是一个TAnimate类}
Avi1.ResName:='AVI';
Avi1.Active:=True;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
ExtractRes('TAnimate','sample.res','newsample');
LoadAVI;
end;end.
打开View Resource菜单
在Res View中点击右键选择Add就可以了