哪种能快速获取文件大小 文件大小几百兆 到几G 不等 我要查重文件 md5 大文件太慢了 文件大小 是不是个好方法 请大牛指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CreateFile + GetFileSizeFFile_Handle := CreateFile(PChar(FSourceFileName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); if FFile_Handle = INVALID_HANDLE_VALUE then Exit; //获取文件尺寸 filesize := GetFileSize(FFile_Handle,nil); GetFileSize 是 Cardinal 类型 请问 大于4GB 文件 怎么获取 ? var WIN32FindData: TWIN32FindData; Rec: TSearchRec; filesize: Integer; FFile_Handle: THandle; FSourceFileName: string;begin if FindFirst(FSourceFileName, faDirectory, Rec) = 0 then filesize := Rec.Size; if FindFirstFile(PChar(FSourceFileName), WIN32FindData) <> INVALID_HANDLE_VALUE then filesize := WIN32FindData.nFileSizeLow; FFile_Handle := CreateFile(PChar(FSourceFileName), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if FFile_Handle = INVALID_HANDLE_VALUE then Exit; filesize := GetFileSize(FFile_Handle, nil);end; 用 FindFirstFile 读 WIN32FindData.nFileSizeHigh 然后加 nFileSizeLow处理下 兄弟们 不要这样呀 filesize: Integer;我这 7 、8 G文件都有 单个文件 声明filesize int64的。。if FindFirstFile(PChar(FSourceFileName), WIN32FindData) <> INVALID_HANDLE_VALUE then begin Int64Rec(filesize).Hi:=WIN32FindData.nFileSizeHigh ; Int64Rec(filesize).Lo:= WIN32FindData.nFileSizeLow ; end;或者用GetFileSizeEx 文件菜单中的历史文件名有没有简便的处理方法 一个IIS访问的问题。类似FTP的快速访问模式! [文挡]获取PE文件的导出函数列表 求----关于树的查找算法 他奶奶的,气死我了! 使用sendmessage函数,控制listview中移动行的问题。 我现在做分布式,可是只有一台机器,如何在网上邻居里显示我的计算机的名字, insert into 语句怎样定义列宽? 救救我吧! 怎样下载论坛的帖子?征求经验! 程序界面操作太卡??? reportmachine 颜色
FFile_Handle := CreateFile(PChar(FSourceFileName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if FFile_Handle = INVALID_HANDLE_VALUE then Exit;
//获取文件尺寸
filesize := GetFileSize(FFile_Handle,nil);
WIN32FindData: TWIN32FindData;
Rec: TSearchRec;
filesize: Integer;
FFile_Handle: THandle;
FSourceFileName: string;
begin
if FindFirst(FSourceFileName, faDirectory, Rec) = 0 then
filesize := Rec.Size; if FindFirstFile(PChar(FSourceFileName), WIN32FindData) <> INVALID_HANDLE_VALUE
then
filesize := WIN32FindData.nFileSizeLow; FFile_Handle := CreateFile(PChar(FSourceFileName), GENERIC_READ,
FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if FFile_Handle = INVALID_HANDLE_VALUE then
Exit;
filesize := GetFileSize(FFile_Handle, nil);
end;
处理下
我这 7 、8 G文件都有 单个文件
if FindFirstFile(PChar(FSourceFileName), WIN32FindData) <> INVALID_HANDLE_VALUE
then
begin
Int64Rec(filesize).Hi:=WIN32FindData.nFileSizeHigh ;
Int64Rec(filesize).Lo:= WIN32FindData.nFileSizeLow ; end;或者用GetFileSizeEx