Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> чат на VB 
:(
    Опции темы
striker
Дата 4.8.2005, 05:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как-то раз возникло желание написать свой чат (во-первых надо было решить проблему общения в локальной сети, а во-вторых, было самому интересно, смогу ли я). Начал писать... Писал на VB6.0! Мог конечно и на Delphi, но отдал предпочтение именно VB из-за легкости ну и т.д. Для обмена сообщениями использовал компонент dsSocket Winsock Custom Control. В версии 0.1 моего чата уже всё довольно нормально работало, но захотелось большего! Захотел я сделать так, чтобы ползователи сами выбирали цвет своего ника. Пришлось менять стандартный textbox на richtextbox. Всё сделал! Работает! И опять мне показалось мало! Захотелось сделать еще и смайлики. Вот тут и появились первые проблемы! Не нашёл я функции, чтоб картинка из файла сама подгружалась в richtextbox. Пришлось идти обходными путями! Сделал прогу text1.text=richtextbox1.textRTf! Суть вот в чём! Короче переводишь картинку в текст (теги rtf), создаёшь в проекте чата текстовое поле, куда и заносишь эти rtf-теги. Когда надо было вставить смайл, то методом selRTF вставлялся этот текст! Всё бы хорошо, но вот когда стало много смайлов, то управляться с ними стало сложно! Сколько смайлов, столько и текстовых полей соотвественно. Вот такой вот корявый способ! Может кто знает другой способ. Хотелось бы, чтобы смайлы вставлялись из файла-картинки!

И еще одна проблема... Короче в richtextbox можно растягивать картинки! Это хотя не такая уж и проблема, но хотелось бы, чтобы картинки нельзя было растягивать! Посоветуйте, как!


  Вверх
Akina
Дата 4.8.2005, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(striker @ 4.8.2005, 06:47)
Хотелось бы, чтобы смайлы вставлялись из файла-картинки!

Это возможно, но по-любому будет криво.

Цитата(striker @ 4.8.2005, 06:47)
бы, чтобы картинки нельзя было растягивать!

Это - особенность RichTextBox...

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
CompWorm
Дата 5.8.2005, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: нет
Всего: 31



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


--------------------
PM MAIL   Вверх
Гость_KEKC
Дата 10.8.2005, 16:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Молодец! Скинь потом на [email protected]. Я тоже свой чат делал - CCCP_Phone назвал.
- - -
Там, где у тебя должно быть окно с сообщениями, поставь WEB Browser (Microsoft Internet Controls). Он будет с 3D краями, но это можно исправить... HTML знаешь? Да - отлично. Нет - нечего там знать:
В проге, когда обновляется сообщение, создаешь файл (каждый раз он будет переписываться), например "temp.htm" и вписываешь туда текст (ниже). Вот так:
Код:
---
Open iif(len(app.path)=3, app.path, app.path & "\") & "temp.htm" for output as #1
Print #1, "<html><body>" & sMsg & "</body></html>"
Close #1
---
Подразумивается, что в sMsg - текст сообщений. До этого кода его надо создать.
Допустим у тебя в sMsg лежит "Привет всем! smile Как дела?" и ты хочешь вместо ":)"
поставить смайлик из файла "c:\smile.bmp" (можно даже не из файла, а из нэта!).
Тогда делаешь так:
sMsg = Replace(sMsg,":)","<img src='c:\smile.bmp'>")
И ЭТО ВСЁ!!! smile

Можно ещё цвет фона поменять и всё такое...
  Вверх
Гость_KEKC
Дата 10.8.2005, 16:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот такая помесь HTML и VB. Прошу не удалять! К стати, забыл: в конце не забудь удалить html-файл. Kill iif(len(app.path)=3, app.path, app.path & "\") & "temp.htm".
  Вверх
:)
Дата 7.11.2005, 19:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











smile ужастно..
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0499 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.