Topic: Подобие чата
Здравствуйте! Возможно ли сделать подобие чата (обмен сообщениями между пользователями) где автоматом создаются приватные каналы?
My Visual Database → Russian → Подобие чата
Здравствуйте! Возможно ли сделать подобие чата (обмен сообщениями между пользователями) где автоматом создаются приватные каналы?
Ну если в рукопашную городить то мне видится вариант с созданием временной таблицы на сервере и через проверку на новые записи с периодом например 5 сек смотреть есть ли сообщения для текущего юзера .
...Не знаю чем вам не нравится вагон уже готовых месенджеров
Ну если в рукопашную городить то мне видится вариант с созданием временной таблицы на сервере и через проверку на новые записи с периодом например 5 сек смотреть есть ли сообщения для текущего юзера .
...Не знаю чем вам не нравится вагон уже готовых месенджеров
Интересует реализация этого именно в MVD
Сделал для вас проект с примером. Можете выбрать кому отправить сообщение, если не будет выбран получатель, сообщение получат все пользователи.
Сделал для вас проект с примером. Можете выбрать кому отправить сообщение, если не будет выбран получатель, сообщение получат все пользователи.
Спасибо большое!
В MySQL ругается на строку
Form1.TableGrid1.dbFilter := '((id_users='+IntToStr(idUser)+') or (id_users1='+IntToStr(idUser)+') or (id_users1 IS NULL)) and (date(datetime) > date(''now'', ''-3 days''))';
Сделал для вас проект с примером. Можете выбрать кому отправить сообщение, если не будет выбран получатель, сообщение получат все пользователи.
Дмитрий спасибо за интересное добавление. А есть вариант уведомления получателя?
если просто сообщение показать , то добавил строки 5,40,56,57
....на данный костяк "Чата" можно навесить все на что только фантазии хватит вплоть до айфоноподобного вида со смайликами ))). (канвас Вам в помощь, ну и наличие времени )
если просто сообщение показать , то добавил строки 5,40,56,57
....на данный костяк "Чата" можно навесить все на что только фантазии хватит вплоть до айфоноподобного вида со смайликами ))). (канвас Вам в помощь, ну и наличие времени )
Спасибо за пример, только есть парочка НО... Сообщение появляется и у получающего и у отправляющего, зачем отправляющему-вопрос. И вариант уведомления актуален не столько когда чат открыт(окно с чатом) а когда окно чата закрыто! Когда окно активно и так всё видно. Тут возможно даже более интересен вариант не появления текста, а некий динь-динь при приходе сообщения, и этот звуковой сигнал получающий слышит находясь в любом окне приложения.
Можно и так
Можно и так
Спасибо! И если можно последняя просьба/пример. Если чат находиться не на главной форме Form1, а на какой нибудь frmChat. Как при наличии главной Form1 (и многих других) сделать так, что бы оповещение о получении приходило и при нахождении в других формах (форма frmChat не открыта)?
iacovlogica wrote:Можно и так
Спасибо! И если можно последняя просьба/пример. Если чат находиться не на главной форме Form1, а на какой нибудь frmChat. Как при наличии главной Form1 (и многих других) сделать так, что бы оповещение о получении приходило и при нахождении в других формах (форма frmChat не открыта)?
А то сидит Вася работает (вносит данные какие нибудь в базу), ему пишет Петя и пока Вася не откроет чат (или его об этом не попросит Петя), Вася будет как-то не в курсе что ему кто-то что-то пишет)))
Оно так ,по идее, и работает , так как висит это дело на таймере .
Попробуйте .
....разумеется при старте программы надо это все запустить
Оно так ,по идее, и работает , так как висит это дело на таймере .
Попробуйте .
Тогда вопрос (только вникаю)))
Timer := TTimer.Create(Form1);
Timer.Interval := 5000;
Timer.Enabled := True;
Timer.OnTimer := @OnTimer;
Здесь Timer := TTimer.Create(Form1) указывается форма где находиться данный скрипт, или где находиться чат?
Можете скинуть прямо сюда (если не сложно) текст скрипта, с учётом что Form1 это общая стартовая(главная) форма, а сам чат находиться на форме frmChat?
Как то так ...
да по поводу
Timer := TTimer.Create(Form1);
....на пример у Вас есть машина (программа) и понадобились вам туда часы . У Вас так же есть 3Д принтер (конструктор) .
Вы выбираете в 3Д принтере чертеж часов ( TTimer ) и даёте команду напечатать часы по имеющимся чертежам ( .Create ) и поместить эти часы на переднюю панель ( Form1 ) .
Если не поместить часы в машину то их в машине не будет ))) .
Так как часы невидны снаружи машины то их можно поместить и в другое место например в бардачек ( Chat ), они и там прекрасно будут тикать .
....сильно не пинайте как смог так и объяснил
да по поводу
Timer := TTimer.Create(Form1);
....на пример у Вас есть машина (программа) и понадобились вам туда часы . У Вас так же есть 3Д принтер (конструктор) .
Вы выбираете в 3Д принтере чертеж часов ( TTimer ) и даёте команду напечатать часы по имеющимся чертежам ( .Create ) и поместить эти часы на переднюю панель ( Form1 ) .
Если не поместить часы в машину то их в машине не будет ))) .
Так как часы невидны снаружи машины то их можно поместить и в другое место например в бардачек ( Chat ), они и там прекрасно будут тикать .....сильно не пинайте как смог так и объяснил
))) Спасибо!
Как то так ...
А можно обратиться ещё с просьбой (вкусняшкой)))) а можно как-то в последний ваш вариант чата всунуть индикатор тех, кто сейчас подключен? Знать, кому можно писать в чате а кому если только по почте? И как я понимаю если убрать Timer.Free; то получающий при входу в программу получит уведомление о том, что ему есть сообщение?
Есть отдельный пример, как реализовать список, кто онлайн.
http://myvisualdatabase.com/forum/misc. … download=1
Есть отдельный пример, как реализовать список, кто онлайн.
http://myvisualdatabase.com/forum/misc. … download=1
Спасибо!!! Прикрутил))))
Есть отдельный пример, как реализовать список, кто онлайн.
http://myvisualdatabase.com/forum/misc. … download=1
Дмитрий а можно вопросик в догонку вашего примера. Можно пользователю (админу) отключать выбранных активных пользователей? Я понимаю, что если человек работает а его "шарахнули" енто не совсем зер гут, но пример самой возможности можно?
Что вы понимаете под отключать? Запретить писать? читать? или все вместе?
Что вы понимаете под отключать? Запретить писать? читать? или все вместе?
Нет, иметь возможность выбрать пользователя и отключить "выкинуть" его из базы/программы (пригодиться в случае срочного обновления).
Можете просто удалить пользователя.
Можете просто удалить пользователя.
ЭЭЭЭ мне надо как админу отключить его временно от базы, удалить его совсем? это жёстко. Или что вы имели ввиду?
My Visual Database → Russian → Подобие чата
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi