Tu peux utiliser la fonction API GetFileInformationByHandle pour avoir toutes les informations en une seule fois. Voici un exemple pour afficher la taille en octect et la date de création du fichier c:/PPP.txt .
procedure TMainForm.Button3Click(Sender: TObject);
var hwdfile:cardinal;
informations : BY_HANDLE_FILE_INFORMATION;
begin
try
hwdfile := CreateFile('c:/PPP.txt',GENERIC_READ,
0, 0, OPEN_EXISTING, 0, 0);
GetFileInformationByHandle(hwdfile, informations);
//affiche la taille en octets
showmessage(inttostr(informations.nFileSizeLow));
//affiche la date de création
showmessage(DateToStr( FileTimeToDateTime( informations.ftCreationTime)));
finally
CloseHandle(hwdfile);
end;
end;
function FileTimeToDateTime(const FileTime: TFileTime): TDateTime;
const
FileTimeStep: Extended = 24.0 * 60.0 * 60.0 * 1000.0 * 1000.0 * 10.0;
FileTimeBase = -109205.0;
begin
Result := Int64(FileTime) / FileTimeStep;
Result := Result + FileTimeBase;
end;
La fonction FileTimeToDateTime qui permet de convertir une date au format FileTime au format TDateTime est tirée de l'unité JclDateTime de la JCL.