Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2015, 17:22   #1
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию Отслеживание изменений в фале

Здравствуйте,

Наверняка тема поднималась уже ни раз.

Есть задачка (она впринципе уже реализована и работает), но для общего развития хочется понять.

Есть некая программа, которая пишет лог своих действий в файл.
Причем, как я понял, файл "закрывается" только после завершения работы программы. То есть пока программа работает, содержимое лог-файла находится в памяти, и "сбрасывается" в файл после завершения работы программы.

Через FindFirstChangeNotification отследить появление данного лог-файла не проблема, проблема в том что не срабатывает FILE_NOTIFY_CHANGE_SIZE
FILE_NOTIFY_CHANGE_LAST_WRITE
Ну это естественно, раз файл не закрыт и имеет размер "0". Но если этот файлик открыть в том же FAR, то он в реальном времени видит запись данных в файл.

Пока решил вопрос следующим образом - по таймеру обращаюсь к файлу, делаю копию содержимого в память через TMemoryStream (открыть он его не даст, так как занят другим приложением), ну а потом уже обрабатываю так как мне надо.

Вопрос вот в чем, а как это все реализовать без таймера?
То есть сторонняя программа сделала запись в файл, а мне это надо отследить.
Завидую крокодилам! Они даже ходят лежа!
arriah вне форума Ответить с цитированием
Старый 09.08.2015, 17:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А по-моему таймер - самое оно... Я тоже так делал когда мониторить изменения надо было.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.08.2015, 17:30   #3
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А по-моему таймер - самое оно... Я тоже так делал когда мониторить изменения надо было.
Хочется универсальности Обрабатывать изменения в потоке, а запись в файл может появиться через 10 секунт, а может через 5 минут
Завидую крокодилам! Они даже ходят лежа!
arriah вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отслеживание изменений на листе tae1980 Microsoft Office Excel 10 05.04.2012 11:03
Отслеживание изменений пользователя leklerk БД в Delphi 1 24.03.2012 20:38
Отслеживание impulsgraw Работа с сетью в Delphi 3 12.06.2011 12:24
Отслеживание изменений Fezdipekla Microsoft Office Access 3 09.07.2010 22:56
Отслеживание изменений(по времени и дате) Ксеноцид Общие вопросы Delphi 6 01.04.2008 10:59