Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2014, 17:11   #1
pivan
Новичок
Джуниор
 
Регистрация: 18.09.2014
Сообщений: 7
По умолчанию поиск информации в лог-файле

Здравствуйте, нужна помощь. Имеется текстовый протокол (в формате .log), отображающий работу некоторого устройства. Требуется написать программу, осуществляющую обработку этого протокола
следующим образом:

1. Пользователь вводит даты, для которых происходит обработка. Например, с
01.01.2005 по 11.01.2005.

2. Программа анализирует протокол за этот период и выводит в удобном для
просмотра виде следующую статистику:
- число включений аппаратуры;
- список пользователей с указанием числа включений аппаратуры от их
имени. При этом включения "без пользователя" обрабатываются отдельно;
- по каждому пользователю считается суммарное время, проведенное им за
установкой.
pivan вне форума Ответить с цитированием
Старый 18.09.2014, 17:25   #2
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

>> нужна помощь
>> Требуется написать программу
Помощь то в чём? Что посоветовать, или целиком программу написать? Если второе, то бесплатно этого делать ни кто не будет.
indexx вне форума Ответить с цитированием
Старый 18.09.2014, 17:29   #3
pivan
Новичок
Джуниор
 
Регистрация: 18.09.2014
Сообщений: 7
По умолчанию

посоветовать как производить поиск информации в файле
pivan вне форума Ответить с цитированием
Старый 18.09.2014, 17:35   #4
loom12
Пользователь
 
Регистрация: 05.09.2014
Сообщений: 24
По умолчанию

Покажи формат лог файла.

Если файл например в таком виде:

Дата|11.01.2005| Время|11:20:01|Объект|10|Сообщение| .....;
Дата|11.01.2005| Время|12:20:01|Объект|11|Сообщение| .....;

То можно использовать TStringList, Pos, PosEx(в Uses подключить StrUtils), Copy
Код:
var p1:integer;
      sl_log:TStringList;
     stroka:String;
begin 
 sl_log:=TStringList.Create;
  sl_log.Clear;
     try
      sl_log.LoadFromFile(ExtractFilePath (application.exename)+'log.txt');
     
      except
        ShowMessage('!!! Ошибка чтения файла:log.txt');
         
       Exit;
     end;

 //можно построчно анализировать перебирая все строки в цикле  
  for i:= 0 to sl_log.Count - 1 do
    begin
         stroka:=Trim((sl_log.Strings[i])); //получить текст строки
           p1:=Pos('11.01.2005',stroka);         
           if p1>0 then //если  больше нуля то дата присутствует в строке и можно ее обработать 
              begin
                 ....PosEx(...P1
              end;
        
    end;
end;
 //и потом не забыть 
  FreeAndNil(sl_log);
в дискуссии рождается истина

Последний раз редактировалось loom12; 18.09.2014 в 17:54.
loom12 вне форума Ответить с цитированием
Старый 18.09.2014, 17:48   #5
StriderX
Форумчанин
 
Регистрация: 21.04.2014
Сообщений: 115
По умолчанию

Цитата:
Сообщение от pivan Посмотреть сообщение
посоветовать как производить поиск информации в файле
Вместе с дельфями turbo grep ставится, может его хватит? =-)
StriderX вне форума Ответить с цитированием
Старый 18.09.2014, 17:49   #6
pivan
Новичок
Джуниор
 
Регистрация: 18.09.2014
Сообщений: 7
По умолчанию

*********************************** *********************************** **********
Управляющее программное обеспечение персонализации РИК
Начало работы :27.10.01 15:04:53
Оператор - 1
Режим: Основной
Подача: Автоматическая
Смена режимов работы на:
Режим: Переделка
Подача: Автоматическая
Работа завершена: 27.10.01 15:07:17
*********************************** *********************************** **********
pivan вне форума Ответить с цитированием
Старый 18.09.2014, 17:57   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
Вопрос

Цитата:
Сообщение от pivan Посмотреть сообщение
*********************************** *********************************** **********
Управляющее программное обеспечение персонализации РИК
Начало работы :27.10.01 15:04:53
Оператор - 1
Режим: Основной
Подача: Автоматическая
Смена режимов работы на:
Режим: Переделка
Подача: Автоматическая
Работа завершена: 27.10.01 15:07:17
*********************************** *********************************** **********
И это всё, что есть в файле? А сколько файлов?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 18.09.2014, 18:02   #8
pivan
Новичок
Джуниор
 
Регистрация: 18.09.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
И это всё, что есть в файле? А сколько файлов?
нет это пример записи об использовании устройства, в файле 2100 строк
pivan вне форума Ответить с цитированием
Старый 18.09.2014, 18:04   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
Вопрос

Цитата:
в файле 2100 строк
То есть файл один?
Покажи!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 18.09.2014, 18:12   #10
pivan
Новичок
Джуниор
 
Регистрация: 18.09.2014
Сообщений: 7
По умолчанию

https://www.dropbox.com/s/osgw6fnd51...erson.log?dl=0
pivan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена Информации о файле RageGod Общие вопросы Delphi 0 08.05.2012 10:51
поиск и лог hacknet Общие вопросы Delphi 16 16.08.2011 21:20
Сохранение информации в файле и считывание из него Draips Помощь студентам 3 28.12.2010 18:45
Поиск данных в текстовом файле (в самом файле! а не в Memo и не загружая всю инфу из файла в одну строку glagoff Помощь студентам 1 05.05.2010 13:00