mam ten rutine znać Wielkość pliku:Jak uzyskać rozmiar pliku w cross-platformowej sposób o Delphi XE2
(na podstawie 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;
to jednak daje to ostrzeżenie:
[DCC Warning] Funciones.pas(61): W1002 Symbol 'FindData' is specific to a platform
Zastanawiam się, czy istnieje czysty, międzyplatformowy sposób, aby to zrobić. Sprawdzam klasę TFile i jej nie znalazłem ...
To przygnębia mnie, że FindFirst wydaje się być sposobem na uzyskanie informacji o rozmiarze pliku. Jest to sprzeczne z intuicją i nie zawsze dokładne. –