|
Вопрос # 4 053/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Возникла проблема при обработке строки и вставке ее в RichView
помогите разобраться
Приложение: Переключить в обычный режим- while l<=Length(ss) do
- begin
- if ss[l]='#'
- then
- begin
- ChatRichEdit.AddText(Copy(ss,0,l-1),0);
- ChatRichEdit.ReFormat;
- Delete(ss,0,l);
- for q:=1 to colSm do
- begin
- if
(copy(ss,l,Length(SmileCod[q]))=SmileCod[q])and((copy(ss,l,Length(SmileCod[q]))<>''))
- then
- begin
- ChatRichEdit.AddControlEx('',SmileImage[q] , -1, rvvaMiddle);
- ChatRichEdit.reformat;
- Delete(ss,l,Length(SmileCod[q]));
- end;
- end;
- end;
-
- l:=l+1;
- end;
 |
Вопрос задал: RazyilleR (статус: Посетитель)
Вопрос отправлен: 16 апреля 2010, 23:07
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
ChatRichEdit.AddText(Copy(ss,0,l-1),0); // <--- error
ChatRichEdit.ReFormat;
Delete(ss,0,l); // <--- error
Индекс символов строки в паскале начинается с 1, а не с 0. Учи матчасть.
Раз уж выкладываешь кусок исходника, говори, что он должен делать, что происходит на самом деле или в какой строке компилятор выдаёт ошибку и какую ошибку.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 16 апреля 2010, 23:18
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 16 апреля 2010, 23:37; участников в обсуждении: 2.
|
RazyilleR (статус: Посетитель), 16 апреля 2010, 23:20 [#1]:
5 сек исправлюсь
|
|
min@y™ (статус: Доктор наук), 16 апреля 2010, 23:32 [#3]:
И чо надо?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
RazyilleR (статус: Посетитель), 16 апреля 2010, 23:33 [#4]:
while l<=Length(ss) do
begin
ss1:=ss1+ss[l];
if ss[l]='#'
then
begin
ChatRichEdit.AddText(ss1,0);
ChatRichEdit.ReFormat;
ss1:='';
for q:=1 to colSm do
begin
if (copy(ss,l,Length(SmileCod[q]))=SmileCod[q])and((copy(ss,l,Length(SmileCod[q]))<>''))
then
begin
ChatRichEdit.AddControlEx('',SmileImage[q] , -1, rvvaMiddle);
ChatRichEdit.reformat;
Delete(ss,l,Length(SmileCod[q]));
end;
end;
end;
l:=l+1;
end;
|
|
RazyilleR (статус: Посетитель), 16 апреля 2010, 23:33 [#5]:
нужно чтоб корректно выводил строку, куда пропадает остальная часть?
|
|
min@y™ (статус: Доктор наук), 16 апреля 2010, 23:36 [#6]:
Цитата (RazyilleR):
нужно чтоб корректно выводил строку
Выводил кто? куда?
Цитата (RazyilleR):
куда пропадает остальная часть?
Остальная часть чего?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
RazyilleR (статус: Посетитель), 16 апреля 2010, 23:37 [#7]:
короче я сам догнал, вопрос снят!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|