"Hatchet" Harry, попробуйте функцию CompareDateTime из стандартного модуля DateUtils.
Код:
function GetFreshFile(const FileNames: TStringList): String;
var
i, FNamesCnt: Integer;
CurrFDate, LatestFDate: TDateTime;
begin
FNamesCnt := FileNames.Count - 1;
Result := FileNames[0];
LatestFDate := FileDateToDateTime(FileAge(Result));
for i := 1 to FNamesCnt do
begin
CurrFDate := FileDateToDateTime(FileAge(FileNames.Strings[i]));
if CompareDateTime(CurrFDate, LatestFDate) = GreaterThanValue then
begin
Result := FileNames.Strings[i];
LatestFDate := CurrFDate;
end;
end;
end;
end;