1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Роман |
28.05.2011 18:23
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 15 Пол: Мужской Реальное имя: Роман Репутация: 0 |
Собственно вот задание: Написать программу по разбивке и анализу содержимого файла отчета работы ПО (log-файла).
Необходимо проанализаровать и подсчитать запросы, а также вывести их в алфавитном порядке с подсчетом колическтва повторений. Программа должна выдавать отчет о своей работе в виде: Дата Запросы 25.04.2002 - 12 26.04.2002 - 10 27.04.2002 - 5 ... Всего было сделано (запросов) - 1679 Сортировка запросов: Бухгалтерский учет - 25 Бухгалтерский журнал - 30 Экономика Томска - 6 Экономика Якутии - 1 ... Пример файла отчета работы программы wslog.txt Сортировку запросов необходимо проводить по CGI-переменным S21STR= S21ALL= Проблема в том что у меня во второй части программы (подсчет и сортировка самих текстовых запросов) переполняется массив... а вот как сделать без массива не пойму...
wslog.txt ( 408.21 килобайт )
Кол-во скачиваний: 352 |
![]() ![]() |
| IUnknown |
31.05.2011 18:29
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата Можно поподробнее как это работает?) Что именно? Функция MySort - это самописная функция сортировки двух строк, которые находятся в StringList-е. Она должна возвращать 0, если строки равны, 1 - если первая строка больше второй, и (-1) - если наоборот, вторая строка больше первой. Потом, такая функция передается параметром в метод CustomSort, и производится сортировка строк StringList-а (все, что надо для сортировки - это знать, нужно ли менять местами 2 строки в определенный момент, так? Вот CustomSort и вызывает переданную ему функцию, чтобы понять, какая из строк больше, и в зависимости от направления сортировки, принимает - или не принимает - решение об обмене их местами). Посмотри исходники CustomSort - станет понятно, что там происходит...Первый фрагмент - это добавление в список текста запроса. То есть, start - позиция начала одного из тегов, finish - позиция амперсанда (&), процитированная тобой строка вычленит собственно сам запрос (без тега, без знака "=" и без амперсанда), и добавит его в список. А второй процитированный фрагмент - это сама "соль" программы: // для начала - печатаем все даты в файл. Причем для печати Сообщение отредактировано: IUnknown - 31.05.2011 18:38 |
Роман Анализ log-файла... 28.05.2011 18:23
IUnknown проблема возникнет раньше. К примеру, в твоем файл... 28.05.2011 20:07
Роман
проблема возникнет раньше. К примеру, в твоем фай... 29.05.2011 9:53
IUnknown Да, я именно его имел в виду. Перекомпилируй свою ... 29.05.2011 10:31
sheka Можно подробнее? 29.05.2011 11:09
IUnknown Что именно? Про регулярки? Есть модуль regexpr вот... 29.05.2011 11:53
IUnknown Так... Ну, регэкспы в FPC - такие, что лучше б их ... 29.05.2011 19:10
Роман Спасибо, все перекомпилировал, все работает.
lst... 29.05.2011 20:04
Роман Спасибо теперь всё окончательно понятно:) Програм... 1.06.2011 14:28![]() ![]() |
|
Текстовая версия | 10.12.2025 20:36 |