这个函数是取得文件大小的,我不太熟悉,请指点注释一下.谢谢.
function FileSizeEx(const FileName: string): Int64; //取得文件大小
{
返回文件FileName的大小
}
var
Info: TWin32FindData;
Hnd: THandle;
begin
Result := -1;
Hnd := FindFirstFile(PChar(FileName), Info);//?
if (Hnd <> INVALID_HANDLE_VALUE) then
begin
Windows.FindClose(Hnd);
Int64Rec(Result).Lo := Info.nFileSizeLow;//?
Int64Rec(Result).Hi := Info.nFileSizeHigh;//?
end;
end;
function FileSizeEx(const FileName: string): Int64; //取得文件大小
{
返回文件FileName的大小
}
var
Info: TWin32FindData;
Hnd: THandle;
begin
Result := -1;
Hnd := FindFirstFile(PChar(FileName), Info);//?
if (Hnd <> INVALID_HANDLE_VALUE) then
begin
Windows.FindClose(Hnd);
Int64Rec(Result).Lo := Info.nFileSizeLow;//?
Int64Rec(Result).Hi := Info.nFileSizeHigh;//?
end;
end;
if (Hnd <> INVALID_HANDLE_VALUE) then
begin
Windows.FindClose(Hnd);
Int64Rec(Result).Lo := Info.nFileSizeLow;//将文件大小的低32位存到结果的低32位
Int64Rec(Result).Hi := Info.nFileSizeHigh;//将文件大小的高32位存到结果的高32位
end;
因为获得的文件大小虽然是64位数,但是存放在两个32位数中,所有要转存两次,分别存放高低32位