Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 053

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Возникла проблема при обработке строки и вставке ее в RichView
помогите разобраться

Приложение:
  1. while l<=Length(ss) do
  2. begin
  3. if ss[l]='#'
  4. then
  5. begin
  6. ChatRichEdit.AddText(Copy(ss,0,l-1),0);
  7. ChatRichEdit.ReFormat;
  8. Delete(ss,0,l);
  9. for q:=1 to colSm do
  10. begin
  11. if (copy(ss,l,Length(SmileCod[q]))=SmileCod[q])and((copy(ss,l,Length(SmileCod[q]))<>''))
  12. then
  13. begin
  14. ChatRichEdit.AddControlEx('',SmileImage[q] , -1, rvvaMiddle);
  15. ChatRichEdit.reformat;
  16. Delete(ss,l,Length(SmileCod[q]));
  17. end;
  18. end;
  19. end;
  20.  
  21. l:=l+1;
  22. end;


RazyilleR Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: 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

RazyilleR (статус: Посетитель), 16 апреля 2010, 23:20 [#1]:

5 сек исправлюсь
RazyilleR

RazyilleR (статус: Посетитель), 16 апреля 2010, 23:27 [#2]:

имеется строка в которой имеется текст и коды смайликов
например:"ПРИВЕТ#:)#ПРИВЕТ
РЕЗУЛЬТАТ:"ПРИВЕТ#:)"
min@y™

min@y™ (статус: Доктор наук), 16 апреля 2010, 23:32 [#3]:

И чо надо?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RazyilleR

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

RazyilleR (статус: Посетитель), 16 апреля 2010, 23:33 [#5]:

нужно чтоб корректно выводил строку, куда пропадает остальная часть?
min@y™

min@y™ (статус: Доктор наук), 16 апреля 2010, 23:36 [#6]:

Цитата (RazyilleR):

нужно чтоб корректно выводил строку

Выводил кто? куда?

Цитата (RazyilleR):

куда пропадает остальная часть?

Остальная часть чего?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RazyilleR

RazyilleR (статус: Посетитель), 16 апреля 2010, 23:37 [#7]:

короче я сам догнал, вопрос снят!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:45
Выполнено за 0.03 сек.