这个函数是取得文件大小的,我不太熟悉,请指点注释一下.谢谢.
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;

解决方案 »

  1.   

    Hnd := FindFirstFile(PChar(FileName), Info);//查找文件并返回文件的信息
      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位