Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#31: 2009-11-13 17:15:23 ЛС | профиль | цитата
-= DriveR =- писал(а):
Вставил - не переводиться строка
Хреново вставил
-= DriveR =-, то что ты делаешь, компонент FOR делает сам:
И сдесь же сделал проверку: если число делится без остатка на 5 то вставить эту строку и после неё вставить пустую строку.
code_15645.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_15645.txt [1.1KB] [205]
Ответов: 817
Рейтинг: 52
#32: 2009-11-16 09:13:22 ЛС | профиль | цитата
Tad, Спасибо конечно, но в окошках это я умею делать, но тоже самое не срабатывает в пакетном режиме.
Из моей приведеной схемы выше видно что результатом является выходной файлик "ytemp.log"
Этот файлик появляется после отработки ДОСовской программы findstr.exe, при этом, findstr.exe обрабатывает несколько файлов, а на выходе - один "ytemp.log"
Все это работатет в коммандной строке, БЕЗ ОКОШЕК.

Принцип работы:
Обработался первый файлик (первая строка массива) И ТУТ НАДО ВСТАВИТЬ ПЕРЕВОД СТРОКИ
переходим ко второму файлику и начинаем его обрабатывать.
Выходные данные добавляюся к существующему файлику "ytemp.log", но не с новой строки, а в конец последней строки.
т.е. после обработки первого файла имеем:
1111
2222
3333

После обработки второго файла имеем:
1111
2222
33334444
5555
6666

а надо
1111
2222
3333
4444
5555
6666
Tad, ну вроде объяснил очень понятно.
Я конечно не мастер письма, может что то упустил в объяснениях, но если что, задавайте наводящие вопросы, буду отвечать.
карма: 1

0
Ответов: 4641
Рейтинг: 334
#33: 2009-11-16 09:31:05 ЛС | профиль | цитата
-= DriveR =-, а именно ты хотел сказать.
Есть findstr.exe который обрабатывает файлы, а на выходе неправильный файл.
так что ли?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#34: 2009-11-16 10:26:53 ЛС | профиль | цитата
Ravilr, findstr.exe делает все правильно.
-= DriveR =-,
1. У тебя в папке C:log есть куча файлов отдельных на каждую дату или один на все даты
2. Тебе нужно выбрать строки на определённый IP ?
3. Для отбора строк применять только findstr.exe ?

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 817
Рейтинг: 52
#35: 2009-11-16 14:19:03 ЛС | профиль | цитата
Tad,
1. отдельный на каждую дату
2. Не только на IP, может и на URL.
3. Это моя затея применять findstr.exe т.к. средствами HiAsm моя задача отрабатывает за неприлично долгое время.
Если есть предложения чисто на HiAsm и работающие по скорости как findstr, то можно и на HiAsm
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#36: 2009-11-16 21:45:24 ЛС | профиль | цитата
-= DriveR =-, а ну попробуй это и отпиши время выполнения (там выведет)
code_15685.txt
------------ Дoбавленo в 21.46:
и свое время с findstr при тех-же датах начала и конца
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_15685.txt [2.4KB] [196]
Ответов: 817
Рейтинг: 52
#37: 2009-11-17 10:06:46 ЛС | профиль | цитата
Tad,
Error[0]: Элемент SearchInFile не найден!

Где бы его скачать?
HiAsm 4.03 b180
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#38: 2009-11-17 10:19:12 ЛС | профиль | цитата
-= DriveR =- писал(а):
Где бы его скачать?
На SVN.
Вот прицепил
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1searchinfile.rar [1.9KB] [108]
Голосовали:-= DriveR =-
Ответов: 4641
Рейтинг: 334
#39: 2009-11-17 10:20:06 ЛС | профиль | цитата
-= DriveR =- писал(а):
Где бы его скачать?

где где c SVN-неее
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#40: 2009-11-17 11:14:04 ЛС | профиль | цитата
-= DriveR =-, если лень ставить компонент, то замени на

Add(InlineCode,3918115,399,280)
{
WorkPoints=#8:dosearch|
EventPoints=#8:onsearch|
DataPoints=#8:filename|4:text|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|30: filename,text:THI_Event;|25: onSearch:THI_Event;|6: |53: procedure doSearch(var Data:TData; index:word);|5: end;|0:|14:implementation|0:|31:procedure THiAsmClass.doSearch;|3:var|14: F: TextFile;|16: S,t,u: string;|5:begin|31: t := ReadString(Data, text);|35: u := ReadString(Data, filename);|20: AssignFile(F, u);|12: Reset(F);|23: While not Eof(F) do|9: begin|18: Readln(F, S);|54: If pos(t,S)<> 0 then _hi_onEvent(onSearch, s); |8: end;|17: CloseFile(F);|4:end;|0:|4:end.|
}


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 817
Рейтинг: 52
#41: 2009-11-17 11:16:12 ЛС | профиль | цитата
Tad писал(а):
-= DriveR =-, а ну попробуй это и отпиши время выполнения (там выведет)
code_15685.txt
------------ Дoбавленo в 21.46:
и свое время с findstr при тех-же датах начала и конца

ОБАЛДЕТЬ
Данная схема отработала за 1834
findstr.exe отработал за 1795
Вот что значит новый компонент
Кто его автор? Покажите мне его!
Я ему сейчас +++++ поставлю
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#42: 2009-11-17 11:32:59 ЛС | профиль | цитата
Автор nesco (идея моя)
А вот тебе не мешало бы минус влепить - Ravilr тебя направлял на путь истинный.
Ravilr писал(а):
тут в соседней теме nesco, Tad, Dilma, искали способы быстрого поиска в логе 400мгб
Тогда же и был создан этот компонент.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#43: 2009-11-17 15:34:55 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 07:59:15
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#44: 2009-11-17 15:35:40 ЛС | профиль | цитата
Выше - это я
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26158
Рейтинг: 2127
#45: 2009-11-17 15:41:19 ЛС | профиль | цитата
Ты сам проверял, намного ли быстрее Интересно, просто
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)