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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2010, 13:18   #1
kaizer131
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 52
Вопрос почему не выделяется текст в RichEdit?

Не могу понять , почему при нажатии кнопки в рич эдите подстрока выделяется только в первой строке, хотя проверенно что цикл проходит все строки текста. Работаю в 2009 Delphi

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,RichEdit, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    RichEdit1: TRichEdit;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var j:integer;
s:string;
begin
for j:=0 to RichEdit1.Lines.Count-1 do
begin
  s:= RichEdit1.Lines[j] ;
  RichEdit1.SelStart:= pos(Edit1.Text,s)-1;
  RichEdit1.SelLength:=length(Edit1.Text);
  RichEdit1.SelAttributes.Color:= clRed;
end;
end;

end.
Движение - жизнь. Остановка - ... ?
kaizer131 вне форума Ответить с цитированием
Старый 12.04.2010, 14:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А нельзя по-моему в РичЭдите выделять несколько блоков.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.04.2010, 14:19   #3
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var j,l:integer;
s:string;
begin
for j:=0 to RichEdit1.Lines.Count-1 do
begin
  s:= RichEdit1.Lines[j] ;
  l := Pos(Edit1.Text,s);
  if l <> 0 Then
  begin
   RichEdit1.SelStart:= l-1;
   RichEdit1.SelLength:=length(Edit1.Text);
   RichEdit1.SelAttributes.Color:= clRed;
   Exit
  end  
end;
end;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 12.04.2010, 14:22   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Вы поиском попробуйте. Хотя мы с вами уже общались на эту тему. А таким способом и у меня не работает (В D2006)
SERG1980 вне форума Ответить с цитированием
Старый 12.04.2010, 14:53   #5
kaizer131
Пользователь
 
Регистрация: 21.03.2009
Сообщений: 52
По умолчанию

Цитата:
Сообщение от bitSoft Посмотреть сообщение
Код:
procedure TForm1.Button1Click(Sender: TObject);
var j,l:integer;
s:string;
begin
for j:=0 to RichEdit1.Lines.Count-1 do
begin
  s:= RichEdit1.Lines[j] ;
  l := Pos(Edit1.Text,s);
  if l <> 0 Then
  begin
   RichEdit1.SelStart:= l-1;
   RichEdit1.SelLength:=length(Edit1.Text);
   RichEdit1.SelAttributes.Color:= clRed;
   Exit
  end  
end;
end;
не работает , тоже выделяется только первая строка

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
Вы поиском попробуйте. Хотя мы с вами уже общались на эту тему. А таким способом и у меня не работает (В D2006)
Да уж, я так и не понял из за чего код скомпилированный в 2009 не работает, а Ваш ЕХЕ , скомпилированный в 2006 рабочий
там же Perform осуществляет поиск ?
Движение - жизнь. Остановка - ... ?

Последний раз редактировалось Stilet; 12.04.2010 в 15:05.
kaizer131 вне форума Ответить с цитированием
Старый 12.04.2010, 15:23   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

а вам принципиально D2009 использовать? Я пока об этой версии мало хорошего слыхал + гемор добавился со "стрингами". Если есть возможность попробуйте либо D7 или D2006. D2007 тоже не доделанная, в ней нет удалённого модуля данных. По мне так D2006 самая удачная версия из 2005-2010
SERG1980 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цветной текст RichEdit KoBRaAndrey Общие вопросы Delphi 17 13.12.2009 17:52
RichEdit : Текст с новой строчки! Fezilk Общие вопросы Delphi 3 28.08.2009 23:31
при наведении на один текст, выделяется другой bogachev JavaScript, Ajax 1 17.04.2009 16:48
Выделенный текст в RichEdit Andr Компоненты Delphi 1 20.08.2007 20:53
текст в richedit по ширине *Devil* Компоненты Delphi 1 15.06.2007 16:27