tengo esta rutina para saber el tamaño del archivo:Cómo conseguir tamaño del archivo en forma de plataformas cruzadas en XE2 delphi
(Basado en 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;
Sin embargo, esto dará esta advertencia:
[DCC Warning] Funciones.pas(61): W1002 Symbol 'FindData' is specific to a platform
Me pregunto si existe una forma clara de plataforma cruzada para hacer esto. Compruebo la clase TFile y no la encontré ...
Me deprime que FindFirst parezca ser la forma de obtener información sobre el tamaño del archivo. Es contador intuitivo y ni siquiera siempre exacto. –