能把图片加入到程序中吗(0分)

  • 主题发起人 主题发起人 angel725
  • 开始时间 开始时间
A

angel725

Unregistered / Unconfirmed
GUEST, unregistred user!
想写一个小程,但用几张.jpg或gif图片和几个.swf的flash片段,,
我想把这些和把写的程序最后都编成一个exe文件,
可以吗,
我不知道怎么做?刚学的。


thanks

image editor试了,好像加不了jpg gif swf这几种格式的
 
通常在Delphi的应用程序中,我们会调用到很多的资源,例如图片,动画(AVI),声音,甚至于别的执行文件。当然,把这些资源分布到不同的目录不失为一个好办法,但是有没有可能把这些资源编译成标准的windows资源从而链接到一个执行文件里面呢?

我们可以自己做一个RC文件,例如 sample.rc ,RC文件其实就是一个资源文件的描述文本,通过“记事本”程序创建就行了。然后可以输入一些我们要定义的资源,例如:

MEN BITMAP c:/bitmap/men.bitmap
ARJ EXEFILE c:/arj.exe
MOV AVI c:/mov.avi

想加什么都可以,这与格式无关,jpg gif swf这几种格式的都可以

然后用BRCC32把这个RC文件编译成sample.res(真正的资源文件)。
在DOS的提示符下打 BRCC sample.RC 硬盘哗啦啦转一会儿后,就编译完了
在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;
 
谢谢,很详细,还有两点不明白,
1
MEN BITMAP c:/bitmap/men.bitmap
ARJ EXEFILE c:/arj.exe
MOV AVI c:/mov.avi
这三行前面的,men arj mov是怎么定义的,,要是加个gif 或swf,要怎么写??

2
这上面的几个函数不理解
 
你搜一下资源文件制作 看看撒
 
图片的加入,可以用Delphi自带的控件来处理。
SWF文件 可以用一个显示Flash的控件来处理。
 
starpc 的方法很好,很灵活
 
接受答案了.
 
后退
顶部