Delphi中,如何讀取資源檔?

來源:互聯網
上載者:User
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)所說的方法如何具體如何??

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.