Главная страница
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.057 c
3-1125462043
MadGhost
2005-08-31 08:20
2005.10.09
Как пройтись по записям ADODataSet ?


3-1125088546
RayGun
2005-08-27 00:35
2005.10.09
Выбор механизма доступа к БД


2-1125520480
tamara
2005-09-01 00:34
2005.10.09
align left ,align right


3-1125252147
SergP
2005-08-28 22:02
2005.10.09
Увеличение размера базы ACCESS после открытия представления


1-1125501595
Dmitrich
2005-08-31 19:19
2005.10.09
Загрузка потока в Excel