On-line: PSP, гостей 2. Всего: 3 [подробнее..]
АвторСообщение



Пост N: 4
Зарегистрирован: 16.12.07
ссылка на сообщение  Отправлено: 24.02.08 23:09. Заголовок: Как програмно выключить ПК


Сделал в програме возможность с сервера закрывать базы на клиентах. Для операций в монопольном режиме.
Клиенты отсылают на сервер смс-ки о том что базы закрыти и с какого клиента . Очень удобно - ненадо звонить и бегать особенно если клиенты в разных концах фирмы.
Хочу сделать возможность выключать клиентов вообще.
Кто-то подскажет как вставить в прогу (Harbour) кусок с этой функцией

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


постоянный участник


Пост N: 439
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 25.02.08 00:02. Заголовок: Просто Вася пишет: ..


Просто Вася пишет:

 цитата:
Кто-то подскажет как вставить в прогу (Harbour) кусок с этой функцией



Воспользуйтесь методом Copy/paste

ExitWindowsEx с 1-м параметром, равным EWX_SHUTDOWN ( 1 )



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




Пост N: 500
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.02.08 23:15. Заголовок: Просто Вася пишет: ..


Просто Вася пишет:

 цитата:
Сделал в програме возможность с сервера закрывать базы на клиентах. Для операций в монопольном режиме.
Клиенты отсылают на сервер смс-ки о том что базы закрыти и с какого клиента . Очень удобно - ненадо звонить и бегать особенно если клиенты в разных концах фирмы.



А как это реализовано ?
Я здесь на форуме задавал такой-же вопрос, никто не ответил !
http://clipper.fastbb.ru/?1-4-60-00000235-000-0-0-1192425516



Спасибо: 0 
Профиль



Пост N: 5
Зарегистрирован: 16.12.07
ссылка на сообщение  Отправлено: 26.02.08 14:54. Заголовок: Во первых разработан..


Во первых разработана система общения (розсылка текстовых сообщений). Каждий логин имеет свой код (номер записи в базе логинов) Если клиент зашёл под логином, а второй написал смс -ку он сразу её получит. Если она послана не активному логину, то она остаётся на сервере и как только тот зайдёт под своим логином то текст сразу всплывает на екране. После прочтений она удаляется. Сначала игрался с текстовыми файлами, потом всёже с .dbf мене с ними проше. Разработал тоже шедулер (планировшик заданий). Через тайм аут не выполненые задания разсылаются активним логинам до того времени пока он в базе заданий не поставит флажок - выполнено.
Закрытие баз. На сервере находится файл dbf - настроек. Клиенты раз 2,5 сек. опрашивают поле закрытия. На сервере ставится флажок 1. Клиенты по этой команде CLOSE DATABASES. OUIT. Они не могут зайти до того времени пока на сервере не перезагрузить програму он выставляет флаг 0 и клиенты могуть загрузить свои исполнительные модули.
Всё просто. Вот захотел еще и выключать ПК. Петр все так точно ламеру объяснил, жду может кто подскажет

Спасибо: 0 
Профиль



Пост N: 6
Зарегистрирован: 16.12.07
ссылка на сообщение  Отправлено: 26.02.08 14:59. Заголовок: У меня прописан моду..


У меня прописан модуль PAUZA
этот модуль во всей програме разбросан в циклах ожидания нажатия клавиши.
В этот модуль и прописаны все цикли по таймауту

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




Пост N: 502
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.08 01:42. Заголовок: Ты не читал мою ссыл..


Ты не читал мою ссылку:
http://clipper.fastbb.ru/?1-4-60-00000235-000-0-0-1192425516

У меня реализовано точно также !
Я хочу уйти от этой фигни:
Просто Вася пишет:

 цитата:
этот модуль во всей програме разбросан в циклах ожидания нажатия клавиши.



так как в Харборе можно реализовать все изящней !!! И не нужно будет по всем циклам ожидания мучиться.......
Мне там наметки показали, а как до конца довести не дали.

Спасибо: 0 
Профиль



Пост N: 7
Зарегистрирован: 16.12.07
ссылка на сообщение  Отправлено: 27.02.08 12:33. Заголовок: Так у меня вся прогр..


Так у меня вся програма организована.
Каждая процедура имеет такую структуру
1. прорисовка екрана и заход цикл.
DO WHILE .T.
DO PAUZA

* блоки нажатия кнопок и тд.


IF i=27 && Выход из процедуры
EXIT
ENDIF




i=INKEY()
ENDDO

Процедура PAUZA

PROCEDURE PAUZA()
i=0
start=SECONDS()
DO WHILE i=0
i=INKEY()
DO Oclock WITH 0,73 && Часы на екране
DO WICNO && Екранная заставка (SAVE SCREEN)

* сюда вставляю любое что можно поднять по таймауту

ENDDO
RETURN

Тоесть мне нечего делать в каждой процедуре есть модуль PAUZA і я знаю что если никто не нажимает клавишу всё крутится в нём. Я вставляю туда всё что хочу

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




Пост N: 503
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.02.08 22:14. Заголовок: Как будто на разных ..


Как будто на разных языках говорим !
Я об Иване, а Вася о болване .....

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