ViSiToR
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору leomaks 12:55 29-05-2009 Цитата: то функции, а мне надо событие | Событие нужно самому отслеживать, как раз теми самыми функциями Пример: Код: $iEvent = _WatchFile_Event(@ScriptDir & "\Test.txt") MsgBox(64, '_WatchFile_Event', "File event: " & $iEvent & @CRLF & "Error: " & @error) ;Return: ; -1 (+ @error set to 1) - file was deleted/moved/renamed. ; 0 (+ @error set to 1) - file does not exists. ; 1 - File size changed ; 2 - File modified time changed ; 3 - File created time changed ; 4 - File accessed time changed Func _WatchFile_Event($sFile) If Not FileExists($sFile) Then Return SetError(1, 0, 0) Local $sOrigin_FileSize = FileGetSize($sFile) Local $sOrigin_M_FileTime = FileGetTime($sFile, 0, 1) Local $sOrigin_C_FileTime = FileGetTime($sFile, 1, 1) Local $sOrigin_A_FileTime = FileGetTime($sFile, 2, 1) While 1 Sleep(1000) If Not FileExists($sFile) Then Return SetError(1, 0, -1) $sCurrent_FileSize = FileGetSize($sFile) $sCurrent_M_FileTime = FileGetTime($sFile, 0, 1) $sCurrent_C_FileTime = FileGetTime($sFile, 1, 1) $sCurrent_A_FileTime = FileGetTime($sFile, 2, 1) If $sCurrent_FileSize <> $sOrigin_FileSize Then Return 1 If Not ($sCurrent_M_FileTime == $sCurrent_M_FileTime) Then Return 2 If Not ($sCurrent_C_FileTime == $sCurrent_C_FileTime) Then Return 3 If Not ($sCurrent_A_FileTime == $sCurrent_A_FileTime) Then Return 4 WEnd EndFunc | Добавлено: Кстати, у меня есть старый скрипт слежения за папкой (включая все изменения в файлах), если нужен, могу выложить...
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
|