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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2010, 12:32   #1
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
Радость Редактирование стиля текста побуквенно...как?

Здравствуйте, ищу компонент, типа RE в котором можно редактировать стили текста не построчно, а побуквенно. Есть ли такой? или быть может в RE возможно задавать стили текста побуквенно?
ПРИМЕР
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 06.08.2010, 12:49   #2
aRise
Пользователь
 
Регистрация: 06.08.2010
Сообщений: 11
По умолчанию

в ричедит и можно...
RichEdit1->SelAttributes->Color = clRed;
изменит цвет выделеной части текста на красный.
с остальным разберешься..
aRise вне форума Ответить с цитированием
Старый 06.08.2010, 13:19   #3
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Так можно сделать подсветку?

Последний раз редактировалось VintProg; 06.08.2010 в 13:27.
VintProg вне форума Ответить с цитированием
Старый 06.08.2010, 13:31   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
MyLastHit
Говорят есть какой-то SynEdit. А чем РичЭдит не устроил?
Цитата:
Так можно сделать подсветку?
Вполне.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.08.2010, 14:02   #5
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

SelAttributes - не понятный какой то.
VintProg вне форума Ответить с цитированием
Старый 07.08.2010, 15:36   #6
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit1.SelStart := 0;
  RichEdit1.SelLength := 1;
  RichEdit1.SelAttributes.Color := clBlack;

  RichEdit1.SelStart := 1;
  RichEdit1.SelLength := 1;
  RichEdit1.SelAttributes.Color := clRed;

  RichEdit1.SelStart := 2;
  RichEdit1.SelLength := 1;
  RichEdit1.SelAttributes.Color := clGray;

  RichEdit1.SelStart := 3;
  RichEdit1.SelLength := 1;
  RichEdit1.SelAttributes.Color := clBlue;

  RichEdit1.SelStart := 4;
  RichEdit1.SelLength := 1;
  RichEdit1.SelAttributes.Color := clBlack;

  RichEdit1.SelStart := 5;
  RichEdit1.SelLength := 1;
  RichEdit1.SelAttributes.Color := clYellow;
end;
В RichEdit помещаешь слово ПРИМЕР
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 07.08.2010, 15:45   #7
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Циклом бы это все оформить... Типа что-то
Код:
.........
//получаем текст в stLine
RichEdit1.SelLength:=1;
for i:=0 to Length(stLine)-1 do
  begin
    RichEdit1.SelStart:=i+//возможно смещение текста в RichEdit;  
    RichEdit1.SelAttributes.Color:=//тут можно задать цвет через индекс...
  end
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 07.08.2010, 15:59   #8
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
Циклом бы это все оформить... Типа что-то
Код:
.........
//получаем текст в stLine
RichEdit1.SelLength:=1;
for i:=0 to Length(stLine)-1 do
  begin
    RichEdit1.SelStart:=i+//возможно смещение текста в RichEdit;  
    RichEdit1.SelAttributes.Color:=//тут можно задать цвет через индекс...
  end
Я писал свой пример, чтобы человеку было понятно, как это работает.
А чего ты свой пример до конца не дописал, может он не работает?))
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 07.08.2010, 16:01   #9
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

И у тебя ошибка, SelLength надо в цикле писать... Сам проверь
вот твой код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  stLine: string;
  ColorR: TColor;
begin
  stLine := RichEdit1.Lines.Strings[0];
  RichEdit1.SelLength:=1;

  for i:=0 to Length(stLine) - 1 do
  begin
    RichEdit1.SelStart:= i; //возможно смещение текста в RichEdit;

    case i of
      0: ColorR := clRed;
      1: ColorR := clBlue;
      2: ColorR := clBlack;
      3: ColorR := clGreen;
      4: ColorR := clYellow;
      5: ColorR := clSilver;
    end;

    RichEdit1.SelAttributes.Color := ColorR //тут можно задать цвет через индекс...
  end;

end;
А вот как надо:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  stLine: string;
  ColorR: TColor;
begin
  stLine := RichEdit1.Lines.Strings[0];


  for i:=0 to Length(stLine) - 1 do
  begin
    RichEdit1.SelStart:= i; //возможно смещение текста в RichEdit;
    RichEdit1.SelLength:=1;
    case i of
      0: ColorR := clRed;
      1: ColorR := clBlue;
      2: ColorR := clBlack;
      3: ColorR := clGreen;
      4: ColorR := clYellow;
      5: ColorR := clSilver;
    end;

    RichEdit1.SelAttributes.Color := ColorR //тут можно задать цвет через индекс...
  end;

end;
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 07.08.2010, 16:07   #10
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от chertovich Посмотреть сообщение
SelLength надо в цикле писать...
В данном контексте программы RichEdit1.SelLength:=1 - это инвариантное вычисление, которое не зависит от параметра цикла, поэтому его можно выкинуть за тело цикла....
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сброс цвета некоторых слов при изменении стиля текста 3D.KENWOOD Microsoft Office Word 11 23.06.2010 20:42
VirtualStringTree и редактирование текста ячейки Шульц Общие вопросы Delphi 7 10.11.2009 19:30
редактирование текста в блокноте. Kio Помощь студентам 16 21.07.2008 17:02
Редактирование текста в Delphi Edo Помощь студентам 5 22.04.2008 08:18
Редактирование текста. Нужна помощь! quf Паскаль, Turbo Pascal, PascalABC.NET 3 12.04.2008 08:53