On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Пост N: 547
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.12.06 22:42. Заголовок: Чат в локальной сети


Понадобилось вот в программе реализовать чат.
Есть у кого то наработки или мысли по этому поводу ?
В проге у меня 30 пользователей , вот между ними и надо как то организовать чат........

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 8 [только новые]


администратор




Пост N: 548
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.12.06 23:42. Заголовок: Re:


Можно было бы написать по IPX/SPX (в СT для этого все есть), но не хотелось бы.
Ни кто не встречал для Clipper библиотеки заточенную на TCP/IP ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 08.11.06
ссылка на сообщение  Отправлено: 21.12.06 09:16. Заголовок: А нах ?


А зачем из клиппера? Бесплатных миничатов для лок.сети - пруд пруди.


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 549
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.06 09:44. Заголовок: Re:


Из Clipper , потому как большую часть времени народ проводит именно в этой проге (моей) , такова
специфика работы у них.
Все бесплатные миничаты виндовые и при вызове юзера сворачивают основную программу на Clipper ,
что не удобно.

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 49
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 21.12.06 11:04. Заголовок: Re:


У меня такая-же фигня...
Решил её таким образом: завел табличку со след. структурой:
----
от кого
кому
дата/время создания сообщения
дата/время прочтения сообщения
дата/время доставки сообщения (например, отложенное, "самому себе", типа "напоминалки" получится)
текст сообщения
----
Вызовом OnIdle() через 30 секунд проверяю размер и дату/время модификации таблички: если с прошлого раза не изменилась, значит новых сообщений и нет. Если есть изменения - проверяю: нет ли чего для текущего юзера, если есть - вывожу информацию в уголке экрана.
Для работы с "напоминалками" - запоминаю время срабатывания "ближайшей" напоминалки для этого пользователя, и даже, если размеры/время таблички не изменились, открываю табличку и вывожу инфу о "поспевших" сообщениях.
---
Для закрытия текста от особо "шаловливых" использую простейшее шифрование.
---
Система работает, не так шустро, как аська, но и такую задачу не ставил перед собой - ведь это все-же складская программа, а чат для нее - дело второстепенное... в среднем, при самом плохом раскладе извещение о сообщении приходит в течении 30-40 секунд. Если очень нужно, можно укоротить интервал проверки.

Будут вопросы по реализации - готов обсудить.



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 550
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.06 15:12. Заголовок: Re:


Sergy
Спасибо за идею !!!
Обдумаю и задам вопросы если возникнут.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 192
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.12.06 21:16. Заголовок: Re:


Я в своей проге открываю общую базу (NETUSERS), записываю туда при входе в прогу код оператора и время.
При выходе каждый оператор удаляет свою запись.
Открываю еще одну базы (ERROR) для передачи параметров для работающих в данный момент в проге.
Если нужно кого нибудь выгнать из проги, ввожу ручками его код, сообщение которое нужно высветить
у него в проге и "код режима" (1-общий выход из проги, 2-выход по времени, 3-выход одного оператора, 4-просто сообщение и т.д.).

Прога (раз в минуту или две) во всех режимах (за исключения расчетов) проверяет эту базу.
если код оператора проги совпадает с кодом оператора в базе ERROR то выполняется действие по "коду режима"

Туповато конечно, но лет 5 работает.
Хотелось бы на Харборе сделать что-нибудь поприличней.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 551
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.12.06 22:43. Заголовок: Re:


Andrey пишет:

 цитата:
Прога (раз в минуту или две) во всех режимах (за исключения расчетов) проверяет эту базу


Чем проверяешь ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 194
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.12.06 23:04. Заголовок: Re:


Создана специальная функция Proverka() и везде она натыкана в программе, но только когда юзер ничего не вводит, только тогда она лезет в проверку, т.е. у меня везде стоит ожидание в цикле Tbrowse, Achoice, Menu
короче везде.

Когда прога лезет в Proverka() то там просто цикл считывания записей. База состоит всего из 10 записей.
И если в поле "Код режима" стоит цифра, то начинаю обработку по этой цифре.
(1-общий выход из проги, 2-выход по времени, 3-выход одного оператора, 4-просто сообщение и т.д.)
Если интересно могу выдрать куски из своей проги.


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 140
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет