Вниз
Скачать: CL | DM;

Поиск даты и слова в txt   Найти похожие ветки 

 
Garacio ©   (2007-01-30 20:12) [0]

Отчёт о работе «чужой» программы сохраняется в файле LOG.txt в виде:
------------------------
01.01.07 10:00
Ошибка №ХХХ
Примечание-1
Примечание-2

02.01.07 14:10
Ошибка №ХХХ
Примечание-1
Примечание-2
Примечание-3

02.01.07 16:30
Предупреждение
Примечание


-----------------------
Как организовать вывод (в своей программе) в поле Memo информации об сегодняшних ошибках (предупреждение игнорировать)?


 
Джо ©   (2007-01-30 20:18) [1]

А в чем конкретная трудность?


 
Garacio ©   (2007-01-30 20:25) [2]

Во-первых, скажу честно, не нашёл понятного (для новичка) примера поиска слова в txt-файле.
Во-вторых, мы, допустим, нашли слово "Ошибка", необходимо отобразить примечание (но мы не знаем - сколько строчек будет занимать примечание, известно только, что сообщения разделены пустой строкой)?


 
Джо ©   (2007-01-30 20:32) [3]

Если файл относительно невелик, то можно воспользоваться классом TStringList.
1. Загрузка файла: List.LoadFromFile
2. Доступ к строкам по номеру: List[N], кол-во строк: List.Count.


 
Garacio ©   (2007-01-31 16:00) [4]

Подсказали FindFirstChangeNotification - но я прочитал, что это не работает в версиях Windows9x!
У меня появилась идея, может Вы поможете реализовать её?

При запуске программы:
AssignFile(txt, Dir+"\LOG.txt");
Reset(txt);
while not EOf(txt) do
 begin
 Readln(txt, Stroka);
 If Stroka = "Ошибка"
   then begin
   While Stroka <>"" do
     MemoInfo.Text := Stroka;
   end;
 end;
CloseFile(txt);


Должно получиться примерно так, но:
1. Как проверять строку на наличие слова "Ошибка", если оно не единственное в этой строке?
2. Как добавить проверку сообщения на соответствие сегодняшней дате? (или как вариант очищать при закрытии программы файл txt)?
3. И как отслеживать изменения во время работы программы, если работать в разных ОС?


 
Джо ©   (2007-01-31 16:06) [5]

> 1. Как проверять строку на наличие слова "Ошибка", если
> оно не единственное в этой строке?

Pos


> 2. Как добавить проверку сообщения на соответствие сегодняшней
> дате? (или как вариант очищать при закрытии программы файл
> txt)?

Разобрать строку при помощи Pos. Для конвертирования даты из строки — [Try]StrToDateTime, а лучше — ручной разбор и EncodeDateTime.


> 3. И как отслеживать изменения во время работы программы,
> если работать в разных ОС?

FindFirstChangeNotification работает во всех версиях Windows, начиная с Windows 95.
Кроме того, можно просто периодически проверять время последнего доступа к файлу.


 
Efir   (2007-01-31 16:06) [6]

Pos(строка). Результат функции - первое вхождение слова в строке, если значение <0 , значит слово не найдено.


 
Palladin ©   (2007-01-31 16:12) [7]


> Efir   (31.01.07 16:06) [6]

если значение равно нулю, тогда не найдено



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
1-1166521793
atruhin
2006-12-19 12:49
2007.02.18
Определить отправителя при drag&amp;drop


4-1160299161
Чапаев
2006-10-08 13:19
2007.02.18
Непонятность с динамическим импортом


15-1169595372
IMHO
2007-01-24 02:36
2007.02.18
Опрос: где ваши программы хранят данные?


2-1147795287
Sphinx
2006-05-16 20:01
2007.02.18
Кнопка или панель с переносом строк


4-1158174928
Teenager
2006-09-13 23:15
2007.02.18
Изменение цвета фона чужого окна




   Наверх