Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Memo   Найти похожие ветки 

 
HunTeR_IzV ©   (2005-08-31 20:33) [0]

В поле Memo1 надо найти определенный текст, после которого сдвинуть каретку на заданное заранее колличество символов, скопировать идущий дальше текст в буфер, вставить в поле Memo2 и повторять до самого конца Memo1... Все найденные мной алгоритмы поиска по Memo ничего толком не дали :( Может, искал плохо. Помогите, плиз, хоть частично


 
Dispirited Zeqfreed   (2005-08-31 21:40) [1]

HunTeR_IzV ©   (31.08.05 20:33)

Вот код, делает то, что ты написал, насколько я это все понял:
function PervertedMemoSearching(const TextToFind : String;
                               const MemoSrc, MemoDst : TMemo;
                               const ClearDest : boolean = true) : boolean;
const
MoveBy_value = 3;
var
p : Integer;
MemoText : String;
begin
Result := false;
if ClearDest then MemoDst.Clear;

MemoText := MemoSrc.Text;

p := Pos(TextToFind, MemoText);
while (p > 0) do begin
 MemoSrc.SelStart := p + MoveBy_value + length(TextToFind);
 MemoSrc.SelLength := 0;

 MemoText := Copy(MemoText, MemoSrc.SelStart, length(MemoSrc.Text));
 MemoDst.Text := MemoDst.Text + MemoText;

 p := Pos(TextToFind, MemoText);
end;
end;


Теперь вопросы, которые у меня возникли:
Какой смысл в передвигании каретки? Если ты думаешь, что это необходимо для копирования или поиска - это не так.


> скопировать идущий дальше текст в буфер

Идущий дальше до конца текста в мемо или он дожен заканчиваться какой-то определенной последовательностью символов?


> Все найденные мной алгоритмы поиска по Memo

А какие алгоритмы ты нашёл?


 
Dispirited Zeqfreed   (2005-08-31 21:44) [2]

Dispirited Zeqfreed   (31.08.05 21:40) [1]
Ой. Хотел придать изменению позиции каретки хоть какой-то смысл - в итоге она не корректно будет двигаться относительно найденного текста в мемо. Но код, в общем, работает :) Т.е. если смысл именно в передвижении каретки, то нужно внести пару изменений ;))



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

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

Наверх




Память: 0.47 MB
Время: 0.05 c
8-1116243660
Fl@sh
2005-05-16 15:41
2005.10.09
Прозначный BitMap


3-1125041082
ААР
2005-08-26 11:24
2005.10.09
Описание таблицы Btrieve


14-1127307165
Prohodil Mimo
2005-09-21 16:52
2005.10.09
как определить language for non-Unicode programs ?


10-1103202378
Rext
2004-12-16 16:06
2005.10.09
DCOM-клиент и поток


11-1107776333
ser_ker
2005-02-07 14:38
2005.10.09
Что случилось с разделом KOL ?