Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: 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 вся ветка

Текущий архив: 2007.02.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.037 c
2-1169710706
inkvizitor
2007-01-25 10:38
2007.02.18
3D графика


15-1169934087
PHPdeveloper
2007-01-28 00:41
2007.02.18
баг


2-1169991854
Vic-z
2007-01-28 16:44
2007.02.18
Как програмно изменить размер картинки


15-1169458745
optimizer
2007-01-22 12:39
2007.02.18
Оптимизация


15-1169567372
TIF
2007-01-23 18:49
2007.02.18
Создание своего формата файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский