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

*.res 一問

尚未結案
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-03 15:08:52 IP:203.198.xxx.xxx 未訂閱
此問是繼續這條問題的,都是我不好...我手快把它結了案 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=49259 問題1. 當我試了mustapha.wang給我的方法後,我發覺如果在coding裡寫上e.g. {$R Test.res},如果我個Test.res檔內含有一個20MB的avi file,這樣當我complie個program時,個exe差不得要成20多MB,太大了,它把我的avi也一併鑲入了我的program 內.... 如果我有10個一樣大小的avi file,那麼我個exe咪要過一100mb.....! 這樣...我想問有沒有方法可以把這些*. >
_CCH_
一般會員


發表:10
回覆:29
積分:7
註冊:2004-04-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-03 15:50:25 IP:211.22.xxx.xxx 未訂閱
找個工具,將EXE 檔的資源擷取出來可不可以啊! Restorator v2.52 build 772(1.29MB) 官方首頁 http://www.bome.com/Restorator/ eXeScope 6.41 http://hp.vector.co.jp/authors/VA003525/emysoft.htm Download Program (English version) http://hp.vector.co.jp/authors/VA003525/eXeSc641.zip 秉燭夜遊,大塊文章。 文章是案頭之山水,山水是地上之文章。
------
秉燭夜遊,大塊文章。
文章是案頭之山水,山水是地上之文章。
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-03 16:10:58 IP:203.198.xxx.xxx 未訂閱
多謝_CCH_,我想你的工具幫不到我.... 我的問題是: 我個program裡有時要load一些avi檔....但當我將我個program 比user用時,我不想這些avi file放在同一個current directory內,被其他人容易拿到...所以我才將它們藏在*.res內 (註:或其他方法)
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-03 16:22:16 IP:211.74.xxx.xxx 未訂閱
1.將所須的檔案以自訂的方式壓縮或建立成另一種類的檔案,須要時再以自訂 的方式再他還原成暫存檔,或放置於記憶體內部,再使用。 2.他將avi資料寫入表格流串中,經過編譯會存在於exe裡,或則記錄檔案位置 於須要時將檔案位置傳給程式播放 學而時習之不亦樂乎!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-03 16:38:36 IP:202.39.xxx.xxx 未訂閱
可以用 dll 的方式 http://www.lmc-mediaagentur.de/dpool/tips/0015.htm http://www.lmc-mediaagentur.de/dpool/tips/0139.htm
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-03 16:38:53 IP:203.198.xxx.xxx 未訂閱
引言: 1.將所須的檔案以自訂的方式壓縮或建立成另一種類的檔案,須要時再以自訂 的方式再他還原成暫存檔,或放置於記憶體內部,再使用。 2.他將avi資料寫入表格流串中,經過編譯會存在於exe裡,或則記錄檔案位置 於須要時將檔案位置傳給程式播放 學而時習之不亦樂乎!
jest0024 ,請問有沒有這方面的例子
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-05-03 20:14:38 IP:211.74.xxx.xxx 未訂閱
範例...進階點的還是要自己找找,我先寫個簡單的好了!!
{將bmp檔案轉成自己想要的檔案模式}
procedure TForm1.Button1Click(Sender: TObject);
var
  S1,S2:TFileStream;
  L:Integer;
  R:Array[0..1023] of Byte;
  fFile:String;
begin
  fFile:=ExtractFilePath(Application.ExeName) 'test.txt';
  L:=$0F0F;
  if OpenDialog1.Execute then begin
    S1:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead or fmShareDenyWrite);
    S2:=TFileStream.Create(fFile,fmCreate);
    S2.WriteBuffer(L,Sizeof(L));  //寫入檔頭
    while S1.Size-s1.Position>0 do begin
      //或則經過編碼計算過!?
      L:=Min(Length(R),S1.Size-S1.Position);
      s1.ReadBuffer(R,L);
      s2.WriteBuffer(R,L);
    end;
    S1.Free;
    S2.Free;
  end;
end;    {將自己的檔案讀入記憶體中,並顯示出來}
procedure TForm1.Button2Click(Sender: TObject);
var
  S1,S2:TStream;
  fFile:String;
  L:Integer;
  R:Array[0..1023] of Byte;
  Bmp:TBitmap;
begin
  fFile:=ExtractFilePath(Application.ExeName) 'test.txt';
  S1:=TFileStream.Create(fFile,fmOpenRead);
  S1.ReadBuffer(L,4);//讀取檔頭
  S2:=TMemoryStream.Create;
  while S1.Size-s1.Position>0 do begin
    L:=Min(Length(R),S1.Size-S1.Position);
    S1.ReadBuffer(R,L);
    S2.WriteBuffer(R,L);
  end;
  S1.Free;      Bmp:=TBitmap.Create;
  s2.Position:=0;
  Bmp.LoadFromStream(S2);
  PaintBox1.Canvas.Draw(0,0,Bmp);
  Bmp.Free;
  S2.Free;
end;    
學而時習之不亦樂乎!
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-05-08 13:03:40 IP:203.198.xxx.xxx 未訂閱
多謝hager & jest0024 的指點 看過你們的例子...我想我都是用回Res直接import在exe裏..... 即是{$R Test.res}    但是在TAnimate裏的 TAnimate.ResName TAnimate.ResHandle 應怎樣輸入才可把我的avi在TAnimate裏播放    e.g. 我的Rec (Test.Res)裏的內容 MyAVI_A AVI playgame.avi MyAVI_B AVI playgame2.avi    又麻煩大家了
OsX
版主


發表:6
回覆:151
積分:111
註冊:2003-05-03

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-05-19 13:27:59 IP:211.76.xxx.xxx 未訂閱
如果你已經把 res 檔跟執行檔 build 在一起, 那直接 給 ResName 就可以, Ex : Animate.ResName := 'MyAVI_A AVI'; 很好奇, 你把這麼大的 avi 檔跟exe build 在一起, 程式現在是多大? 我覺得 jest0024 跟 hagar 2位提的方法比較好, 起碼你的 avi 檔要換, 直接換掉外部檔就好, 不用重 Build 執行檔.
系統時間:2024-05-04 8:39:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!