Главная страница
    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.44 MB
Время: 0.008 c
1-33562
lord
2003-08-28 23:00
2003.09.11
смена ярлыка Delphi на свой


3-33428
Доброжелатель
2003-08-22 10:43
2003.09.11
ZeosDBO


4-33839
Antipich
2003-07-12 15:14
2003.09.11
Как сэмулировать нажатие Ctrl+V


1-33652
Макс
2003-08-30 16:11
2003.09.11
активное окно


3-33501
Jurd
2003-08-20 10:25
2003.09.11
Interbase





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский