咨询:域名主机客服!261689845 建站:网站建设请点我!173022933 推广:网站推广请点我!452936608 销售:域名主机客服309128758 客户体验 | 售后平台 | 代理加盟 | 客户口碑

 

资源文件的应用 - 新闻中心 - 南宁巨人网络
资源文件的应用
时间:2013/2/23 17:41:31    来源:南宁巨人网络    浏览次数:353次
【字体大小:    】    【温馨提示:双击可滚动页面,单击则停止滚动。】

资源文件的应用

建立一个RC文件,本示例程序:SwfFile.rc
RC文件其实就是一个资源文件的描述文本。然后可以输入一些我们要定义的资源,示例:
Flash SwfFile1 Thanks.SWF
然后用BRCC32把这个RC文件编译成SwfFile.RES。
BRCC32 SwfFile.rc保存为Swf.bat批处理文件。
在Delphi的工程文件中使用 $R 编译指令让Delphi包括资源到EXE文件里面。
{$R SwfFile.RES}
此时我们可以在单一的执行文件中调用资源了。示例代码如下:
//资源文件流的应用
procedure FlashResToFile(const ResName, ResType, FileName: string);
var
  FlashRes: TResourceStream;
begin
  FlashRes := TResourceStream.Create(HInstance, ResName, PChar(ResType));
  try
    FlashRes.SaveToFile(FileName); //将资源保存为文件,即还原文件
  finally
    FlashRes.Free;
  end;
end;
//执行资源文件中的Flash播放文件
procedure TFlashResFrm.PlayResFileBtnClick(Sender: TObject);
begin
  if FileExists(ExtractFilePath(ParamStr(0)) + Thanks.SWF) then
    DeleteFile(ExtractFilePath(ParamStr(0)) + Thanks.SWF);
    FlashResToFile(FLASH, SwfFile1, Thanks.SWF);
    ShockwaveFlash1.Movie := ExtractFilePath(ParamStr(0)) + Thanks.SWF;
    ShockwaveFlash1.Play;
end;

通常在Delphi的应用程序中会调用到很多的资源,例如图片,动画(AVI),声音,甚至于别的执行文件。
ResICO ICON "example.ico"              //加入图标
ResCursor Cursor "example.cur"         //加入光标
ResBitmap Bitmap "example.bmp"         //加入位图
ResAVI AVI "example.avi"               //加入视频
ResWav WAVE "example.wav"              //加入视频

{$R ResDefine.RES}

procedure TResourceForm.FormCreate(Sender: TObject);
begin
  Application.Icon.Handle := LoadIcon(hInstance,ResICO);
  Application.Title := 资源文件使用集合;
  ResourceForm.Caption := 资源文件使用集合--[Delphi编程驿站:http://yckxzjj.vip.sina.com];
end;

procedure TResourceForm.Image1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  //把MMSystem加入到Interface的uses单元中
  PlaySound(ResWav,HInstance,Snd_ASync or Snd_Memory or snd_Resource) ;
end;

procedure TResourceForm.AVIPlayBtnClick(Sender: TObject);
begin
  Animate1.ResName :=ResAVI ; //资源标识
  Animate1.Active :=True ;
end;

procedure TResourceForm.BmpShowBtnClick(Sender: TObject);
begin
  //Image1.Picture.Bitmap.Handle :=LoadBitmap(hInstance,ResBitmap);
  Image1.Picture.Bitmap.LoadFromResourceName(hInstance,ResBitmap);
  Image1.Visible := True;
end;

procedure TResourceForm.CursorUpdateBtnClick(Sender: TObject);
begin
  Screen.Cursors[1] :=LoadCursor(hInstance,ResCursor);
  //Image1.Cursor := 1;
  ResourceForm.Cursor :=1;
end;

        



关于我们 | 网站公告 | 参观机房 | 合作伙伴 | 代理合作 | 付款方式 | 法律声明 | 常见问题 | 在线留言 | 服务监督 | 联系我们 | 南宁网站建设
 
地址:广西南宁市广西大学正门左侧火炬路17号金达花园7栋2单元241室  邮编:530001  
业务邮箱:    技术邮箱:   财务邮箱:
在线服务空间域名:网站推广请点我!261689845 网站建设:网站建设请点我!309331800 网站推广:网站推广请点我!452936608 售后技术支持:网站推广请点我!309128758
代理合作:网站推广请点我!173022933 全国业务客服电话:0771-3824424  找巨人?  到巨人?
版权所有南宁市巨人网络 未经授权,禁止使用 中华人民共和国备案编号 :桂ICP备06014082号