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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 01:30   #1
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию RichEdit(JEDI) добавление смайла между словами сообщения

В RichEdit(JEDI) вывожу сообщение, в сообщении есть ряд специальных символов которые заменяются на смайлик( ::номер_смайлика:: ), но в какое место сообщения бы я ни ставил обозначения смайлика он появляется на следующей строчке, как сделать чтобы он появлялся именно там где было его обозначение? То что нужно разделить сообщение на 2 части - часть которая шла до смайлика и часть которая идет после и поставить между ними смайлик я знаю, но проблема в том что я не знаю как добавить смайлик не на новую строчку а в строчку вместе с сообщением.

Вывод сообщения:
form9.JvRichEdit1.Lines.Add('['+formattedDateTime+']Client->Server: '+s);

Вывод смайлика:
form9.JvRichEdit1.PlainText := False;
form9.JvRichEdit1.StreamMode := [smSelection];
form9.JvRichEdit1.Lines.LoadFromStr eam(SS);
form9.JvRichEdit1.StreamMode := [];

Заранее спасибо за помощь.

Последний раз редактировалось Crystallon; 20.05.2011 в 01:32.
Crystallon вне форума Ответить с цитированием
Старый 20.05.2011, 01:33   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

SelStart, SelLength, SelText.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 23.05.2011, 16:38   #3
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Ну выделил я какой-то кусок текста и что? Мне это ничего не дает, мне нужно узнать как добавить смайлик не на новую строчку, т.е. этот код добавляет смайлик на новую строчку, как мне его изменить чтобы он добавлял смайлик на туже строчку что и сообщение?
form9.JvRichEdit1.PlainText := False;
form9.JvRichEdit1.StreamMode := [smSelection];
form9.JvRichEdit1.Lines.LoadFromStr eam(SS);
form9.JvRichEdit1.StreamMode := [];
Crystallon вне форума Ответить с цитированием
Старый 23.05.2011, 19:03   #4
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
этот код добавляет смайлик на новую строчку
Я вообще непонимаю как этот код чтото кудато добавляет.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 23.05.2011, 22:36   #5
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Я вообще непонимаю как этот код чтото кудато добавляет.
Ну да, этот код просто несколько строчек текста, но вот в сочетании с другими десятками-сотнями мегабайт текста которые составляют Borland Delphi 7 и дополнительный компонент JEDI они еще как могут что-то куда-то добавлять, но раз вы этого не понимаете то очевидно что вы к сожалению не тот человек который способен мне помочь с решением данной проблемы.
Crystallon вне форума Ответить с цитированием
Старый 23.05.2011, 22:48   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

С этой разновидностью RichEdit не знаком, но порекомендовал бы после загрузки смайлика выгрузить в rtf-формате и посмотреть какие там управляющие символы. Если избыточные #13#10 генерятся, то их можно программно удалить. В противном случае вы или свойства какие-то не учитываете, или не судьба
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.05.2011, 02:33   #7
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
С этой разновидностью RichEdit не знаком, но порекомендовал бы после загрузки смайлика выгрузить в rtf-формате и посмотреть какие там управляющие символы. Если избыточные #13#10 генерятся, то их можно программно удалить. В противном случае вы или свойства какие-то не учитываете, или не судьба
Нет, в rtf файле символы перехода на след строку отсутствуют. А по поводу того что я что-то не учитываю - я об этом и говорю, у меня сведений как работает этот компонент почти нету и яндекс ничего особо дельного по моему вопросу не выдал, наверняка там есть вариант со вставкой смайлика не на отдельную строку, он просто обязан быть, я просто о нем не знаю =\
Crystallon вне форума Ответить с цитированием
Старый 24.05.2011, 04:07   #8
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Первоначальный вопрос решен, нашел готовый вариант... Но вот вопрос - как вставить определенный текст в место где стоит каретка остается открытым, среди всех функций и процедур JvRichEdit1.Lines. я нашел только 1 подходящую мне - Insert, и та подходит только на половину(в ней можно указывать Index, как я понял это строка, но если указывать индекс уже существующей строки вставляемый текст вытесняет тот который там был на следующую а не добавляется к нему =\).
Собсно вопрос: какую функцию использовать для добавления текста в место парковки каретки или в конец определенной строки но не на следующую?
Crystallon вне форума Ответить с цитированием
Старый 24.05.2011, 09:46   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В родном RichEdit для этого предусмотрен метод SetSelTextBuf
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.05.2011, 18:41   #10
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от Crystallon Посмотреть сообщение
Ну да, этот код просто несколько строчек текста, но вот в сочетании с другими десятками-сотнями мегабайт текста которые составляют Borland Delphi 7 и дополнительный компонент JEDI они еще как могут что-то куда-то добавлять, но раз вы этого не понимаете то очевидно что вы к сожалению не тот человек который способен мне помочь с решением данной проблемы.
Если я не даю готовый код, то это не значит что я не знаю. Трудно ответить на вопрос, который ты не можешь грамотно сформулировать.

Глупых вопросов не бывает, бывают глупые люди (с)
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В строке между словами вставить зак / Евгений7777 Общие вопросы C/C++ 0 24.03.2011 17:49
В строке между словами вставить вместо пробела запятую и пробел fatorial Помощь студентам 4 31.12.2010 16:36
копирование текста между двумя словами pavel.lug Microsoft Office Word 14 28.08.2009 14:27
Как обрезать строку между двумя словами vitaleg PHP 3 28.07.2009 20:32
Разделитель между словами в запросе artemavd БД в Delphi 10 20.05.2009 18:18