1 / 1 / 1
Регистрация: 23.04.2013
Сообщений: 210
1

По очереди раскрасить строки RichEdit в красный цвет

01.12.2014, 00:55. Показов 2007. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне надо по очереди раскрасить строки richedit в красный. Делаю так:
Delphi
1
2
3
4
5
6
for i:=0 to form1.richedit1.lines.count-1 do
begin
  form2.RichEdit1.SelStart:=Pos(form2.RichEdit1.Lines[i], Form2.RichEdit1.text)-1;    
  form2.RichEdit1.SelLength:=Length(form2.RichEdit1.lines[i]); 
  form2.RichEdit1.SelAttributes.Color:=255;
end;
Но раскрашивает неравномерно почему-то
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2014, 00:55
Ответы с готовыми решениями:

Раскрасить строки в RichEdit
Подсчет чисел из диапазона min-max в RichEdit, вывод в Label: procedure...

Раскрасить буквы строки в синий цвет
вводится строка,все буквы "а" в этой строке должны быть синего цвета.

При включеной галочке(логическое) цвет строки менять на красный
Всем привет Есть база в Access. (указана на рисунке) Хочу зделать так чтобы при включеной...

Изменить цвет строки RichEdit
Есть код: procedure RE_SetSelBgColor(RichEdit: TRichEdit; AColor: TColor); var Format:...

3
1 / 1 / 1
Регистрация: 23.04.2013
Сообщений: 210
01.12.2014, 15:46  [ТС] 2
где я ошибку допустил? delphi 2010
0
3325 / 1512 / 235
Регистрация: 26.02.2009
Сообщений: 7,658
Записей в блоге: 5
01.12.2014, 18:45 3
Delphi
1
2
3
4
5
6
7
8
9
start := 0;
for i:=0 to form1.richedit1.lines.count-1 do
begin
  len := Length(form2.RichEdit1.lines[i]);
  form2.RichEdit1.SelStart:=start;    
  form2.RichEdit1.SelLength:=len; 
  form2.RichEdit1.SelAttributes.Color:=255;
  Inc(start, len);
end;
А так?
1
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.12.2014, 20:21 4
Цитата Сообщение от snake32 Посмотреть сообщение
А так?
через строку же надо. и start нужно не на length увеличивать, а на length()+2 - там в конце строки ещё есть пара служебных байт (#13#10)

тогда уже так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var i, start, len : integer;
begin
start := 0;
for i:=0 to richedit1.lines.count-1 do
begin
  len := Length(RichEdit1.lines[i]);
  RichEdit1.SelStart:=start;
  RichEdit1.SelLength:=len;
  if odd(i) then
     RichEdit1.SelAttributes.Color:=clRed
  else
     RichEdit1.SelAttributes.Color:=clBlue;
  Inc(start, len+2);
end;
end;
1
04.12.2014, 20:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2014, 20:21
Помогаю со студенческими работами здесь

RichEdit задать цвет строки
Добавлено через 13 минут Хочу писать в RichEdit сообщения,если ошибка,то подсвечивать её красным...

При нажатии на radiobutton3 цвет у label становится зеленым, если выбраны другие кнопки, цвет красный
При нажатии на radiobutton3 цвет у label становится зеленым, еси выбраны другие кнопки, цвет...

не печатает красный цвет
canon ip2700 не печатает красным

Откуда красный цвет?
В процедуре DrawRect специально меняю цвет, так он все равно рисует прямоугольник красным! Проверил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru