Анализ файла txt

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
sinxron
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 02.04.2006 (Вс) 15:52

Анализ файла txt

Сообщение sinxron » 02.04.2006 (Вс) 16:03

Есть файл txt название его "10-03-2-06.txt" как сделать что бы его открыть, но не просто а всё время анализировать его хотя бы через каждые 5сек. Как только в файле txt появится строка "ALARM" выходил msgbox c надписью WARNING! :roll: . Т.Е в файл txt постоянно записываются новые строки другой программой.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.04.2006 (Вс) 16:33

Каждые 5 секунд открывать файл, читать весь в строку. Если в строке появилась подстрока "ALARM", выводить msgbox.

zulus
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 13.02.2006 (Пн) 11:02

Сообщение zulus » 03.04.2006 (Пн) 9:51

'timer1.interval=столько-то

sub timer_timer()
cfree=freefile
open "10-03-2-06.txt" for input as#cfree
xstring=input(lof(cfree),cfree)
close#cfree

i=instr(1,xstring,"ALARM")
if i>0 then msgbox "WARNING!"
end sub

PS: А вообще-то такой код написать можно и самому - не сложно, ИМХО!
Just a Zulus!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 03.04.2006 (Пн) 14:37

АХТУНГ!

Надо, сохранять предыдущую позицию в файле, и читать с нее.

Иначе, при большом файле все будет тормозить дико.



Код: Выделить всё
private curFilePos as long

sub timer1_timer()
dim astr as string
fh=freefile
open "10-03-2-06.txt" for input as #fh
seek #fh,curFilePos
astr=input(lof(fh)-curFilePos,fh)
curFilePos=lof(fh)
if instr(1,astr,"ALARM",vbtextcompare) then msgbox("WARNING!")
close fh
end sub
Последний раз редактировалось RayShade 10.04.2006 (Пн) 10:03, всего редактировалось 1 раз.

sinxron
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 02.04.2006 (Вс) 15:52

Сообщение sinxron » 03.04.2006 (Пн) 17:15

RayShade
Огромное спасибо! На счёт сохранения позиции.Осталась последняя проблема.....Как менять открытие файла "10-03-06.txt" в зависимости от даты,если на другой день другая дата "11-03-06.txt" и так далее,другой месяц,год.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 03.04.2006 (Пн) 17:41

меняй название файла в зависимости от даты, дату получить ты можешь средствами VB остается преобразовать ее в нужный тебе формат
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.04.2006 (Пн) 18:08

sinxron писал(а):RayShade
Огромное спасибо! На счёт сохранения позиции.Осталась последняя проблема.....Как менять открытие файла "10-03-06.txt" в зависимости от даты,если на другой день другая дата "11-03-06.txt" и так далее,другой месяц,год.

Код: Выделить всё
Format(Now,"dd-mm-yy.txt")
Изображение

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 04.04.2006 (Вт) 7:19

"10-03-2-06.txt"

а 2 куда подевалась? и вообще она в какой зависимости меняется?

sinxron
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 02.04.2006 (Вс) 15:52

Сообщение sinxron » 04.04.2006 (Вт) 9:15

tyomitch писал(а):
sinxron писал(а):RayShade
Огромное спасибо! На счёт сохранения позиции.Осталась последняя проблема.....Как менять открытие файла "10-03-06.txt" в зависимости от даты,если на другой день другая дата "11-03-06.txt" и так далее,другой месяц,год.

Код: Выделить всё
Format(Now,"dd-mm-yy.txt")




Format(Now,"dd-mm-yy.txt") не катит.... :!:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.04.2006 (Вт) 9:20

sinxron писал(а):Format(Now,"dd-mm-yy.txt") не катит.... :!:

почему?
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 04.04.2006 (Вт) 11:11

В VB6 все нормально работает, а вот если впихнуть это в VB.NET, то пояляются странности... вполне впрочем объяснимые. VB.NET понимает mm как вывод минут, а для вывода месяца надо использовать MM. К тому же VB.NET начинает мудрить с t. Посему, если вдруг появится необходимость сделать это в VB.NET, то юзать надо строку:
Код: Выделить всё
Format(Now, "dd-MM-yy") & ".txt"
и все будет именно так как надо
Весь мир матрица, а мы в нем потоки байтов!

zaf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 27.03.2006 (Пн) 23:04

Сообщение zaf » 08.04.2006 (Сб) 19:12

shady писал(а):
"10-03-2-06.txt"

а 2 куда подевалась? и вообще она в какой зависимости меняется?



Format(Now,"dd-mm") & "-2-" Format(Now,"yy") & ".txt" Можно еще и так наверное:) А что цифра 2 означает?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 176

    TopList