![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти далее при помощи pos? [D6, Win95/98]
Delphimun © (2002-01-07 11:55:00)Как найти далее при помощи pos?
Вот способ, который находит только одно искомое слово, а как искать следующее слово(аналог ныйти далее в блокноте windows-а)
if pos(finddialog1.FindText,RichEdit1.Text)<>0 then
begin
RichEdit1.HideSelection := false;
RichEdit1.SelStart := pos(finddialog1.FindText,RichEdit1.Text)-1;
RichEdit1.SelLength := length(finddialog1.findtext);
Delphimun (2002-01-08 13:45:00) [21]а работать пропорциями для меня не совсем выгодно, т.к нужно
обрабатывать очень большое кол-во текста
Пример мне нужен с кодом Андрея Сенченко.
Delphimun (2002-01-08 13:43:00) [22]я не совсем понял, напишите пожалуйста пример, с моим кодом(который выше),
Юрий Зотов (2002-01-08 11:04:00) [23]Как легко заметить, помещая код Андрея Сенченко в цикл от 1 до N, находим то самое N-е вхождение. А помещая в цикл while, находим все вхождения. И при этом исходная строка остается неизменной.
Андрей Сенченко (2002-01-08 10:23:00) [24]a := pos("a",str);
b := pos("b",Copy(str,a,(length(str)-pos("a",str));
Примерно так. Но еще нужно учесть ЧТО возвращает pos() и расставить +-1 во второй строке в нужных местах
marat_from_tomsk (2002-01-08 05:16:00) [25]работай порциями
после того как нашел первое вхождение
удали обработанную порцию и ищи дальше ...
или поищи требуемую функцию
вот например в FoxPro есть подходящая функция
найти n-ое вхождение
Delphimun (2002-01-07 18:22:00) [26]мне нужно искать в файловой переменной, а не в richedit-е, загружать текст в richedit не могу, т.к его модуль много места кушает. Нужно всё сделать при помощи pos
NDeu (2002-01-07 16:55:00) [27]В Help-e TCustomRichEdit.FindText ест Example
Delphimun (2002-01-07 14:26:00) [28]Простой же вопрос много раз в форуме был, я просто найти не могу наверняка многие знают