Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 12.04.2010, 13:18   #1
kaizer131
Форумчанин
 
Регистрация: 21.03.2009
Сообщений: 52
Репутация: 10
Вопрос почему не выделяется текст в 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,957
Репутация: 6832
По умолчанию

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

icq: 625367409 Отправить сообщение для bitSoft с помощью Yahoo
skype: bitSoft.1991
По умолчанию

Код:

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,813
Репутация: 717
По умолчанию

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

Цитата:
Сообщение от 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,813
Репутация: 717
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цветной текст RichEdit KoBRaAndrey Общие вопросы Delphi 17 13.12.2009 18: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


05:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru