![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| mashutkai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.4.2009 Репутация: нет Всего: нет |
Здравствуйте. Помогите пожалуйста написать такую программу: надо чобы программа каждые 5 секунд считывала файл построчно и если он изменился, записывать новую строку в MySQL на удалённый сервер, а не достающие - удалять.
С начала помогите считать файл в переменную или в массив и вывести хотябы через MsgBox. Делаю это в VB 2008 Express |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Во первых, считывание каждые 5 секунд очень плохо. Нужно ловить системное событие об этом моменте. Для таких целей служит компонент FileSystemWatcher, кинешь на форму и разберешься, он прост.
Во вторых, для считывания файла нужно проверить сначала, можешь ли ты иметь к файлу непрерывный доступ для чтения. Под непрерывным я подразумеваю типа открыл поток к файлу в начале программы и закрыл его в конце. Это нужно для того, чтоб определить, как ты будешь работать с потоком файла, либо единожды его открыв и потом используя, либо открывать его каждый раз, как только произойдет изменение. В третьих, для самого считывания, нужно иметь переменную Long. Значение переменной будет говорить о последней удачно прочитанной позиции в файле. Ее значение нужно обновлять только тогда, когда ты прочитал строку и записал ее в БД. Значение этой переменной нужно еще сохранить снаружи программы (в настройках или еще где-нить) сразу же, после ее обновления. Для построчного чтения из файла лучше использовать StreamReader (Imports System.IO). Надеюсь, что здесь все предельно понятно. Если будет что-то не получаться пиши. Добавлено через 35 секунд Кстати, а что ты пишешь? -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| mashutkai |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.4.2009 Репутация: нет Всего: нет |
Считать у меня получилось, но теперь не могу разобраться с FileSystemWatcher. Можете дать мне какой-нибудь пример плз
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Свойства:
EnableRaisingEvents - нужно для того, чтобы приостановить/продолжить отслеживание. По умолчанию имеет значение True (отслеживать). Filter - задает маску имени фйлов, которые будут отслеживаться системой. Допустимо указать имя файла полностью для отслеживания только его (например, myfile.txt) IncludeSubdirectories - указывает на то, нужно ли включать в отслеживание вложенные папки. NotifyFilter - набор флагов ограничивающих тип слежения. Допустимо указывать несколько флагов, например, если указать FileSystemWatcher1.NotifyFilter = NotifyFilters.Size Or NotifyFilters.FileName то ты будешь получать уведомления только если изменится размер или имя. Path - путь к файлу или паке в зависимости от того, за кем надо следить. Ну и события: Changed, Renamed, Deleted, Created. Первое, вызывается для всех типов изменеий, соответствующих настройкам, остальные - только для соответствующих. Все остальное наследовано и к делу не относится. Добавлено через 24 секунды Кстати, а что ты пишешь? -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |