13 / 13 / 3
Регистрация: 05.06.2015
Сообщений: 93
1

Сканирование файла на изменение в реальном времени

15.09.2015, 10:58. Показов 1375. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
существует текстовый файл. на самом деле это лог работы приложений, собираемый в сети постоянно.
есть ли способ как-то сканировать новые строки, которые в него добавляются, и в случае определенных
признаков производить действие.
например если новая строка содержит слово Error, то выводить всю эту строку в msgbox
причем хочется-то чтобы программа не постоянно была активна, а реагировала(запускалась) именно на изменение файла....
это возможно?
просто на самом деле не знаю с какой стороны подойти даже к этому... советы приветствуются...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2015, 10:58
Ответы с готовыми решениями:

Проверка на изменение размера файла в реальном времени
Здравствуйте Уважаемые форумчане! Я новичек в программировании + так сказать самоучка. Вопрос...

Изменение страницы в WebBrowser в реальном времени
Друзья, подскажите, каким образом можно реализовать следующую программу: WebBrowser на форме...

Как сделать изменение значения в реальном времени?
"a" это здоровье как сделать чтобы оно изменялось в реальном времени допустим когда я нажимаю удар...

Изменение отслеживаемой дирекории в реальном времени (WatchService)
Добрый день! Есть программа, которая отслеживает директорию на события (удаление, создание,...

5
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
15.09.2015, 13:54 2
Цитата Сообщение от LEonardo_ Посмотреть сообщение
советы приветствуются
Советую посмотреть в сторону FileSystemWatcher
2
1710 / 1198 / 227
Регистрация: 23.12.2010
Сообщений: 1,527
15.09.2015, 13:57 3
Лучший ответ Сообщение было отмечено LEonardo_ как решение

Решение

для отслеживания изменений файла подойдет FileSystemWatcher (компонент такой, его можно настроить по разному, как надо в данных конкретных условиях).
Цитата Сообщение от LEonardo_ Посмотреть сообщение
например если новая строка содержит слово Error, то выводить всю эту строку в msgbox
ну это уже техническая подробность самой программы. Читаем полследнюю строку лога и ищем в тексте слово.
Цитата Сообщение от LEonardo_ Посмотреть сообщение
причем хочется-то чтобы программа не постоянно была активна, а реагировала(запускалась) именно на изменение файла....
это возможно?
Возможно, тогда постоянно будет работать другая программа, которая собственно и будет реагировать на изменение, и запускать основную. А надо ли так?
Совет:
в программе использовать указанный ранее компонент, настроенный на реакцию от изменений только определенного файла.
Как только событие произошло (т.е. компонент это событие сгенерил), читаем лог файл и ищем кодовое слово.
1
13 / 13 / 3
Регистрация: 05.06.2015
Сообщений: 93
15.09.2015, 16:04  [ТС] 4
Цитата Сообщение от Юпатов Дмитрий Посмотреть сообщение
для отслеживания изменений файла подойдет FileSystemWatcher
да, похоже то что нужно судя по описанию мсдн. доберусь до места проверю как оно работает... ну как использовать думаю разберусь, спасибо за ответы

Цитата Сообщение от Юпатов Дмитрий Посмотреть сообщение
ну это уже техническая подробность самой программы. Читаем полследнюю строку лога и ищем в тексте слово.
ну нужная операция сложнее, это просто в качестве примера, чтобы было понятно, что мне нужно...
0
1710 / 1198 / 227
Регистрация: 23.12.2010
Сообщений: 1,527
16.09.2015, 08:41 5
Цитата Сообщение от LEonardo_ Посмотреть сообщение
да, похоже то что нужно судя по описанию мсдн
это именно то, что нужно. Да и использование весьма простое.
Главное, чтобы программа, пишущая логи, не держала файл все время открытым в монопольном доступе. Бо усложнится процесс считывания (собственно, открытие). Хотя из таких вредных я только компоненты MS Office да AutoCAD замечал.
0
23 / 21 / 6
Регистрация: 16.09.2015
Сообщений: 44
17.09.2015, 13:19 6
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Class frmMain
    Dim WithEvents W As New IO.FileSystemWatcher
 
    Private Sub W_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles W.Changed
        If e.Name = "system.log" Then
            MessageBox.Show("TADA!")
        End If
    End Sub
 
    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        w.Path = "d:\TEST"
        w.EnableRaisingEvents = True
    End Sub
End Class
0
17.09.2015, 13:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2015, 13:19
Помогаю со студенческими работами здесь

Заливка файла+конвертация видео в реальном времени
Здравствуйте, уважаемые форумчане. На сайте администратор при помощи редактора bbcode создает...

Подсчет времени в реальном времени
Добрый день, подскажи пожалуйста как нужно сделать что бы подсчитать количество часов. В первом...

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

Изменение даты и времени в заголовке файла PE-формата
Дорогие друзья, помогите, пожалуйста. Я хочу изменить дату и время в заголовке файла PE-формата....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru