|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.01.2010, 15:57 | #1 |
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Как это сделать?
И снова добрый день.
Есть RichEdit. А нужно реализовать отображение смайлов. Я создаю что-то на подобии локального чата, и дошло дело до смайлов. Пытался реализовать с помощью InsertBitmapToRE (re_bmp.dcu), но функция вставляет смайл в поле ввода текста, а с параметром ClientSocket.Socket.Send не переходит в чат, а просто на месте изображения пустота. Так что решил позаимствовать функцию смайлов как в p2p сетях: 1. При нажатии на иконку смайла в поле ввода заносится его "строка", которая является названием. К примеру, нажимая на в поле ввода идёт "...=)...", а не изображение. 2. При отправке сообщения, в RichEdit все указаные в массиве смайлы заменяются на изображения (почему в массиве, потому как смайлик то не один будет, а легче держать инфу так). Помогите такое сделать? Процедуру можно поставить на таймер, но нужна еще сама процедура, которая будет менять найденые указаные символы в RichEdit и есть находит - заменять на изображение (желательно на изображение из ImageList) P.S. Еще есть БОЛЬШАЯ проблема: res:=Pos(BadWord[i],username.text); Error: Missing operator of semicolon; Почему при проверке пишет такое?? Нужен оператор разделения (кома или тп). Ставлю точку - пишет что нужен тип Array. А раньше такого небыло. Почему?
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); Последний раз редактировалось Sensizu; 02.01.2010 в 16:11. |
02.01.2010, 16:02 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
В Delphi Russian Knowledge Base описано как вставлять в RichEdit bmp'шки. Код примера слишком большой, чтобы писать его здесь. Скачай себе DRKB, там есть много советов как по RichEdit (и про подсветку тоже) так и вообще по компонентам и Дельфи.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
02.01.2010, 16:45 | #3 |
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Я Вам безгранично благодарен! =)
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); |
02.01.2010, 17:34 | #4 |
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Если чесно, почитав около 3-4 вариаций "как вставить бмп в ричедит", нужного так и не нашёл(
Кругом не то, кругом InsertBitmapToRe, а мне нужно клиенту через сокет послать смайлик (причем смайли к в сообщении, если бы просто картинку я бы использовал потоки), а серверу показать смайлик именно в ТОМ месте где он и был вставле в поле ввода. Так как?
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); |
02.01.2010, 17:39 | #5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Сначала нужно определиться с целями - Вам картинку в RichEdit или сокету послать? Если Вы не заметили, то вообще-то это совершенно два разных вопроса, не имеющих отношения друг к другу. Вам нужно было вставить картинку, я предложил вариант где взять. В виде чего передается информация?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
02.01.2010, 18:04 | #6 |
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Ну, если мой вопрос непонятен - значит я его непонятно сформулировал.
Ладно, просто скажу: Нужно сделать таймер, который будет искать в строках RichEdit'a текст "=)" и заменять его на изображение (желательно из ImageList).
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); Последний раз редактировалось Sensizu; 02.01.2010 в 18:33. |
03.01.2010, 10:26 | #7 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 215
|
http://www.bsalsa.com/Downloads/Rich...o_Exe_File.zip
не знаю как они это сделали, но думаю, что покопав можно повторить (demo - insert smiles) А вообще, если бы вы нормально назвали тему, то внизу было бы полно похожих http://www.programmersforum.ru/showthread.php?t=60792 http://www.trichview.com/forums/viewtopic.php?t=63 http://www.programmersforum.ru/showthread.php?t=6516 http://www.programmersforum.ru/showthread.php?t=38369 зы: а вообще поиск по ключевому слову смайлы рулит..
[Ferox]
|
03.01.2010, 15:58 | #8 |
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Пересмотрел все вышеуказаные ссылки. Ничего нужного мне нет.
Там другой смысл - постить смайлы при отправке. Мне же нужно находить символы смайлов в RichEdit и заменять на картинку. Да, в одном из премеров хорошо описан массив со смайлами и кодами, но функция парсинга имеет лишних (для меня) строк 90%, а самому оставить нужное не получается. (да и пример с англоязычного сайта идёт с компонентов TRichView, а у меня RichEdit, и желательно его оставить). Очень прошу, даже если такая тема и поднималась (хотя я не знаю), лишний раз ткнуть пальец м нужное, или написать код. Я сомневаюсь что это грань фантастики заменять кусок текста на картинки, но у меня для этого опыта еще не хватает. Заранее спасибо.
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); |
03.01.2010, 16:07 | #9 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 215
|
Насчёт опыта сюда
Ищите смайлы после отправки ( '=)', ':d' или другие) и заменяйте их. Можно даже не по таймеру, а по приходу / уходу сообщения (при изменении текста в ричЕдит на худой конец). Можно посмотреть ваши наработки и что конкретно не работает?! А ещё можно посмотреть здесь, здесь, а ещё конкретнее разверните спойлер во втором посте.
[Ferox]
Последний раз редактировалось postal2; 03.01.2010 в 16:10. |
03.01.2010, 16:18 | #10 | ||||
Otsukitakitte
Форумчанин
Регистрация: 01.10.2009
Сообщений: 126
|
Сейчас дам мои наработки, хотя их почти нет (на счёт смайлов).
1. Список смайлов хранится в отдельной форме. При нажатии на смайл пользуюсь такой процедурой: Цитата:
Цитата:
Пока что работает только это. Дальше пытаюсь заменить на картинку как-то так: Цитата:
Процедуру вставки картинки на место найденого кода FindAt еще не придумал.. Пробывал InsertBitmapToRE, но проблематично разделить сообщение ДО смайла и ПОСЛЕ (особенно если смайлов больше чем один). Выше рассмотрел только вариант для смайла "=)", а вообще планировал деражать их в массиве: Цитата:
Помог - ставь плюс.
$("question").onAnswer(function() { $(this).getItWright(true); }); |
||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подскажите как это сделать | loidxxx | Microsoft Office Access | 3 | 19.09.2009 11:00 |
Как такое сделать (извените. но даже не знаю как это называется) | Van'Denis | HTML и CSS | 3 | 30.08.2009 10:46 |
как это сделать? | DeDoK | Общие вопросы Delphi | 2 | 11.07.2008 04:41 |
Не знаю как это сделать:) | LSDkltn | БД в Delphi | 2 | 09.11.2007 13:39 |