| 
| 
 | Вопрос # 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]:короче я сам догнал, вопрос снят! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |