网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
Delphi编程中资源文件的应用
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
试验一下:
新建一工程,将唯一的一个Form删除,然后修改工程文件。增加一句{$Apptype console},在uses子句中加入mmsystem,并将其它引用单元删掉。将Begin和end之间语句删掉。至此,我们就可和Turbo PASCAL下编程序一样,且还可以调用windows的API和资源。将资源文件----{$R myfist.res}加入。在Begin和end之间写下:
writeln(''演示程序,按任意键开始!'');
readln;
playsound(pchar(''mywav''),hinstance,snd_sync or snd_resource);
writeln(''演示结束!'');
运行程序,将弹出一个标准DOS窗口,按任意键播放声音文件。是不是很COOL呢!我曾下载过一个播放器,在其安装目录下我发现有一"DOS程序",用鼠标双击它便弹出一个DOS窗口,显示DOS时代特有的画图,并有背景音乐!可能就是用这个方法做的。
3.Delphi本身自带了一个叫Image Editor的工具,同样可以编辑资源文本,但和本文的方法比较,可得出下表:

**************************************
Image Editor Brcc32

BMP 只支持16位色 任意色

光标 黑白两色 任意色

ICO 只支持16位色 任意色

AVI 不支持 支持

WAV 不支持 支持

字体
字符串 不支持 支持
其他
****************************************

上面说的是直接在程序本身的调用。其实资源文件还有其它用法。比如说在你的程序携带其它文件,要用的时候释放出来。
例如: myexe exefile ''ha1.exe''//脚本文件
下面是自定义释放函数ExtractRes,本例中使用如下:
ExtractRes(''exefile'',''myexe'',''c:\new.exe'');
就把ha1.exe以new.exe为名字保存到C盘根目录下了.

function TForm1.ExtractRes(ResType, ResName, ResNewName: string): boolean;
var
Res: TResourceStream;
begin
try
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
try
Res.SavetoFile(ResNewName);
Result := true;
finally
Res.Free;
end;
except
Result := false;
end;
end;
----------------------------------------------------------------------
(二)中级应用篇:
上面我们已经知道如何把一副BMP图像从资源文件里面读出来,但是BMP文件太大了,JPG文件应用的相对较多.那么如何把JPG图像读出来呢?用资源文件加流方式即可。具体方法如下:
(1)MyJpg JPEG My.JPG
(2)Var
   Stream:TStream;
   MyJpg:TJpegImage;
  Begin
   Stream:=TResourceStream.Cceat(HINSTANCE,''MyJpg'',''JPEG'');
   Try
     MyJpg:=TJpegImage.Create;
    Try
      MyJpg.LoadfromStream(Stream);
      Image1.Picture.Assignc(MyJpg);
    Finally
      MyJpg.Free;
    end;
   Finally
    Stream.Free;
   end;
  end;
读取其它图片文件也是一样的.比如说gif动画文件,当然前提是你有一个gif.pas,这个单元很多站点都有的,可以自己去找找。实际应用中我还发现用上面的代码可以直接显示资源文件中的ICON和BMP.
说到图形处理,实际上还可以用Delphi创建、调用纯图标资源的DLL.比如说你可以看看超级解霸目录下的Dll,很多就是纯图标资源而已。具体方法如下:
(1):创建一个Hicon.RES文件,这里不再重复.
(2):新建一文本文件Icon.dpr,内容如下:
library Icon;
{$R Icon.RES}
begin
end.
用Delphi打开编译即可得到Icon.dll.
(3):实际调用方法如下:

 Private
  Hinst:THANDLE;

 Var Hicon:THANDLE;
begin
 Hinst:=Loadlibrary(''Icon.dll'');
 If Hinst=0 Then Exit;
 Hicon:=Loadicon(Hinst,Pchar(Edit1.Text));
If Hicon<>0 Then Image1.Picture.Icon.Handle:=Hicon;
 FreeL

  • 下一篇资讯: 整理delphi函数参考列表
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号