|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.06.2010, 21:03 | #501 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
1. Если с запретом одинаковых ников ничего не получается, может им делать допись? Например в чате есть Вася, тут заходит ещё один вася и регестрируется как Вася 2, тут ещё один Вася, а он в свою очередь регистрируется как Вася 3. Это наверно уже единственный способ.
2. Цитата:
3. 1. Когда в чате много юзеров и кто-то кому-то пишет личное сообщение, то оно теряется среди множества простых сообщений (приходится листать чат и искать). Хочу делать вывод лички в отдельное окно. Здесь наверно придётся создавать компоненты динамически, опыта в этом у меня пока нет. Как будет работать по моим соображениям: 1. Отправка приватного сообщения будет производиться из отдельного окна, вызванного двойным кликом по нику. В заголовок TabSheet (PageControl) забъётся ник выбранного юзера, этот же заголовок будет забиваться в address при отправке из текущей вкладки (TabSheet). Если вкладка с данным ником существует, то перейти к ней без повторного создания 2. по приходу личного сообщения также будет создана вкладка с ником отправившего. Если такая вкладка существует, то сообщение поместить в неё. Теперь наверно самое сложное при работе с отдельной вкладкой. По нажатию на иконку с крестиком в ToolBar закрыть текущую вкладку, тоже с прокруткой и очисткой и отправкой сообщения. Возможно что-то я неправильно смозговал, так как такое делаю в первый раз. За основу можно взять расклад QIP. Последний раз редактировалось Shouldercannon; 27.06.2010 в 21:20. |
|
27.06.2010, 22:25 | #502 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Приватных сообщений обычно не так много, можно все сводить в одно поле дополнительной формы, оно появится (Form2.Show) как только вам придет личное сообщение. Печатать можно сделать в ней же, в отдельном поле Edit. Тут пошла специфика и азы программирования, ...я не помощник, вернее не должен это объяснять.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
27.06.2010, 22:32 | #503 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Что можете сказать по поводу пункта 1 предыдущего поста? Похоже он провальный так как на клиенте будет Вася, а на сервере Вася 2.
Может есть ещё какие варианты. Может ник выбивать и сверять в ServerSocketClientConnect Последний раз редактировалось Shouldercannon; 28.06.2010 в 00:56. |
28.06.2010, 16:10 | #504 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Я немножко не догнал, а разве есть проблемы с выкидыванием пользователя с совпадающим ником?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
28.06.2010, 16:26 | #505 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
С выкидыванием я запоролся на игнорировании обновления списка при Connect/Disconnet и ктому же
Цитата:
|
|
28.06.2010, 17:19 | #506 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Ну, можно же создать переменную типа FalseName: Word;, в нее записать номер ячейки массива пользователей, на которой сработало условие совпадения ника, и чей канал был закрыт, ...в событии на дисконнект прописать условие, что если переменная FalseName больше 0, то прописать простой код, где очищаются все записи ячейки массива, что показывает переменная FalseName, ...следом ее обнуление. В противном случае (FalseName = 0) пусть срабатывает флаг обновления UpdMas := True;
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
28.06.2010, 19:06 | #507 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Дубль два.
Код:
Цитата:
Последний раз редактировалось Shouldercannon; 28.06.2010 в 19:20. |
|
28.06.2010, 20:07 | #508 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Массив состоит из ячеек, если я напишу так: UserMas[2].Name, то обращение будет ко 2-й ячейке, к полю Name. Т.к. тип массива создан в виде набора записей, к каждой ячейке прилагается несколько записей, которые хранят информацию в собственном типе.
Если есть цикл по-i4 и он работает со всем диапазоном массива, то какая ячейка у массива будет если на некотором шаге сработает условие, и что записать в FalseName? ...думайте Вопрос на засыпку: если в коде есть GoTo, то break уже можно не писать, ...почему?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Последний раз редактировалось Beermonza; 28.06.2010 в 20:18. |
28.06.2010, 21:58 | #509 | ||
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Цитата:
Цитата:
Последний раз редактировалось Shouldercannon; 28.06.2010 в 22:01. |
||
29.06.2010, 16:59 | #510 | ||
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Вернемся к коду. За номер ячейки отвечает числовая переменная i4, она в цикле считает, как только сработало условие, значит можно точно знать какая ячейка была в текущий момент, это i4, в ней ячейка, т.е. берем ее текущее значение: FalseName := i4;, все. Далее идет скачок в G: метку. Цитата:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | 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 |