全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2851
推到 Plurk!
推到 Facebook!

方便製作資源檔.res的小程式

 
tonytop
中階會員


發表:6
回覆:114
積分:89
註冊:2003-12-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-25 11:19:49 IP:210.64.xxx.xxx 未訂閱
這是小弟之前在公司為了要程式裡包另一支程式所自行開發的小程式, 用delphi 6,一直沒時間翻版,基本上資源檔裡面任何檔案皆可包起 來成.res檔使用,已知的問題有: 1.別理畫面上的版本,包起來後的.res檔案在delphi 5、6、7皆可使用,   delphi 8還未試過。 2.製作路徑是路徑十名稱,例如路徑是C:\Tmp,名稱是Test,就必需有   C:\Tmp\Test這個資料夾,下一版會增加自動製作資料夾的功能。 3.沒有提示已經製作完成,基本上沒有出現任何錯誤訊息就ok. ps.麻煩各位大大看看有無其他問題,下一版改完後將公開source code.    製作完後使用範例:  
 
  implementation      {$R *.DFM}      {$R MyCreate.RES} //自行製作的.res加在這兒      //程式裡任何地方用
  with TResourceStream.Create( (HInstance, 'R_1 名稱', 'Media 種類') do
  begin
    try
      SaveToFile('c:\temp\test.doc');//這可以存成你想要的檔名,不一定要與原檔名相同喔!
    finally
      Free;
    end;
  end;
附加檔案:60393_CreateRES.rar
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-02 09:11:17 IP:61.218.xxx.xxx 未訂閱
請問在程式裡包另一支程式所自行開發的小程式,用意何在? 將程式包在.res中,可執行該程式? 謝謝    
引言: 這是小弟之前在公司為了要程式裡包另一支程式所自行開發的小程式, 用delphi 6,一直沒時間翻版,基本上資源檔裡面任何檔案皆可包起 來成.res檔使用,已知的問題有: 1.別理畫面上的版本,包起來後的.res檔案在delphi 5、6、7皆可使用, delphi 8還未試過。 2.製作路徑是路徑十名稱,例如路徑是C:\Tmp,名稱是Test,就必需有 C:\Tmp\Test這個資料夾,下一版會增加自動製作資料夾的功能。 3.沒有提示已經製作完成,基本上沒有出現任何錯誤訊息就ok. ps.麻煩各位大大看看有無其他問題,下一版改完後將公開source code. 製作完後使用範例:
 
  implementation      {$R *.DFM}      {$R MyCreate.RES} //自行製作的.res加在這兒      //程式裡任何地方用
  with TResourceStream.Create( (HInstance, 'R_1 名稱', 'Media 種類') do
  begin
    try
      SaveToFile('c:\temp\test.doc');//這可以存成你想要的檔名,不一定要與原檔名相同喔!
    finally
      Free;
    end;
  end;
tonytop
中階會員


發表:6
回覆:114
積分:89
註冊:2003-12-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-02 11:51:10 IP:210.64.xxx.xxx 未訂閱
包起來的用意很多,資源檔可應用範圍也很廣,如前所述,各種檔案都可 包進同一個資源檔,再由程式拿出來應用,例如我之前有把dll檔包起來, 程式執行時再把dll放到指定目錄中,程式關閉就把dll檔刪除掉,用意在 確保每次用到的dll是最新的,且dll檔放到隱秘的目錄較不會外流^_^; 另一個例子是我把更新程式包起來,在檢查版本後若要更新,就把更新 程式放出來執行,程式如下,等於用包起來的程式更新目前 正在執行的程式,cool    
 
      with TResourceStream.Create(HInstance, 'R_1', 'Media') do
      begin
        try
          SaveToFile(ExtractFilePath(ParamStr(0)) 'AUTOUPDATE.EXE');
        finally
          Free;
        end;
      end;
      try
        WinExec(PChar('AUTOUPDATE.EXE MIS'), 1);
      finally
        Application.Terminate;
      end;
我正確的mail:h832214@hotmail.com
系統時間:2024-11-25 11:27:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!