Недавно добавленные исходники

•  Animation Loaders  897

•  DeLiKaTeS Tetris (Тетрис)  5 848

•  TDictionary Custom Sort  7 797

•  Fast Watermark Sources  7 471

•  3D Designer  10 699

•  Sik Screen Capture  8 021

•  Patch Maker  8 227

•  Айболит (remote control)  8 279

•  ListBox Drag & Drop  7 089

•  Доска для игры Реверси  100 669

•  Графические эффекты  8 349

•  Рисование по маске  7 722

•  Перетаскивание изображений  6 322

•  Canvas Drawing  6 697

•  Рисование Луны  6 629

•  Поворот изображения  5 766

•  Рисование стержней  4 708

•  Paint on Shape  3 412

•  Генератор кроссвордов  4 395

•  Головоломка Paletto  3 540

•  Теорема Монжа об окружностях  4 342

•  Пазл Numbrix  2 813

•  Заборы и коммивояжеры  3 760

•  Игра HIP  2 530

•  Игра Go (Го)  2 532

•  Симулятор лифта  2 926

•  Программа укладки плитки  2 353

•  Генератор лабиринта  3 097

•  Проверка числового ввода  2 588

•  HEX View  2 992

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Поиск и замена текста в TMemo




procedure TForm1.FindDialog1Find(Sender: TObject);
var
  Buff, P, FT: PChar;
  BuffLen: Word;
begin
  with Sender as TFindDialog do
  begin
    GetMem(FT, Length(FindText) + 1);
    StrPCopy(FT, FindText);
    BuffLen := Memo1.GetTextLen + 1;
    GetMem(Buff, BuffLen);
    Memo1.GetTextBuf(Buff, BuffLen);
    P := Buff + Memo1.SelStart + Memo1.SelLength;
    P := StrPos(P, FT);
    if P = nil then
      MessageBeep(0)
    else
    begin
      Memo1.SelStart := P - Buff;
      Memo1.SelLength := Length(FindText);
    end;
    FreeMem(FT, Length(FindText) + 1);
    FreeMem(Buff, BuffLen);
  end;
end;

procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
begin
  with Sender as TReplaceDialog do
    while True do
    begin
      if Memo1.SelText <> FindText then
        FindDialog1Find(Sender);
      if Memo1.SelLength = 0 then
        Break;
      Memo1.SelText := ReplaceText;
      if not (frReplaceAll in Options) then
        Break;
    end;
end;





Похожие по теме исходники

Поисковик

Поиск символа

Поиск файлов

Поиск открытых файлов

 

Findup (поиск дублей)

Дейкстра: поиск кратчайшего пути

BTMemoryModule




Copyright © 2004-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

Группа ВКонтакте