Довольно примитивен в плане расчета времени. Возвращает имя файла
Может кому понадобится. Есть идеи как улучшить?
Код:
Dim $i = 0
Dim $iD = 0
Dim $file_time_max = 0
Dim $file_time[1], $file_name[1]
;~ Заносим файлы в массив
;~ FileChangeDir("Screenshots") ; Папка, где необходимо выполнить поиск
;~ Типы искомых файлов.
$search = FileFindFirstFile("*.*") ; В данном режиме показывает и папки
If $search = -1 Then
MsgBox(0, "Error", "Файлы по заданным параметрам не найдены")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
;~ Ищем iD нужного файла
$time = FileGetTime($file)
$file_name[$i] = $file
$file_time[$i] = _time($time)
If $file_time[$i] > $file_time_max Then
$file_time_max = $file_time[$i]
$iD = $i
EndIf
$i += 1
;~ Наращиваем массив
ReDim $file_time[$i+1]
ReDim $file_name[$i+1]
WEnd
;~ Закрываем поиск
FileClose($search)
$new_file = $file_name[$iD]
MsgBox(0, "Файл обнаружен!", "Самый новый файл: " & $new_file)
;~ Расситываем время по секундам
Func _time($_time)
$_time = $_time[0] * 31556926 + $_time[1] * 2629743.83 + $_time[2] * 84600 + $_time[3]*3600 + $_time[4] * 60 + $_time[5]
Return $_time
EndFunc
Может кому понадобится. Есть идеи как улучшить?