Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Вниз

Как отследить изменения в каталоге?   Найти похожие ветки 

 
DimaS   (2003-07-17 13:49) [0]

Как отследить изменения в каталоге? Чтобы программа узнала, когда например из другой проги удалили файл в этом каталоге.


 
Prov   (2003-07-17 14:16) [1]

FindFirst
FindNext
FindClose


 
Skier   (2003-07-17 14:18) [2]

DimaS © (17.07.03 13:49)
Никак


 
Толик   (2003-07-17 14:19) [3]

FindFirstChangeNotification + FindNextChangeNotification + FindCloseChangeNotification + WaitForSingleObject


 
Толик   (2003-07-17 14:20) [4]

to Skier © (17.07.03 14:18)
Ну это через чур категорично... :)


 
Skier   (2003-07-17 14:22) [5]

>Толик © (17.07.03 14:20)
А твой вариант для какой ситуации подходит ? Любой ?


 
Толик   (2003-07-17 14:24) [6]

По крайней мере для тех, которые в WinHelp"е описаны:

FILE_NOTIFY_CHANGE_FILE_NAME
FILE_NOTIFY_CHANGE_DIR_NAME
FILE_NOTIFY_CHANGE_ATTRIBUTES
FILE_NOTIFY_CHANGE_SIZE
FILE_NOTIFY_CHANGE_LAST_WRITE
FILE_NOTIFY_CHANGE_SECURITY


 
Skier   (2003-07-17 14:28) [7]

>Толик © (17.07.03 14:24)
Хм...
А я так понял что для твоего варианта нужно запустить внешнее приложение из программы на Delphi (приложения автора) и ждать...
Так оно обстоит ?


 
Толик   (2003-07-17 14:30) [8]

Ну ждать-то можно и в отдельном потоке. Только потом его надо прибить корректно, если ничего не удалялось.


 
Skier   (2003-07-17 14:32) [9]

>Толик © (17.07.03 14:30)
Это я понял.
Но нужно запустить программу в приложении через CreateProcess
Не так ли ?


 
Толик   (2003-07-17 14:36) [10]


procedure TForm1.Button6Click(Sender: TObject);
var
h: THandle;
begin
h := FindFirstChangeNotification(pchar(ExtractFilePath(Application.ExeName)),
FALSE, FILE_NOTIFY_CHANGE_FILE_NAME);
if WaitForsingleObject(h, INFINITE) = WAIT_OBJECT_0 then
ShowMessage("for example: file deleted");
end;

Самое обычное приложение, я его запускал прямо из-под Делфей. После клика на кнопке приложение повисает до тех пор, пока не произойдут какие-то изменения в ExtractFilePath(Application.ExeName). Всё тупо до безобразия.


 
Skier   (2003-07-17 14:40) [11]

>Толик © (17.07.03 14:36)
Убедил. C Толик © (17.07.03 14:20) согласен :)


 
Толик   (2003-07-17 14:42) [12]

to Skier © (17.07.03 14:40)
спасибо за признание :))


 
Skier   (2003-07-17 14:44) [13]

>Толик © (17.07.03 14:42)
Я проcто думал что нужен CreateProcess.
В общем : "Признаю свою вину, меру, степень, глубину !" :)


 
panov   (2003-07-17 15:47) [14]

см. пример в статье на сайте.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
1-100749
R
2003-07-16 06:48
2003.07.31
Минимизация динамически созданной формы


1-100693
chs2r
2003-07-18 12:42
2003.07.31
Как смасштабировать Image


1-100780
Erik
2003-07-16 15:59
2003.07.31
Отсутствует паралельность в com сервере.


14-100884
mikhasenko.anton
2003-07-16 08:25
2003.07.31
Где найти компонент DBF?


3-100577
Sensor
2003-07-08 16:06
2003.07.31
TQuery и TDBGrid - Глюки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский