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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2010, 15:17   #1
Dark_KRONOS
 
Аватар для Dark_KRONOS
 
Регистрация: 12.01.2010
Сообщений: 7
По умолчанию Помогите с обработкой LOG файла

Приветствую всех! Мне дали такое задание: дается лог файл от почтового сервера и мне надо через специальный компонент RegExpr.dcu(компонент работает как программа RegexBuddy) и мне надо с помощью этого компонента обработать LOG файл следующим образом: дается 5 столбцов(лучше использовать ListBox, но можно и StringGrid) и из файла повыдергивать: в 1 столбец чтобы шло от кого пришло письмо(т.е. E-Mail адрес); во 2 столбец кому пришло письмо; в 3 столбце идет статус письма(т.е. status=sent, blocked, etc); в 4 столбце идет состояние письма(clean, blocked, unknown, removed); в 5 столбце идет размер письма. Каждая строка в каждом столбце должна иметь одну информацию(т.е от кого, кому, размер, состояние и статус должны принадлежать одному событию). Если требуется лог файл и/или компонент, то выложу. Сделать это надо в Delphi 7. Через компонент RegExpr.dcu немного знаю, как должны выглядеть "формулы" для поиска E-mail адреса. Могу также выложить свою программу для примера. Заранее спасибо.
Я еще слишком плохо знаю программирование, так что не судите строго

Последний раз редактировалось Dark_KRONOS; 12.01.2010 в 15:30.
Dark_KRONOS вне форума Ответить с цитированием
Старый 12.01.2010, 15:27   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

если лог - просто текстовый док-т, то зачем через спец компонент? это можно сделать и обычным чтением файла построчно (выдернули из нее что надо в структуру и записали в соответств поля)
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 12.01.2010, 15:28   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Приведи фрагмент лога
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.01.2010, 15:32   #4
Dark_KRONOS
 
Аватар для Dark_KRONOS
 
Регистрация: 12.01.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от RUSt88 Посмотреть сообщение
если лог - просто текстовый док-т, то зачем через спец компонент? это можно сделать и обычным чтением файла построчно (выдернули из нее что надо в структуру и записали в соответств поля)
Мне сказали, что желательней именно через этот компонент делать, но можно попытаться и так. Просто с текстовыми файлами никогда не работал.
Я еще слишком плохо знаю программирование, так что не судите строго

Последний раз редактировалось Dark_KRONOS; 12.01.2010 в 15:34.
Dark_KRONOS вне форума Ответить с цитированием
Старый 12.01.2010, 15:35   #5
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

выложи лог
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 12.01.2010, 15:40   #6
Dark_KRONOS
 
Аватар для Dark_KRONOS
 
Регистрация: 12.01.2010
Сообщений: 7
По умолчанию

Nov 10 10:12:54 BazSRV postfix/pickup[7180]: E0B87168109: uid=0 from=<root>
Nov 10 10:12:54 BazSRV postfix/cleanup[8161]: E0B87168109: message-id=<20091110071254.E0B87168109@BazS RV>
Nov 10 10:12:54 BazSRV postfix/qmgr[7183]: E0B87168109: from=<root@BazSRV>, size=356, nrcpt=1 (queue active)
Nov 10 10:13:07 BazSRV dovecot: pop3-login: Login: user=<fedorov@bazissoft.ru>, method=PLAIN, rip=192.168.168.7, lip=192.168.168.100
Nov 10 10:13:07 BazSRV dovecot: POP3(fedorov@bazissoft.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Nov 10 10:13:19 BazSRV postfix/smtpd[8159]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <ifoodvajkes@BILL.glbgil.grics.net> : Sender address rejected: Domain not found; from=<ifoodvajkes@BILL.glbgil.grics .net> to=<vladimir@bazissoft.ru> proto=ESMTP helo=<BazSRV>
Nov 10 10:13:22 BazSRV postfix/smtpd[9214]: connect from unknown[192.168.168.9]
Nov 10 10:13:22 BazSRV postfix/smtpd[9214]: A949C16804A: client=unknown[192.168.168.9]
Nov 10 10:13:23 BazSRV postfix/smtpd[12522]: connect from localhost[127.0.0.1]
Nov 10 10:13:23 BazSRV postfix/smtpd[12522]: 862A116805C: client=localhost[127.0.0.1]
Nov 10 10:13:23 BazSRV postfix/cleanup[12523]: 862A116805C: message-id=<20091110071254.E0B87168109@BazS RV>
Nov 10 10:13:23 BazSRV postfix/qmgr[7183]: 862A116805C: from=<root@BazSRV>, size=703, nrcpt=1 (queue active)
Nov 10 10:13:23 BazSRV postfix/smtpd[12522]: disconnect from localhost[127.0.0.1]
Nov 10 10:13:23 BazSRV amavis[5221]: (05221-03) Passed CLEAN, <root@BazSRV> -> <root@BazSRV>, Message-ID: <20091110071254.E0B87168109@BazSRV> , mail_id: mrIPCO8WonqO, Hits: -0.846, size: 356, queued_as: 862A116805C, 28607 ms
Nov 10 10:13:23 BazSRV postfix/local[12525]: 862A116805C: to=<root@BazSRV>, relay=local, delay=0.06, delays=0.02/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION")
Nov 10 10:13:23 BazSRV postfix/qmgr[7183]: 862A116805C: removed
Nov 10 10:13:23 BazSRV postfix/smtp[12384]: E0B87168109: to=<root@BazSRV>, orig_to=<root>, relay=127.0.0.1[127.0.0.1]:10024, delay=29, delays=0.08/0.03/0.01/29, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=05221-03, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 862A116805C)
Nov 10 10:13:23 BazSRV postfix/qmgr[7183]: E0B87168109: removed
Nov 10 10:13:26 BazSRV postfix/smtpd[8159]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <fecvahiewi@host.217.54.176.38.ni le-online.net>: Sender address rejected: Domain not found; from=<fecvahiewi@host.217.54.176.38 .nile-online.net> to=<vladimir@bazissoft.ru> proto=ESMTP helo=<BazSRV>
Nov 10 10:13:27 BazSRV postfix/smtpd[8159]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <cloitebmel@nat167-sin.ural.net>: Sender address rejected: Domain not found; from=<cloitebmel@nat167-sin.ural.net> to=<vladimir@bazissoft.ru> proto=ESMTP helo=<BazSRV>
Nov 10 10:13:27 BazSRV postfix/smtpd[8159]: disconnect from localhost[127.0.0.1]
Nov 10 10:13:29 BazSRV postfix/smtpd[8159]: connect from localhost[127.0.0.1]
Nov 10 10:13:29 BazSRV postfix/smtpd[8159]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <terraqua@dom-3kk7aw7o8r2.osw.vectranet.pl>: Sender address rejected: Domain not found; from=<terraqua@dom-3kk7aw7o8r2.osw.vectranet.pl> to=<bakulina@bazissoft.ru> proto=ESMTP helo=<BazSRV>
Nov 10 10:13:30 BazSRV postfix/smtpd[8159]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <laryngeskwiy48@Facundo.cpe.telecen tro.net.ar>: Sender address rejected: Domain not found; from=<laryngeskwiy48@Facundo.cpe.te lecentro.net.ar> to=<bakulina@bazissoft.ru> proto=ESMTP helo=<BazSRV>
Nov 10 10:13:42 BazSRV dovecot: pop3-login: Login: user=<turin@bazissoft.ru>, method=PLAIN, rip=192.168.168.11, lip=192.168.168.100
Nov 10 10:13:42 BazSRV dovecot: POP3(turin@bazissoft.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Nov 10 10:13:45 BazSRV postfix/smtpd[8159]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <nevada-tan.sab@inea.supercabotv.com.br>: Sender address rejected: Domain not found; from=<nevada-tan.sab@inea.supercabotv.com.br> to=<bakulina@bazissoft.ru> proto=ESMTP helo=<BazSRV>
Nov 10 10:13:45 BazSRV postfix/smtpd[8159]: disconnect from localhost[127.0.0.1]
Nov 10 10:13:45 BazSRV dovecot: pop3-login: Login: user=<vladimir@bazissoft.ru>, method=PLAIN, rip=192.168.168.12, lip=192.168.168.100
Nov 10 10:13:45 BazSRV dovecot: POP3(vladimir@bazissoft.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Nov 10 10:13:48 BazSRV postfix/smtpd[8159]: connect from localhost[127.0.0.1]
Nov 10 10:13:48 BazSRV postfix/smtpd[8159]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <dewkhk@comp1.netcabo.pt>: Sender address rejected: Domain not found; from=<dewkhk@comp1.netcabo.pt> to=<bunakov@bazissoft.ru> proto=ESMTP helo=<BazSRV>
Я еще слишком плохо знаю программирование, так что не судите строго
Dark_KRONOS вне форума Ответить с цитированием
Старый 12.01.2010, 15:44   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Для решения этой задачи хватит и StringGrid'a.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.01.2010, 15:46   #8
Dark_KRONOS
 
Аватар для Dark_KRONOS
 
Регистрация: 12.01.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Для решения этой задачи хватит и StringGrid'a.
Это я понимаю, но как примерно мне надо сделать поиск? Какой примерно код для этого, чтобы строка шла по одному событию, след. строка по след. событию и т.д.?
Я еще слишком плохо знаю программирование, так что не судите строго
Dark_KRONOS вне форума Ответить с цитированием
Старый 12.01.2010, 16:16   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Я так думаю - в строке все что после третьего двоеточия это событие, а что до, разделяется пробелом - Месяц, Год (или день месяца), Время и т.д. откуда письмо после слова form, куда после слова to. Вашим другом станет функция pos . Обратите внимание не все строки лога содержат информацию об отправленных письмах (ну такие можно предварительно откинуть, если в них нет необходимости).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.01.2010, 16:18   #10
Dark_KRONOS
 
Аватар для Dark_KRONOS
 
Регистрация: 12.01.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Я так думаю - в строке все что после третьего двоеточия это событие, а что до, разделяется пробелом - Месяц, Год (или день месяца), Время и т.д. откуда письмо после слова form, куда после слова to. Вашим другом станет функция pos .
т.е. я сначала запоминаю, где находится двоеточие, потом ищу from, to, size и т.д.? А как тогда напрямую из файла считать?
Я еще слишком плохо знаю программирование, так что не судите строго
Dark_KRONOS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
E2015 Ambiguity between 'std::log(double)' and 'std::log(long double)' Namolem Помощь студентам 3 02.04.2011 20:22
Проблема с обработкой DBF файла oleg kutkov Общие вопросы C/C++ 1 22.08.2008 21:07
.log файлы TyoshA Общие вопросы Delphi 12 25.03.2008 08:31
Помогите с обработкой изображений Dude_first Мультимедиа в Delphi 3 31.08.2007 16:54