|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
25.03.2008, 20:44 | #1 |
Форумчанин
Регистрация: 04.11.2007
Сообщений: 117
|
ЧАТЮ для клиента и сервера
Ребят, вот я по необходимости я начал делать чат на Delphi7, не используя, нестандартные компоненты.
Столкнулся с парой проблем: 1)Передачу текста осуществляю через ServerSocket и ClientSocket, подключение собственно тоже через них. Решил добавить статусы. Выбор статуса я организовал так: Добавил ComboBox, содержащие список статусов и картинки, показывающие графически эти самые статусы. Вот собственно и есть проблема: "Как сделать так, чтобы при изменении статуса у собеседника отобразился мой выбранный статус, как ICQ?". 2)Также хочу добавить аватары, но как сделать, чтобы показывалась аватара и как её загрузить из файла? 3)Как организовать передачу файлов, чтобы одновременно не терялся отправленный текст? Слышал что можно текст вместе с файлами в бефер добавлять и извлекать при получении буфера, но не пойму, да и не знаю как. 4)Как сделать, чтобы в чате можно было использовать смайлы (хотя бы не анимированные), которым соответствовал бы свой код, например *:-)*? 5)Как сделать так, чтобы мой чат имел поддержку скинов. Тему создал, так как очень хотелось бы получить нормальные ответы сразу на все вопросы, да и другим пригодится. Честно говорю - поиск юзал, но не смог найти понятного. Если что, то дайте хотя-бы ссылки.
Перед тем, как выложить код, я его всегда проверяю.
Если помог - тыкни на на весы слева, под аватарой. |
26.03.2008, 15:57 | #2 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
Насчёт смайлов могу помочь
По нажатию на смайл пусть в текст edit'а вставляется чтото типа :smile: или ёще чтото. Вот так: Код:
edit1 - строка для текста Добавь 10-ок потом поствь таймер на 50-100 мс и в него: Код:
это будет заменять текст ':smile:' на твой смайл. Токо не забуть создать image1, и загрузить туда твой смайл. А вот как я реализовал "Антимат": Код:
ПыСы: Если смейлы будут в другой форме, не забуть добавить в вместо Image1.Picture.Bitmap.Handle поставить form2.Image1.Picture.Bitmap.Handle Дальше. Чтобы выделить текст жирным: Код:
Код:
Ася 363958929, email Mezhova_djsmart@mail.ru
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
26.03.2008, 15:59 | #3 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
И еще. Брость ты client socket и server socket и поставь себе i_net. и ip-адресов вводить не надо
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
26.03.2008, 16:04 | #4 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
Блин, а про саму функцию InsertBitmapToRE розказать забыл!
Скопируй это в папку с прогой. и в uses добавь Код:
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг Последний раз редактировалось Dj_smart; 26.03.2008 в 16:10. Причина: Коечто забыл |
26.03.2008, 16:13 | #5 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
Разказать по подробнее?
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
26.03.2008, 17:02 | #6 |
Форумчанин
Регистрация: 04.11.2007
Сообщений: 117
|
Dj_smart
Да, давай по-подробнее, другим тоже понадобится. И вот ещё: i_net может работать на двух компах, соединенных модемами??Есть ли к i_net учебные статьи? И где его взять?
Перед тем, как выложить код, я его всегда проверяю.
Если помог - тыкни на на весы слева, под аватарой. |
26.03.2008, 17:14 | #7 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
Нет, через модемы нет (куда вводить IP?).
Тамо всё просто. Токо надо сначала инициализировать подключение: Код:
Передача: Код:
Код:
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
26.03.2008, 17:14 | #8 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
И не забуть про "системные сообщения" (Для статусов, бана, входа, выхода прочее.
Посавь таймер на 1 сек и в него Код:
nick - это ник при самом подключении (edit) stat - это статус ника. Меня при нажатии на какую-нить кнопку. Вот: Код:
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
26.03.2008, 17:15 | #9 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
Это полный код обработчика системных сообщений^
И еще - memo1 - это richedit1 , просто имя такое 'on-line' - ктото вошёл 'exit' - тот, кто вошёл, вышел. 'dialog box' - показать всем сообщение (напр. System message dialog box !!!:Всем привет! , '!!!' означает, что сообщение будет со знаком !, ??? - со знаком ? , !Х! , со знаком Х(ошибка)) 'private' - В приват (напр. 'System message private:'+текст+' from:<'+от кого+'> to:'+<кому>; можно в приват нескольким: 'System message private:'+текст+' from:<'+от кого+'> to:'+<Чуваку1>,<Чуваку2>,<Чуваку3>; 'status' - Статус 'close all' - Все выходят 'beep' - Пикает динамик у всех 'ban' - когото банят (напр. System message ban #:<Кого банить> , вместо # если 1, то 60 сек, 2-120, 3 - 180, 4-240, 5-300, 10-600) Понятно? А насчет где найти, то он по мойму стандартный, надо прописать после {$R *.dfm} Код:
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг Последний раз редактировалось Dj_smart; 26.03.2008 в 17:42. |
26.03.2008, 17:21 | #10 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Например, блоги наших же форумчан, где они постарались осветить некоторые из вопросов, которые могут интересовать многих. В частности, как будто специально для вас есть статья, где расписан по шагам процесс создания так называемого "чата". http://www.pblog.ru/ Прямо на первой странице, третья статья сверху. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить номер клиента | leontv | Работа с сетью в Delphi | 11 | 28.03.2010 23:19 |
IP клиента | JoanM | Работа с сетью в Delphi | 13 | 01.05.2008 16:30 |
код proxy для клиента. AS3 | crazy horse | Общие вопросы Web | 0 | 03.03.2008 11:44 |
Определение IP адреса клиента | RoamingFire | Работа с сетью в Delphi | 2 | 28.02.2008 14:08 |