delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
Delphi中,如何读取资源文件? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiMultimedia/html/delphi_20061110215905161.html
Delphi中,如何读取资源文件?  
   
  我有个html文本,加载到当前的project中,那么在程序运行过程中,如何才能将这  
   
  个html文本的内容读取到一个String中?使用CreateFile、LoadFileStream等函数只能  
   
  读取硬盘中的文件。  
   
  另外,如何将一个可执行文件加载到project中,再在运行过程中,将这个可执行  
   
  文件读取出来?

自己顶一下!

用资源的方式。

就是不知道怎么弄啊。  
  怎么加载资源,怎么读取,能介绍介绍吗?  
 

一个简单的例子:  
  新建一个文本文档,随便添加些内容,命名为:index.htm  
  新建一个文本文档,添加以下内容:  
   
  CrnIndexHtml   RC_DATA   "index.htm"  
   
  然后保存为1.rc  
   
  把上面的1.rc添加到工程中,然后在窗体上放置一个Memo和一个Button,在Button的点击事件中:  
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
          rs:   TResourceStream;  
  begin  
          rs   :=   TResourceStream.Create(HInstance,   'CrnIndexHtml',   'RC_DATA');  
          rs.Position   :=   0;  
          Memo1.Lines.LoadFromStream(rs);  
          rs.Free;  
  end;  
   
  编译,就可以看到效果。  
   
  以上代码实现的从资源中读取Htm资源,并将内容读取到Memo中。  
 

至于将可执行文件放到资源中,这样做:  
   
  准备一个exe文件,比如123.exe,放到工程目录下,编辑刚才的1.rc文件,添加一行:  
   
  CrnExeFile   RC_DATA   "123.exe"  
   
  然后在程序中:  
  procedure   TForm1.Button2Click(Sender:   TObject);  
  var  
          rs:   TResourceStream;  
  begin  
          rs   :=   TResourceStream.Create(HInstance,   'CrnExeFile',   'RC_DATA');  
          rs.SaveToFile('c:\ccrun\123.exe');  
          ShellExecute(Handle,   'Open',   'C:\ccrun\123.exe',   nil,   nil,   SW_SHOW);  
          rs.Free;  
  end;  
   
  实际应用中,可以将资源中的文件释放到某个比较隐蔽的目录中。  
   
 

楼主的分好多,老妖发达了~~~

收藏一下

如果不生成磁盘   文件就必须直接映射到内存运行..  
 

靠   老妖别把分全接走了啊     ~~

呵呵,谢谢,老妖解决了我的问题!  
  老妖高手啊,受教了!  
   
  宝剑赠烈士,红粉送佳人,老妖接分!  
  千金散尽还复来!

有机会,以后还要请教老妖!

不知vividw(vividw)所说的方法如何具体如何实现?

posted on 2008-11-05 09:37 delphi2007 阅读(819) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。