A függvény a 2GiB -nál nagyobb méretű állományok méretét is helyesen adja vissza (nincs túlcsordulás), mert a visszatérési érték Int64-ben van.
function GetFileSize(AFileName : String) : Int64;
var
rData : WIN32_FILE_ATTRIBUTE_DATA;
iSize : Int64;
begin
Result := 0;
if GetFileAttributesEx(PChar(AFileName), GetFileExInfoStandard, @rData) then
begin
iSize := rData.nFileSizeHigh;
iSize := iSize shl 32;
iSize := iSize + rData.nFileSizeLow;
Result := iSize;
end;
end;
Nincsenek megjegyzések:
Megjegyzés küldése