線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4098
推到 Plurk!
推到 Facebook!

取得檔案大小function

答題得分者是:yachanga
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-16 19:40:21 IP:61.71.xxx.xxx 未訂閱
請問各位! 我使用 F: File; AssignFile(F,myfile) Reset(F); filesize(F,myfile)取的的檔案大小與我在檔案總管中所看到的檔案大小 實際差很多, 請問這當中有何差異? 是不是有更精準的function 實際:480032 抓出來:328500 謝謝!
yachanga
資深會員


發表:24
回覆:335
積分:296
註冊:2003-09-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-16 20:06:04 IP:210.68.xxx.xxx 未訂閱
Hi P.D. 大大: 您要不要試試Windows API 的函數.. 看起來差不多ㄋㄟ
procedure TForm1.Button1Click(Sender: TObject);
var
  HFileRes: HFILE;
  HighSize,LowSize: Integer;
begin
HFileRes := CreateFile(PChar('D:\dog7.jpg'),
  GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);     HighSize:=GetFileSize(HFileRes,nil);
 LowSize:= GetCompressedFileSize(PChar('D:\dog7.jpg'),nil);     showmessage(IntToStr(HighSize));
 showmessage(IntToStr( LowSize));
Closehandle(HFileRes);    end;    
~悠遊法國號~
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-16 22:42:21 IP:61.71.xxx.xxx 未訂閱
引言: Hi P.D. 大大: 您要不要試試Windows API 的函數.. 看起來差不多ㄋㄟ
procedure TForm1.Button1Click(Sender: TObject);
var
  HFileRes: HFILE;
  HighSize,LowSize: Integer;
begin
HFileRes := CreateFile(PChar('D:\dog7.jpg'),
  GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);     HighSize:=GetFileSize(HFileRes,nil);
 LowSize:= GetCompressedFileSize(PChar('D:\dog7.jpg'),nil);     showmessage(IntToStr(HighSize));
 showmessage(IntToStr( LowSize));
Closehandle(HFileRes);    end;    
~悠遊法國號~
謝謝! GetCompressedFileSize函式果然抓出來相差不遠了!
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-17 00:11:07 IP:219.133.xxx.xxx 未訂閱
用filestream來讀會不會比較準確一點啊    
var temp:tfilestream ;
    filesize: int64;
begin
   temp:=tfilestream.create('C:\windows\windows.exe',fmOpenRead or fmShareExclusive);
   filesize:=temp.size;
   temp.free;
end;
藏私の禁止
pigbaby
初階會員


發表:2
回覆:84
積分:47
註冊:2002-09-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-17 09:01:25 IP:210.200.xxx.xxx 未訂閱
豬寶寶的寫法^^ 應該比較簡單一點^^" procedure TForm1.Button1Click(Sender: TObject); VAR FileRec:TSearchrec; begin FindFirst('C:\blowfish11.rar',faAnyfile,FileRec); SHOWMESSAGE(INTTOSTR(FILEREC.Size)); end;
je100
一般會員


發表:2
回覆:8
積分:2
註冊:2002-07-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-18 16:05:03 IP:61.31.xxx.xxx 未訂閱
我是用豬寶寶大大的方法,抓出來的值一模一樣喔! 感謝分享!
系統時間:2024-05-15 19:16:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!