源:獲取檔案的大小(實際&物理)
classfunction tduofile.getfilesize(const
afile: tfilename): int64;
varsr:tsearchrec;
begin
if findfirst(afile,faanyfile and (not fadirectory),sr) = 0
then
result :=sr.size
else
result := 0
; findclose(sr);
//這個函式是新api
//另一種寫法
//var hh:thandle;dwsizelow,dwsizehigh:cardinal;
//begin
//hh := fileopen(pchar(opendialog1.filename),fmopenread);
//dwsizelow := getfilesize(hh,@dwsizehigh);
//result := dwsizehigh shl 32 + dwsizelow;
//closehandle(hh);
//end;
end;
class
function tduofile.getfilesizecompressed(const
afile: tfilename): int64;
begin
int64rec(result).lo :=getcompressedfilesize(pansichar(afile),@int64rec(result).hi);
//另一種寫法
//var dwsizelow,dwsizehigh:cardinal;
//begin
//dwsizelow := getcompressedfilesize(pansichar(afile),@dwsizehigh);
//result := dwsizehigh shl 32 + dwsizelow;
//end;
end;
進過測試,
如果是通常的檔案,並沒有發現這兩個函式的不同之處。
都是返回「屬性/大小」。
但是如果是壓縮過的檔案,那麼後者返回的是「屬性/占用空間」。
Delphi 中獲取檔案大小
大概有這些方法可以獲得檔案大小 filesizebyname 需要引用idglobal單元 getfilesize filesize 不能獲得正在使用的檔案大小 fileseek tfilestream.size 下面是使用例子 1.filesizebyname 需要引用idglobal單元 beg...
Delphi中獲取檔案大小
大概有這些方法可以獲得檔案大小 filesizebyname 需要引用idglobal單元 getfilesize filesize 不能獲得正在使用的檔案大小 fileseek tfilestream.size 下面是使用例子 1。filesizebyname 需要引用idglobal單元 beg...
Delphi 獲取指定目錄下檔案的大小
這個函式可以獲得指定目錄下所有的檔案路徑 名稱,能夠遞迴搜尋 procedure findallfile const dir string list tstringlist var hfindfile thandle findfiledata win32 find data fullname,fna...