Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: 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 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-33428
Доброжелатель
2003-08-22 10:43
2003.09.11
ZeosDBO


3-33487
off
2003-08-20 09:45
2003.09.11
Система упала и отжалась. Чем лечить?


1-33659
Chlavik
2003-08-28 21:20
2003.09.11
Исдевательсво над PopupMenu


7-33832
Hermit
2003-06-25 19:40
2003.09.11
Как определить версию Windows


6-33707
young_shrek
2003-07-09 13:30
2003.09.11
HTTP error message: Interface not supported