Замена..Ну да..Я извращенец..Ну что теперь поделаешь?!
Код:
function Search_And_Replace(RichEdit1: TRichEdit; SearchText, ReplaceText: string): Boolean;
var
startpos, Position, endpos: integer;
begin
startpos := 0;
with RichEdit1 do
begin
endpos := Length(RichEdit1.Text);
Lines.BeginUpdate;
while FindText(SearchText, startpos, endpos, [stMatchCase])<>-1 do
begin
endpos := Length(RichEdit1.Text) - startpos;
Position := FindText(SearchText, startpos, endpos, [stMatchCase]);
Inc(startpos, Length(SearchText));
SetFocus;
SelStart := Position;
SelLength := Length(SearchText);
richedit1.clearselection;
SelText := ReplaceText;
end;
Lines.EndUpdate;
end;
end;
Вызываем функцию
Код:
Search_And_Replace(Richedit1,что,чем);
и таких вот строчек у меня...уже более 610. И это уже не мой тупизм. Дело тут в том, что при проходе по тексту (который очень похож на ошибки при сканировании, но увы, является совсем другим, т.к. образец приложен, чтобы понять задачу, но исходный файл имеет гораздо больше ошибок, и получен ввиду человеческой ошибки
),
Так вот, при замене списка столько проходов по нему надо чтобы полностью были произведены все замены.
Т.е. в списке скажем есть "ТАКОЙ, ВОТ, ТЕКСТ. .,. . . .,, ... ," И просто заменяя ".." на "." мы рано или поздно опять получем путем сокращения этих ".." в конце еще ".." и по ".." придется искать еще раз. А таких как ".." масок у меня 400. Жесть в общем.