Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
function GetFileSize(FileName: string): int64;
var
Srec: TSearchRec;
begin
if FindFirst(FileName, $01+$04+$20, Srec) <>0 then
Result := Srec.FindData.nFileSizeHigh *MAXDWORD +
Srec.FindData.nFileSizeLow
else
result := 0;
findclose(Srec);
end;
begin
Canvas.TextOut(10,10,IntToStr(GetFileSize('c:\pagefile.sys')));
end;
No tengo a mano un archivo de muchos gigas, probadlo, pero debe funcionar.
El tamaño que muestra, es el mismo que en propiedades de ese archivo, pero en bytes, el que pone el explorador, ya sabemos que es un valor aproximado.
saludos