ho questo rutine di conoscere la dimensione del file:Come ottenere la dimensione del file in modo cross-platform su Delphi XE2
(Basato su 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;
Tuttavia, questo dare questo avvertimento:
[DCC Warning] Funciones.pas(61): W1002 Symbol 'FindData' is specific to a platform
Mi chiedo se esista un modo multipiattaforma per farlo. Controllo classe TFile e non lo trovo ...
Mi deprime che FindFirst sembra essere il modo per ottenere le informazioni sulla dimensione del file. È contro intuitivo e nemmeno sempre accurato. –