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)所說的方法如何具體如何??