Как получить размер файла кроссплатформенным способом на delphi xe2

У меня есть эта рутина, чтобы узнать размер файла:

(Основано на http://delphi.about.com/od/delphitips2008/qt/filesize.htm)

function FileSize(fileName : String) : Int64;
var
  sr : TSearchRec;
begin
  if FindFirst(fileName, faAnyFile, sr ) = 0 then
  {$IFDEF MSWINDOWS}
     result := Int64(sr.FindData.nFileSizeHigh) shl Int64(32) + Int64(sr.FindData.nFileSizeLow)
  {$ELSE}
     result := sr.Size
  {$ENDIF}
  else
     result := -1;

  FindClose(sr) ;
end;

Однако, она выдает следующее предупреждение:

[DCC Warning] Funciones.pas(61): W1002 Symbol 'FindData' is specific to a platform

Интересно, существует ли чистый кроссплатформенный способ сделать это? Я проверил класс TFile и не нашел его...

5
задан mamcx 3 February 2012 в 00:56
поделиться