화일 사이즈 알아내기…. 2가지…

화일 사이즈 알아내기…. 2가지 입니다.
2가지중 두번째가 속도가 조금 빠릅니다.

Function Get_FileSize(FileName: String): DWord;
var
  FH: THandle;
  FI: TByHandleFileInformation;
begin
  Result := 0;
  FH := FileOpen(FileName, fmOpenRead + fmShareDenyNone);
  try
    if FH <> INVALID_HANDLE_VALUE then
    begin
      if not GetFileInformationByHandle(FH, FI) then
        Exit;
      Result := FI.nFileSizeLow;
    end;
  finally
    CloseHandle(FH);
  end;
end;

 

두번째 꺼… 이게 조금 더 빨라요.. 당연한거지마..

Function Get_FileSize(FileName: String): DWord;
Var
  FH: Integer;
Begin
  Result := 0;
  FH := FileOpen(FileName, fmOpenRead + fmShareDenyNone);
  Try
    if FH <> INVALID_HANDLE_VALUE then
      Result := GetFileSize(FH, nil);
  Finally
    FileClose(FH);
  End;
end;

 

Author: yyjksw