Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1257943
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2009-02-03 09:56:32



如何把一个bin文件捆绑到一个可执行文件exe中?而且可以读bin文件里的内容进行处理?请教各位大侠了,谢谢!

利用资源文件就可以

对,用resource将其以二进制形式导入。也可以用其它方法动态构造出bin,但比较麻烦。

用资源的话,好象还是要把资源文件写到磁盘上访问的啊,不过如果能把资源文件释放到内存中来访问也不错的。就不知道哪位会!      
 

资源文件可以用流访问阿  
  (1)存取资源文件中的位图  
  //RC:   testBmp   bitmap   res\test.bmp  
  Image1.Picture.Bitmap.LoadFromResourceName(HInstance,   ’res\test.bmp’);  
  或:  
  //RC:   testBmp   bmptype   res\test.bmp  
  var  
      resStream:   TResourceStream;  
  begin  
      resStream   :=   TResourceStream.Create(HInstance,   ’testBmp’,   ’bmptype’);  
      Image1.Picture.Bitmap.LoadFromStream(resStream);  
      resStream.Free;  
  end;  
   
  请注意上面两种调用方式的不同之处。  
   
  (2)存取资源文件中的图标  
   
  将图标放在资源文件中,可以实现动态改变应用程序的图标。  
  //RC:   testIcon   icon   res\test.ico  
  Application.Icon.Handle   :=   LoadIcon(HInstance,   ’testIcon’);  
   
  (3)存取资源文件中的AVI动画  
   
  //RC:   testAvi   avi   res\test.avi  
  Animate1.ResName   :=   ’testAvi’;  
  Animate1.Active   :=   True;  
   
  (4)存取资源文件中的JPEG图像  
   
  为了能够处理JPEG图像,必须在Interface处引用JPEG单元。  
   
  var  
      jpg:   TJPEGImage;  
   
      resStream:   TResourceStream;  
  begin  
      jpg   :=   TJPEGImage.Create;  
      resStream   :=   TResourceStream.Create(HInstance,   ’testJpg’,   ’jpgtype’);  
      jpg.LoadFromStream(resStream);  
      Image1.Picture.Assign(jpg);  
      jpg.Free;  
      resStream.Free;  
  end;  
   
  补充:  
    1.资源类型除上述类型外,还可以字体文件,字符串文件等。  
   
    2.资源文件不但可以在标准图形界面下使用还可在控制台下使用。  
 

先LoadLibrary(...);  
  再用   FindResource();



--------------------------
新闻:阿里巴巴宣布今年将新招聘5000人
导航:博客园首页  知识库  新闻  招聘  社区  小组  博问  网摘  找找看
阅读(291) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~