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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2008, 11:23   #1
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
Печаль Алгоритмическая ошибка.помогите.

Вот код и что выходит:
Код:
procedure TMForm.AddSoob(MTxt:string;REdit:TsRichEdit);
Begin
//Ñèñòåìà
 REdit.SelStart:=pos('[',MTxt)-1;
 REdit.SelLength:=pos(']',MTxt);
 REdit.SelAttributes.Color:=SysColor.ColorValue;
 REdit.SelAttributes.Size:=SysSize.Value;
 REdit.SelAttributes.Name:=SysFont.Text;
//Íèê
 REdit.SelStart:=pos(']',MTxt);
 REdit.SelLength:=pos(':',MTxt)-pos(']',MTxt)-1;
 REdit.SelAttributes.Color:=NikColor.ColorValue;
 REdit.SelAttributes.Size:=NikSize.Value;
 REdit.SelAttributes.Name:=NikFont.Text;
//Ñîîáùåíèå
 REdit.SelStart:=pos(':',MTxt);
 REdit.SelLength:=Length(MTxt)-pos(':',MTxt);
 REdit.SelAttributes.Color:=NikColor.ColorValue;
 REdit.SelAttributes.Size:=NikSize.Value;
 REdit.SelAttributes.Name:=NikFont.Text;
//Äîáàâëåíèå
 REdit.Lines.Insert(0,MTxt);
End;
Изображения
Тип файла: bmp error_add.bmp (34.6 Кб, 129 просмотров)
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 07.04.2008, 13:31   #2
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

и что ? ......
как должно быть ?
какие были параметры ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 07.04.2008, 15:34   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Может всеже сначала строку добавить в ричэдит, а потом только её форматировать?
pu4koff вне форума Ответить с цитированием
Старый 07.04.2008, 16:37   #4
LeoN
Форумчанин
 
Аватар для LeoN
 
Регистрация: 03.11.2006
Сообщений: 278
По умолчанию

В строке должно быть 3 цвета:
[] один
от ] до : второй
после : - 3й
Местами менял, результат тот же.
Разработка сайтов -дело прикольное
LeoN вне форума Ответить с цитированием
Старый 07.04.2008, 23:46   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Вот такой способ, работает 100%(если меджду "["и"]" не будет ":", то будет всё нормально):

Код:
Procedure AddStr(RE :TRichEdit; Txt :TCaption; Sys, Nik, Txtt :TFont);
var All :LongInt;
begin
 IF Txt='' Then Exit;
  All := Length(Re.Text);
 Re.Lines.Add(Txt);
 // Чего-то, например время
 Re.SelStart := Pos('[', Txt) + All;
 Re.SelLength := Pos(']', Txt) - (Pos('[', Txt)+1);
 Re.SelAttributes.Color := Sys.Color;
 Re.SelAttributes.Size := Sys.Size;
 Re.SelAttributes.Name := Sys.Name;
 Re.SelAttributes.Style := Sys.Style;
 // НИК
 Re.SelStart := Pos(']', Txt) + All;
 Re.SelLength := Pos(':', Txt) - (Pos(']', Txt)+1);
 Re.SelAttributes.Color := Nik.Color;
 Re.SelAttributes.Size := Nik.Size;
 Re.SelAttributes.Name := Nik.Name;
 Re.SelAttributes.Style := Nik.Style;
 // Текст
 Re.SelStart := Pos(':', Txt) + All;
 Re.SelLength := Length(Txt) - Pos(':', Txt);
 Re.SelAttributes.Color := Txtt.Color;
 Re.SelAttributes.Size := Txtt.Size;
 Re.SelAttributes.Name := Txtt.Name;
 Re.SelAttributes.Style := Txtt.Style;
end;
____________________________________________________
Alter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите определить, в чем ошибка! Kirill90 Паскаль, Turbo Pascal, PascalABC.NET 10 07.07.2008 08:52
Ошибка C2248. Помогите исправить Ascor Общие вопросы C/C++ 2 03.06.2008 00:56
Помогите, ошибка в программе. делфи Absent Помощь студентам 5 18.12.2007 17:36
Помогите Ошибка Unterminated string! muravey Помощь студентам 9 05.11.2007 12:11
Ошибка в SQL запросе. Помогите найти. beginner Помощь студентам 4 30.05.2007 10:08