Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2012, 18:43   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Как переделать функцию замены слов в тексте?

Добрый вечер! Есть такая функция, которая заменяет прекрасно все слова в RichEdit:
Код:
function Search_And_Replace(sRichEdit1: TRichEdit; SearchText, ReplaceText: string): Boolean;
var
  startpos, Position, endpos: integer;
begin
  startpos := 0;
  with Form1.sRichEdit1 do
  begin
    endpos := Length(Form1.sRichEdit1.Text);
    Lines.BeginUpdate;
    while FindText(SearchText, startpos, endpos, [stMatchCase]) <> - 1 do
    begin
      endpos   := Length(Form1.sRichEdit1.Text) - startpos;
      Position := FindText(SearchText, startpos, endpos, [stMatchCase]);
      Inc(startpos, Length(SearchText));
      SetFocus;
      SelStart  := Position;
      SelLength := Length(SearchText);
      Form1.sRichEdit1.clearselection;
      Form1.sRichEdit1.SelText;
      SelText := ReplaceText;
    end;
    Lines.EndUpdate;
  end;
end;
Прошу помощи: как переписать эту функцию, чтобы она работала также в компоненте SRichViewEdit? Или может есть такой же аналог?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 28.05.2012, 19:21   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Я удивлен.

Сложно заменить упеминания на свои?
Код:
function Search_And_Replace(sRichEdit1: TRichEdit; SearchText, ReplaceText: string): Boolean;
var
  startpos, Position, endpos: integer;
begin
  startpos := 0;
  with Form1.sRichEdit1 do
  begin
    endpos := Length(Form1.sRichEdit1.Text);
    Lines.BeginUpdate;
    while FindText(SearchText, startpos, endpos, [stMatchCase]) <> - 1 do
    begin
      endpos   := Length(Form1.sRichEdit1.Text) - startpos;
      Position := FindText(SearchText, startpos, endpos, [stMatchCase]);
      Inc(startpos, Length(SearchText));
      SetFocus;
      SelStart  := Position;
      SelLength := Length(SearchText);
      Form1.sRichEdit1.clearselection;
      Form1.sRichEdit1.SelText;
      SelText := ReplaceText;
    end;
    Lines.EndUpdate;
  end;
end;
Человек_Борща вне форума Ответить с цитированием
Старый 28.05.2012, 19:40   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Коллега, перечитай еще раз внимательно последнее мое предложение в посте №1))). Как эту функцию вызвать я и сам знаю:
Код:
SearchAndReplace(Form1.sRichEdit1,'Текст1','Текст2');
Вопрос не в этом, а в том
Цитата:
как переписать эту функцию, чтобы она работала также в компоненте SRichViewEdit?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 28.05.2012, 21:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для этого нужно знать как работает SRichViewEdit
Я к примеру не знаю
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.05.2012, 17:37   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Там просто так не получится поменять
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как настроить функцию поиска и замены alexp21 Microsoft Office Excel 1 03.04.2012 15:03
Программа замены слов alt11 Софт 17 02.11.2011 23:36
количество слов в тексте almareta Помощь студентам 3 01.04.2010 20:59
Макрос для поиска и замены слов на слова с верхним подчеркиванием salvafion Microsoft Office Word 4 07.09.2009 19:14
Составить в алфавитном порядке список всех слов, встречающихся в тексте, и количество этих слов. KAPAHDAW Паскаль, Turbo Pascal, PascalABC.NET 2 17.02.2009 01:19