| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Какие есть еще функции типа FileAge? |
| Автор: Etar 16.7.2009, 07:44 |
| Нужно получить время изменения файла по его имени в формате FileDate, но функция FileAge оказывается уже устарела в D2009. Есть еще FileGetDate, но там нужно сперва файл открывать или создавать. Есть какие-нибудь функции, которые на лету выхватывают из файла дату? (или в них тоже сперва открытие файла происходит?) |
| Автор: CodeMonkey 16.7.2009, 09:39 | ||
| Вообще-то, http://transl-gunsmoker.blogspot.com/2008/11/blog-post_24.html. Из JCL (как видим: ничего сложного):
|
| Автор: Riply 22.7.2009, 15:55 | ||
Сдается мне, что в FindFirstFileExW все же идет открытие файла через NtOpenFile в user mode. Я бы попробовала через NtQueryAttributesFile. Объект она скорее всего открывает уже в kernel mode и через ObOpenObjectByName. Все это нуждается в проверке. Т.к. автор хотел
то ему с этой проверкой и карты в руки Если лень лезть во внутренности, то можно просто в цикле повызывать данные ф-ии и сравнить время. Не исключен вариант, что NtQueryAttributesFile хорошо обставит FindFirst P.S. Мне тож интересно кто быстрее |
| Автор: mrbrooks 22.7.2009, 16:02 | ||
Можно и так. Код из Билдера, но суть одна.
Etar, WIN32_FILE_ATTRIBUTE_DATA структура интересная. Рекомендую ее посмотреть в MSDN. |
| Автор: Quartz 6.8.2009, 16:06 | ||
|