|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.08.2008, 05:55 | #51 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Ребят у меня такой вопрос:
Вопрос про приват - как сделать чтобы приватное сообщение было другим цветом, например синим???? Вопрос по части пользователей - как реализовать такую фишку, чтобы пользователь выбрал себе цвет, и чтобы все его сообщения были под этим цветом и причем этот цвет должны видеть все пользователи. короче как на "веб" чатах, выбрал цвет и все твои сообщения под этим цветом, вот..... И еще... можно ли сделать смайликов??? заранее премного благодарен! Последний раз редактировалось IIpopoK; 24.08.2008 в 08:37. |
25.08.2008, 22:13 | #52 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Модернизация, цветные сообщения...
Про все дела с цветами.
Вместо компонента Memo, отображающего текст сообщения, примените RichEdit (вкладка Win32), имя задать "ChatRichEdit". Вот пример его использования: Код:
'0'+text '0' - это заголовок, код команды сообщения; text - строка с ником отправителя и сообщением. Добавим в заголовке после кода команды еще несколько байт: 2-й байт - шрифт; 3-й байт - размер; 4-й байт - цвет; 5-й байт - стиль. ...у вас есть 10 вариантов шрифтов, размеров, цветов, ...а для стиля нужно любые 4 значения. Как вы все это себе представите - ваше личное дело, ...создайте таблицу (на листке бумаги) и задайте под каждый параметр свою цифру от 0 до 9. Создайте еще одну форму в проекте, поместите туда поля с выбором шрифтов, ...аналогичные действия вы можете посмотреть в статье "Создание клиент-сервера", во второй ее части. Все данные с полей оперативно собираете в строку, добавляете код команды, и может получиться нечто подобное: '00571'+text Как только эта команда приходит на сервер или клиент, начинаете разбирать ее на части. Вы точно знаете, что 1-й символ - код команды, сработает case, в нем все варианты для задания шрифтов. Используйте переменные соответствующего типа, а затем при создании текста в ChatRichEdit используйте их. Про смайлики. Для этого вам нужен расширенный ричэдит, он называется TRxRichEdit, ищите в Интернете, устанавливайте и разбирайтесь, найдете массу примеров его использования, я наслышан о нем, но не сталкивался с ним, ...как-то не нужно, другими методами пользуюсь, сложными. Надеюсь вы сможете сами создать код, ...если будут затруднения или вопросы, пишите, выкладывайте участки проблемного кода.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
26.08.2008, 06:23 | #53 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Извините конечно, не думайте что я тупой, но я не очень понимаю
Непонимаю как, что сделать. Непонимаю как реализовать цвет сообщения. Нет, ну конечно я понимаю как изменить цвет, но как сделать, чтобы пользователь выбрал цвет, и все его сообщения шли под этим цветом, причем, чтобы цвет его сообщений видели остальные пользователи!=(( Как в ICQ или MAgent. пипец, не доганяю я чета=(( или, лидно фиг с ним... забьем на это. Но как изменить цвет приватного сообщения??? Последний раз редактировалось IIpopoK; 26.08.2008 в 06:26. |
26.08.2008, 22:24 | #54 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Модернизация до версии 2.0: Часть 1
Появилось предложение внедрить в чат изменяемый шрифт, теоретическое описание было выше, перейдем к практике.
Добавляем в форму кнопку BitBtn1, меняем имя на FontBitBtn, в Caption запишем "F", чтобы было понятно, что эта клавиша вызова параметров шрифта. Создаем новую форму (Form2) сохраним ее как FontUnit, в заголовке запишем "Параметры шрифта". Кидаем в форму два компонента ComboBox и компонент ColorBox, над каждым, соответственно, Label (метка) с пояснением, что это за параметр. Применение стиля к шрифту выполнять не будем, ...лучше пусть стиль будет системным свойством, для определения приватности, например, можно сделать шрифт полужирным, а в простых сообщениях использовать обычный. Вот так расположим компоненты (стандартное имя, новое имя, метка): ComboBox1 - FontComboBox - "Шрифт" ComboBox2 - SizeComboBox - "Размер шрифта" ColorBox1 - ColorBox - "Цвет шрифта" Отключим все "левые" цвета в ColorBox (свойство Slyle, все False, кроме cbStandardColors). В итоге у нас 16 цветов, как их уместить в ограниченные 10? Выделим под цвет 2 байта в заголовке команды. Тут получается 100 вариантов цвета, если мы будем использовать цвет с номером 3, то два байта будут выглядеть как "03", а 16 как "16", не совсем удобно, ...невозможно сразу скопировать 2 символа и перевести в Integer (StrToInt). Прибегнем к хитрости, будем прибавлять к исходному варианту 10, тогда все числа кода будут двухзначными и будут легко переводиться в числа без дополнительной обработки. Соответственно, при применении кода будем отнимать 10. Добавим глобальных переменных в коде главной формы (Form1, MainUnit): Код:
для главной формы - uses FontUnit; для второй формы - uses MainUnit; Смотрим вторую форму (Form2, FontUnit). Заполняем процедуру создания формы командами, которые запишут в списки все параметры шрифтов: Код:
Код:
Продолжение следует...
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 26.08.2008 в 22:59. |
26.08.2008, 22:49 | #55 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Модернизация до версии 2.0: Часть 2
Давайте снова заглянем на вторую форму (Form2, FontUnit). Очень удобно записывать глобальные переменные по событию OnChange списков, таковых 3, значит пишем три процедуры:
Код:
5110[16:29:54] Ананим: Привет! ...последовательность 5110 - это и есть параметры шрифта, ура получилось!! ) ...только ни клиент ни сервер пока еще не умеют с ней работать. Давайте их "учить" этому. Алгоритм разбора кода на параметры и применение к сообщению встретится в коде не раз, поэтому логично и рационально написать одну процедуру и затем вызывать ее там где необходимо. Вот как она может выглядеть: Код:
Особо следует обратить внимание на текст, который передается в процедуру, ...1-й его символ это код команды, 2-й - код шрифта, 3-й - код размера, 4-й и 5-й в сумме - цвет шрифта. Остается правильно использовать процедуру в коде, вот так: Код:
Код:
Код:
Продолжение следует...
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
26.08.2008, 22:56 | #56 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Модернизация до версии 2.0: Часть 3
Например такой:
Код:
На счет смайликов, ...я вообще не сторонник этого дела, хватает и простых скобок и знаков припинания, но желающие все же оснастить чат рисуночками или просто помочь кому-то это сделать, могут разобраться с TRxRichEdit и выложить алгоритмы. В архиве опробованная 2-я версия программы.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
27.08.2008, 04:40 | #57 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Спасибо большое! то что нужно! просто огромное спасибо, вы мне очень помогли!
|
08.09.2008, 22:12 | #58 |
Пользователь
Регистрация: 25.04.2008
Сообщений: 14
|
У меня проблема с процедурой ShowColorMessage;
Всё работает, но когда сообщение {клиента/сервера} высвечивается в окне сообщений, то оно отображается цветом сообщения которое было первым. |
10.09.2008, 22:04 | #59 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Ищите ошибку в заголовке приходящих/уходящих команд (сообщений).
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
11.09.2008, 20:19 | #60 |
Пользователь
Регистрация: 25.04.2008
Сообщений: 14
|
Спасибо, проблема уже решена =)
Прилепил на OnRead клиента и сервера черный цвет. Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | Pblog | Обсуждение статей | 0 | 03.10.2007 17:12 |
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл | Pblog | Обсуждение статей | 0 | 31.08.2007 20:00 |
обновление в блоге - USB Холодильник | Pblog | Обсуждение статей | 0 | 25.06.2007 14:13 |
обновление в блоге - О ярлыках | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |