Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

DNK
I. DNK
Баллы: 5

Подробнее »



Вопрос # 2 023

/ вопрос открыт /

Здравствуйте, эксперты! Как можно узнать у системы, была ли открыта та или иная папка?

Maria Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Maria (статус: Посетитель)
Вопрос отправлен: 27 октября 2008, 12:24
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Feniks

Здравствуйте, Maria!
Если я вас правильно понял, то вам надо прочитать атрибут "Дата последнего изменения файла". Механизм получения/чтения атрибутов файлов такой же, как у папок. Используйте для этого функции FindFirstFile, FileTimeToLocalFileTime, FileTimeToDosDateTime и FileDateToDateTime:

procedure TForm1.Button1Click(Sender: TObject);
var
FileHandle: THandle;
LocalFileTime: TFileTime;
DosFileTime: DWORD;
LastAccessedTime: TDateTime;
FindData: TWin32FindData;
begin
FileHandle := FindFirstFile('AnyFile.FIL', FindData);
if FileHandle <> INVALID_HANDLE_VALUE then
begin
   Windows.FindClose(Handle);
     FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
     FileTimeToDosDateTime(LocalFileTime,
       LongRec(DosFileTime).Hi, LongRec(DosFileTime).Lo);
     LastAccessedTime := FileDateToDateTime(DosFileTime);
     Label1.Caption := DateTimeToStr(LastAccessedTime);
end;
end;

P.S. Желаю удачи.

Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 27 октября 2008, 18:54
Оценка за ответ: 4


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 28 октября 2008, 14:53; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 27 октября 2008, 13:31 [#1]:

то есть, открывал ли физически пользователь данную папку или что? вопрос крайне непонятен.
Галочка "подтверждения прочтения" - вселенское зло.
Maria

Maria (статус: Посетитель), 28 октября 2008, 12:29 [#2]:

Да, именно так! Чтобы поставить запрет на вхождение в папку в локальной сети, я хочу сделать программу, выводящую окно с запросом пароля, в том случае, если был сделан двойной щелчок на папке или выбор в контекстном меню команды "Открыть".Такое возможно в принципе?
Вадим К

Вадим К (статус: Академик), 28 октября 2008, 12:51 [#3]:

По локальной сети? под WinXP и старше это невозможно - ставить пароль на конкретную папку. С другой стороны - это и не сделают - это идеологически неверно. Наверно Вас стоит ознакомиться с правами доступа/Безопасностью и научиться выставлять права на каталоги. Но это уже другая тема, это уже не Делфи.
Научившись красиво выставлять права на каталоги можно творить чудеса и плохие, неправильные мысли "выставить пароль на папку" сразу пропадут.
Галочка "подтверждения прочтения" - вселенское зло.
Maria

Maria (статус: Посетитель), 28 октября 2008, 14:53 [#4]:

Хорошо, постараюсь разобраться! Спасибо!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 20 августа 2017, 04:55
Выполнено за 0.09 сек.
Рейтинг@Mail.ru