Вниз
Скачать: CL | DM;

Работа с текстом.   Найти похожие ветки 

 
MadGhost ©   (2003-08-29 13:43) [0]

Уважаемые мастера, ещё раз прошу вашей помощи.
Проблема такая. Есть файл, тектовый (рапорта), один рапорт от другого разделен символами #2 ... #3
для разделения я использую регулярные выражения, TRegExpr
но файлы большущие, и в общем программа в даун уходит, я пока с отдельными потоками работать толком не научился, надеюсь скоро научусь применять их на практике, но а пока....

r:=TRegExpr.Create;
r.Expression:="\x02(.+)\x03"; //собственно само регулярное выражение.
f:=TStringList.Create;
f.LoadFromFile("file.txt");
while r.Exec(f.Text) do begin
//тут уже разрезанные (разделенные) рапорта, и каждый рапорт обрабатывается по очереди
raport:=r.Match[1];
if (AnsiPos(raport,"OBSERVATION")>0) then begin
//тут ещё, очень большой анализ рапорта идет, из котрого выдирается то что нужно, и как бы должно ложиться в базу данных, а пока я сделал чтобы в Memo например часть выводилась.
end;
end;

вот что то примерно типа этого, мне нужно как то программными средствами самой делфи резать рапорта по символам #2 ... #3
и потом находить, в самом рапорте, отдельные его эелементы, в принципе я это немного представляю как делать, а вот как резать :( подскажите плиззз.


 
KSergey ©   (2003-08-29 14:42) [1]

Возможно, все же проще будет пользоваться регулярными выражениями.
Настраиваться программа такая будет проще.
Тем более что не факт, что самописанный код будет работать быстрее, если в этом проблемы.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
3-33522
MakNik
2003-08-19 15:58
2003.09.11
uniqueidentifier


4-33854
boby
2003-07-08 17:27
2003.09.11
Как можно научить имя приложения через ей handle


11-33533
Igit
2003-01-03 23:26
2003.09.11
Сохранение в файл


6-33715
FireMan_Alexey
2003-06-26 16:30
2003.09.11
Помогите избавиться от ошибки (Socket error 10065)


1-33557
iNew
2003-08-29 06:10
2003.09.11
Вопрос по try...finally.




   Наверх