Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

принцип вставления смайликов в ICQ.   Найти похожие ветки 

 
Elvis   (2005-06-03 12:43) [0]

Расскажите мне пожалуйста по какому принципу вставляются смайлики в ICQ.
И тот кто получает сообщение видит смайлик который был вставлен .....


 
dmitry501 ©   (2005-06-03 12:51) [1]

Elvis   (03.06.05 12:43)
Смайлики передаются обычними символами, например :), :( а клиент преобразует его в картинку


 
Jeer ©   (2005-06-03 12:54) [2]

:-&       лишившийся дара речи; смутившийся; косноязычный
:-р       высовывающий язык
:-s       непоследовательный, бессвязный
:-/       скептик
:-\       нерешившийся
о:-)      ангел
>:-)      дьявол
:-q       пытающийся достать языком до носа
:-а       то же самое, но с другой стороны
:-е       разочарованный
:-о       ox-ox
:-9       облизывающий губы
:-О       не ори! (также оратор)


 
Eraser ©   (2005-06-03 13:03) [3]

Elvis   (03.06.05 12:43)

То, что описАл dmitry501 ©   (03.06.05 12:51) [1] это ещё пол беды -- реализуется не так сложно, главная проблема обратный процесс, т.е. преобразование картинки в смайлик. Сам давно хочу выяснить, как это работает.


 
Digitman ©   (2005-06-03 13:09) [4]


> Расскажите мне пожалуйста по какому принципу вставляются
> смайлики в ICQ


в ICQ никакие "смайлики" не вставляются, ICQ - это сеть, работающая по спецпротоколу, в котором ни каких смайликов не было и нет.

если же под ICQ подразумевается некая программа-клиент, "умеющая" в поступающих текстовых сообщениях распознавать комбинации символов (см.выше) и интерпретировать их как команды на отрисовку в соотв.позициях соотв.смайликов, то это просто фича клиентской программы, а не ICQ вообще


 
Elvis   (2005-06-03 13:17) [5]

>>>программа-клиент, "умеющая" в поступающих текстовых сообщениях распознавать комбинации символов (см.выше) и интерпретировать их как команды на отрисовку в соотв.позициях соотв.смайликов
>>>
ну дык а как такое сделать-то??


 
Alexander Panov ©   (2005-06-03 13:20) [6]

Elvis   (03.06.05 13:17) [5]
ну дык а как такое сделать-то??


Так в чем проблема?
Алгоритм простой.
Перед передачей кода смайлика вставляешь неотображаемый символ-флажок в передаваемый поток данных.
На приемной стороне проверяй. Вот и весь алгоритм.


 
iskatel ©   (2005-06-03 15:51) [7]

на кой икс флажок? просто в полученной строчки ищешь комбинации символов образующих смайлики...


 
Alexander Panov ©   (2005-06-03 15:58) [8]

iskatel ©   (03.06.05 15:51) [7]

А на такой, что такая комбинация символов - не обязательно смайлик.


 
Eraser ©   (2005-06-03 16:00) [9]

Alexander Panov ©   (03.06.05 15:58) [8]

Не... iskatel ©   (03.06.05 15:51) [7] прав, никаких флажков там нету, т.к. даже если вручную набрать смайли - его преобразует в картинку.


 
Kerk ©   (2005-06-03 16:02) [10]

Флажков там нету :)) идет простой текст вида :) :( и и.д... как юзер миранды хорошо с этим знаком :)) Периодически набиваю вещи вроде *JOKINGLY* :))))


 
Fay ©   (2005-06-03 16:14) [11]

(.)(.) Ms. Dos


 
Alexander Panov ©   (2005-06-03 16:36) [12]

Eraser ©   (03.06.05 16:00) [9]
никаких флажков там нету, т.к. даже если вручную набрать смайли - его преобразует в картинку.


Причем здесь "Там"?
Человеу надо сделать подобную вещь, как я понимаю.
И делать надо не как там, а как правильно.


 
Игорь Шевченко ©   (2005-06-03 16:39) [13]

Alexander Panov ©   (03.06.05 16:36) [12]


> И делать надо не как там, а как правильно.


Посмотри протокол мастаковского чата. Смайлики есть, а невидимых флажков нету.


 
Eraser ©   (2005-06-03 16:43) [14]

Alexander Panov ©   (03.06.05 16:36) [12]

По той же причине, что я написал в [9] по-другому сделать нельзя, т.к. некоторым пользователям, например Kerk"у удобнее "набирать" смайлик вручную, при этом не о каких флажках не может быть и речи.

Другой вопрос это обратное преобразование. ICQ клиент (и не только, VyPress тоже так умеет) умеет "преобразовывать" картинку-смайлик в текстовый смайлик, т.е. в картинках-смайликах есть какие-то иднтификаторы... так и не разобрался как оно сделано.. если кто знает раскажите, буду очень благодарен ;-)


 
Игорь Шевченко ©   (2005-06-03 16:52) [15]

Eraser ©   (03.06.05 16:43) [14]


> это обратное преобразование


Какое обратное преобразование ? Ты о чем ? Картинки возникают только в момент отображения сообщения.


 
Eraser ©   (2005-06-03 16:55) [16]

Игорь Шевченко ©   (03.06.05 16:52) [15]

Не... когда в ICQ-клиенте в менюшке выбираешь смайлик - он появляется в тексте отправителя в ГРАФИЧЕСКОМ виде, т.е. картинкой. Если эту картинку перетащит на какой-нибудь RichEdit, например WordPad, то картинка преобразуется в текстовое представление... попробуйте.


 
Gero ©   (2005-06-03 17:00) [17]


> Alexander Panov ©   (03.06.05 16:36)

Это смотря что требуется.
Если нужно преборазование текста в смайлы — то флажки не нужны.
Если предполагается, что юзер будет каждый раз наживать «вставить смайл», то нужны. Но это не очень удобно.


 
BasiL_666_ ©   (2005-06-03 17:02) [18]

имхо, в любом случае вставляються текстовые варианты, а клиент уже сам преобразует это в картинку....


 
Eraser ©   (2005-06-03 17:06) [19]

BasiL_666_ ©   (03.06.05 17:02) [18]

Дык не везде вставляются текстовые варианты, ICQ 2003, 4, 5 видел? При нажатии "вставить смайл" вставляется картинка.


 
Игорь Шевченко ©   (2005-06-03 17:09) [20]

Eraser ©   (03.06.05 17:06) [19]


> При нажатии "вставить смайл" вставляется картинка.


Отображается, а не появляется. Почувствуйте разницу.


 
Eraser ©   (2005-06-03 17:16) [21]

Игорь Шевченко ©   (03.06.05 17:09) [20]

Дык понятно, что отображается, а перед передачей данных заменяется текстом... только где вот этот текст хранится...


 
Игорь Шевченко ©   (2005-06-03 17:20) [22]

Eraser ©   (03.06.05 17:16) [21]


>  только где вот этот текст хранится...


Внутре :) Путешествует промеж клиентом и сервером и обратно.


 
BasiL_666_ ©   (2005-06-03 17:39) [23]

либо я чего то не понимаю, либо одно из двух... вставляетсмя в любом случае текстовый вариант смайла, а клиенте он просто сразу же замещается картинкой... передается тоже текстовый вариант а в клиенте он заменяется снова на каринку.. чего тут непонятного может быть... а каких преобразованиях ваще может идти речь???7


 
Alexander Panov ©   (2005-06-03 17:44) [24]

Ну так про то и речь идет.
ICQ-клиенту без разницы, что ъхотел пользователь. Если в тексте встретится определенная комбинация символов, он смайл отобразит. Но это ведь неправильно.


 
Eraser ©   (2005-06-03 17:46) [25]

BasiL_666_ ©   (03.06.05 17:39) [23]
вставляетсмя в любом случае текстовый вариант смайла


Куда вставляется?

передается тоже текстовый вариант

Откуда передаётся?


 
Eraser ©   (2005-06-03 17:47) [26]

BasiL_666_ ©   (03.06.05 17:39) [23]

Ты хочешь сказать, что имеется скрытая копия редактора ввода, где смайлы всегда текстовые... врядли.


 
BasiL_666_ ©   (2005-06-03 17:49) [27]

куда те нада туда и вставляется (Memo, RichEdit и тд..)...
а передается по сети или по инету все зависит от клиента...
наскока я понял делается именно сообственный ICQ-клиент...


 
Eraser ©   (2005-06-03 17:51) [28]

BasiL_666_ ©   (03.06.05 17:49) [27]

Делается новая версия одной моей проги ) не, с ICQ пока не связано...


 
BasiL_666_ ©   (2005-06-03 17:52) [29]

я не понимаю а в чем может быть проблема при написание сообщения заменять их сразу на картинки??? то есть вставляется не картинка, а ее текстовый вариант.... а в клинет просто сразу распознается как смайл и заменяется картинкой....


 
Eraser ©   (2005-06-03 17:55) [30]

BasiL_666_ ©   (03.06.05 17:52) [29]
я не понимаю а в чем может быть проблема при написание сообщения заменять их сразу на картинки???


Да хочется, чтобы при написании сообщения, если выбрать в меню картинку-смайл вставлялась НЕ надпись *LOL*, а картинка, как в ICQ.


 
Игорь Шевченко ©   (2005-06-03 17:58) [31]

Eraser ©   (03.06.05 17:55) [30]

В ICQ вставляется надпись. Которая отображается, как картинка.


 
Eraser ©   (2005-06-03 18:00) [32]

Игорь Шевченко ©   (03.06.05 17:58) [31]

А как это можно самому организовать? Возможно ли это сделать на базе TJvRichEdit?


 
BasiL_666_ ©   (2005-06-03 18:01) [33]

я так полагаю это трудно реализуемо, если меня до сих пор не поняли.... вообщемто не буду спорить.. я говорил как эту проблему понимал я.... не более того...


 
Alexander Panov ©   (2005-06-03 18:09) [34]

Eraser ©   (03.06.05 18:00) [32]

Да реализвать можно как угодно.
Тот же клиент ICQ хранит информацию, связанную с любым отображаемым объектом.

Точно так же реализуется и для своей реализации.
Отрисовываешь рисунок на канве - в массиве сохраняешь свойства этого рисунка(ам же хранятся и координаты рисунка, естественно).
При начале Drag извлекатеся информация из этого массива.


 
Alexander Panov ©   (2005-06-03 18:10) [35]

Eraser ©   (03.06.05 18:00) [32]
я так полагаю это трудно реализуемо


Это не сложно.


 
Eraser ©   (2005-06-03 18:11) [36]

BasiL_666_ ©   (03.06.05 18:01) [33]

Просто в посте [29] ты напсал 2 противоречащие друг другу мысли "заменять их сразу на картинки" и "то есть вставляется не картинка, а ее текстовый вариант" прочитал это несклько раз, так и не понял, что ты имел ввиду.


 
Alexander Panov ©   (2005-06-03 18:14) [37]

Eraser ©   (03.06.05 18:11) [36]

Для того, чтобы понять раз и навсегда, поробуй определить проблемы с написанием собственного редактора. Причем использовать только канву без готовых редакторов.

Вт тогда ты поймешь, как хранятся все изображения, текст и прочие объекты в подобных приложениях.


 
Eraser ©   (2005-06-03 18:14) [38]

Alexander Panov ©   (03.06.05 18:09) [34]

О, это уже ближе к телу )
Просто хотелось бы на 100% узанть, что не сществует типовых вариантов.
А насчёт координат - опять же врядли... в том, то и проблема - идентифицировать рисунок.

Буду разбираться.


 
Eraser ©   (2005-06-03 18:16) [39]

Alexander Panov ©   (03.06.05 18:14) [37]

Класс окна ввода в ICQ 5 - RichEdit20A....


 
Alexander Panov ©   (2005-06-03 18:18) [40]

Eraser ©   (03.06.05 18:14) [38]
А насчёт координат - опять же врядли... в том, то и проблема - идентифицировать рисунок.


Ну вот. Опять снова то же самое.

В любом редакторе, который поддерживает вставку объектов, отличных от текста, необходимо сохранять информацию об этих объектах. Для этого приложение сохздает массив структур, которые связаны каждая со своим объектом.

Как минимум, в этой структуре хранятся:
 позиция для отображения на канве(x,y)
 размеры либо ссылка на исходный объект.

При любых перерисовках канвы эти сруктуры динамически изменяются для актуализации тех же координат отображения на канве.

Таким образом, приложение в любой момент времени знает, что находится в любой точке канвы, и всегда находит связанную с этой точкой структуру.



Страницы: 1 2 вся ветка

Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.041 c
14-1117391999
Layner
2005-05-29 22:39
2005.06.29
Свой макроязык


3-1116317350
pavel_guzhanov
2005-05-17 12:09
2005.06.29
Как определить, на каком столбце в DBGrid щелкнули мышью


1-1118249091
terra0
2005-06-08 20:44
2005.06.29
Динамические массивы


14-1117064673
Просто Джо
2005-05-26 03:44
2005.06.29
Киев Мастак Парти


14-1117599792
12DFBDDh
2005-06-01 08:23
2005.06.29
Техничесоке задание





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский