Sieht bei mir so aus:
Delphi-Quellcode:
function GetFileSize(Filename: String): Int64;
var
fFile : THandle;
wfd : TWIN32FINDDATA;
begin
result := -1;
if not FileExists(Filename) then
exit;
fFile := FindFirstfile(pchar(Filename), wfd);
if fFile = INVALID_HANDLE_VALUE then
exit;
result := (wfd.nFileSizeHigh * (Int64(MAXDWORD) + 1)) + wfd.nFileSizeLow;
windows.FindClose(fFile);
end;
Das mit der for-Schleife wäre zu überlegen. Wenn Teile angegeben werden, müsste man eben erst die Größe der Teilstücke ausrechnen. Ich werde mir das ml überlegen.