社区
Delphi
帖子详情
修改资源文件得问题!
jxk
2003-04-16 11:28:23
我把一个文本文件作为一个资源包涵到一个程序里面那,请问怎样用程序来修改这个资源文件
...全文
156
4
打赏
收藏
修改资源文件得问题!
我把一个文本文件作为一个资源包涵到一个程序里面那,请问怎样用程序来修改这个资源文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
u2m
2003-04-16
打赏
举报
回复
用 ExeCope工具,你到网上下一个,程序员必备的资源提取工具
jxk
2003-04-16
打赏
举报
回复
我得意思是说资源文件已经和代码编译到exe里面去了,怎么样才能修改exe里面得资源文件
u2m
2003-04-16
打赏
举报
回复
以下是我对资源文件的学习心得,看看对你有帮助否
资源文件的创建与使用。
1.创建资源文件
首先创建一个.Rc的纯文本文件。格式如下:
资源标识符 + 关键字 + 资源文件名
(1) 资源标识符:程序中调用资源时的特殊标号;
(2) 关键字:标识资源文件类型;
Wave: 资源文件是声音文件;
RCDATA: JPEG文件;
AVI: AVI动画;
ICON: 图标文件;
BITMAP: 位图文件;
CURSOR: 光标文件;
资源文件名:资源文件名;
(3) 资源文件名:编译的资源文件,比如动画、位图、光标等;
(4) 如:MyWav WAVE "FileName.Wav"
使用Borland资源编译器(BRCC32.EXE)转化.Rc文件成.Res文件。在DOS命令行下输入下列命令:
Brcc32 FileName.Rc // Brcc32.Exe在Delphi5\Bin文件下。
2.在工程中引用资源文件
为了存取我们的资源文件,必须告诉Delphi链接我们的资源文件到应用程序中。因此我们可以在源代码中加入一条编译指令完成上述功能。这条指令必须紧跟在窗口指令后,如下形式:
{$R *.DFM} //Delphi自带编译指令
{$R FileName.Res} //新加入的编译资源文件的指令。
不要删除{$R *.DFM}指令,因为这行代码告诉Delphi链接下面的资源到窗口的资源中。
3.调用资源文件
(1)存取资源文件中的位图(Bitmap)
程序中如果想存取资源,你必须调用一些Windows API函数。保存在资源文件中的位图、光标和图标可以通过调用LoadBitmap、LoadCursor和LoadIcon函数存取。
本例举例说明如何存取资源文件中位图并显示在Timage控件中。
procedure TfrMain.btnCanvasPic(Sender: TObject);
Image1.Picture.Bitmap.Handle :=LoadBitmap(hInstance, '资源标识符');
end;
注:如果位图没有装载成功,程序仍旧执行,但是Image将不再显示图片。你可以根据LoadBitmap函数的返回值判断是否装载成功,如果装载成功返回值是非0,如果装载失败返回值是0。
另外一个存取显示位图的方法如下
procedure TfrMain.btnLoadPicClick(Sender: TObject);
begin
Image1.Picture.Bitmap.LoadFromResourceName(hInstance, '资源标识符');
end;
(2)存取资源文件中的光标
Screen.Cursors[]是一个光标数组,使用光标文件我们可以将定制的光标加入到这个属性中。因为默认的光标在数组中索引值是0,所以除非想取代默认光标,最好将定制的光标索引值设为1。
procedure TfrMain.btnUseCursorClick(Sender: TObject);
begin
Screen.Cursors[1] :=LoadCursor(hInstance,'资源标识符');
Image1.Cursor :=1;
end;
(3)存取资源文件中的图标
将图标放在资源文件中,可以实现动态改变应用程序图标。
procedure TfrMain.LoadIconClick(Sender: TObject);
begin
Application.Icon.Handle := LoadIcon(hInstance, '资源标识符');
End;
(4)存取资源文件中的AVI
procedure TfrMain.LoadIconClick(Sender: TObject);
begin
Animate1.ResName :='MyAvi' ; //资源标识
Animate1.Active :=True ;
End ;
(5)存取资源文件中的JPEG
把jpeg单元加入到Interface的uses单元中。
procedure TForm1.LoadJPGClick(Sender: TObject);
var
Fjpg : TJpegImage ;
FStream :TResourceStream ;
begin
Fjpg :=TJpegImage.Create ;
FStream := TResourceStream.Create (Hinstance,'资源标识符',RT_RCDATA) ;
FJpg.LoadFromStream (FStream) ;
Image1.Picture.Bitmap.Assign (FJpg);
end;
(6)存取资源文件中的Wave
把MMSystem加入到Interface的uses单元中
procedure TForm1.LoadWaveClick(Sender: TObject);
begin
PlaySound('MyWav', HInstance, Snd_ASync or Snd_Memory or snd_Resource) ;
end;
hch_45
2003-04-16
打赏
举报
回复
用Dephi带的软件Image Editor修改...
安装和配置 Windows Server 2022 存储和文件服务
使用任何设备访问自己的文件和数据 5、并且安装和配置相关的角色,配置 DFS 分布式的文件系统和 BranchCache 的功能和特性,实现分布式和分支机构的应用场景当中,用户更快和更方便地访问数据 6、并且安装和配置相关...
解决项目名
修改
后,访问地址,找不到
资
源的
问题
!!!!
问题
: 我们做好一个项目后,可能会出现
修改
项目名,但是在浏览器上访问该项目时,出现项目找不到的
问题
原因: 该项目的访问根
资
源没有
修改
解决办法: ...
eclipse 中关于
资
源文件
重命名之后出错的
问题
!
今天觉得一个
资
源文件
夹命名太丑,大写不好看,想把它改成小写,结果一运行404错误.网上找了很多,都没一个能解惑的.特此专写一篇以供后人参考,毕竟如果人人都不把知识分享...其中
资
源文件
就是,当你把文件改了之后,比如I...
Android
资
源文件
混淆
Android
资
源文件
混淆通常我们说的混淆都是指代码混淆,但其实
资
源文件
中也有很多重要的文件,为了防止我们的
资
源文件
被别人用apktools反编译直接获取到,我们可以使用某些工具来为我们的
资
源文件
做混淆,保证我们
资
源...
android
修改
aar包
资
源文件
的最简单方法
然后同时还有2个及以上的aar包的
资
源文件
重复了,也就是路径和名称都一样,这时就尴尬了,运行项目就会提示
资
源文件
重复,在build.gradle文件写exclude也无任何效果,那么此时就需要把多的文件删除或者
修改
。...
Delphi
5,388
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章