Показать сообщение отдельно
  #1  
Старый 28.06.2014, 07:19
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию Lazarus и RichMemo

Суть вопроса: Необходимо добавлять строку за строкой, меняя ее стиль.
Строки добавляются, стили задаются. Но не так как хотелось бы. из двух строк меняется только последняя. В чем может быть проблема?
Код:
//Добавление текста
procedure AddText;
var
  n: integer;
begin
  n := MainForm.MemoRez.SelStart;
//добавляем в мемо еще строку
  MainForm.MemoRez.Lines[MainForm.MemoRez.Lines.Count-1] :=
    MainForm.MemoRez.Lines[MainForm.MemoRez.Lines.Count-1]+' '+text;

     // Читаем атрибуты
    MainForm.MemoRez.GetTextAttributes(n, fp);
  //Устанавливаем значения
  if Color<>'' then
    fp.Color :=ConvertHtmlHexToTColor(Color);
    Color:='';
  if Size<>'' then
    fp.Size := StrToInt(Size);
    Size:='';
  //Впихиваем в мемо указанные атрибуты
  MainForm.MemoRez.SetTextAttributes (n,Length(Text),fp);
    text:='';

  //Ставим курсор
  MainForm.MemoRez.SetFocus;
end;
Ответить с цитированием