ESSA E DIFICIL !

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

managercorp
Usuário Nível 3
Usuário Nível 3
Mensagens: 138
Registrado em: 16 Nov 2004 11:03
Localização: recife
Contato:

ESSA E DIFICIL !

Mensagem por managercorp »

Tenho clientes com 30, 42, e ate 55 estacoes na rede, e acontece que depois de meia noite a recepcao precisa indexar o sistema, antes de rodar a auditoria.
o Problema e que algums usuarios FDP deixam as suas maquinas ligadas com os arquivos abertos. obrigando o funcionario da noite ir de maquina a maquina, uma a uma, vendo quem deixou os arquivos abertos.
O DESAFIO E O SEGUINTE.
Sera que tem como nos Guerreiros do Clipper, conseguir um jeito de derrubar as estacoes que estao com os arquivos abertos. pelo programa.
nem que seja um aplicativo extra clipper, as redes sao na maioria NT ou Ponto a ponto, mas os arquivos ficam todos em um unico diretorio
na rede ex: f:\manager

O DESAFIO TA LANCADO...............................
Alexandre Pessoa
alexandre@managercorp.com.br
81-96152319
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Parceiro...
Via Clipper (até onde o meu conhecimento vai) IMPOSSÍVEL...

1 - Se a rede for NT, com a senha do administrador é possíver derrubar qualquer estação

2 - Se a rede for NOVELL... idem

3 - Se a rede for LANTASTIC (:)) )... idem

4 - Se a rede for AMPLUS (:)) :)))... idem

Notou que em qualquer situação o "guarda noturno" lá vai ter que continuar a peregrinação ??

Sinceramente... numa boa...
"Instrução Normativa" serve para isso... É aplicavem em qualquer empresa organizada e que tenha uma direção austera e atuante...
Acho que seu cliente não está precisando de um "utilitário" está precisando é disciplinar seus empregados (usuários) !!
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
rrfsistemas
Usuário Nível 3
Usuário Nível 3
Mensagens: 249
Registrado em: 11 Jul 2004 18:16
Localização: Uberlândia/MG

Mensagem por rrfsistemas »

Olá

É uma dica meio tola mas...

Porque não programar uma tarefa no agendador de tarefas de cada estação para que em determinada hora ( 00:20) rode um aplicativo que de um logoff nas estações ou algo parecido...

:)Pos

obs não se esqueça de agendar a tarefa como administrador e bloqueie para que outro usuário não interrompa o processo. :P
"Não é a ferramenta que faz o artesão e sim a sua criatividade...""
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem por Daniel »

Tenho uma ideia q pode dar certo.

Vc pode usar uma funcao da lib grump a GFonTickx("DesligaRede", 25)
ele e igual a ShowTime(), a diferenca que vc pode por uma funcao pra rodar junto.
ai vc cria no programa uma funcao pra criar um arquivo.


Function DesligaRede()
if File('deliga.txt')
Quit
EndIf
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Existe uma função que criei chamada WKSNET que mostra todos os usuários ativos (que estão com o sistema aberto), porém ela tem um impecílio para você (conforme postagem anterior), é que para usar a WKSNET cada computador precisa ter uma variável de ambiente com o número da estação.

Se mesmo assim quiser a WKSNET é só me comunicar.

Usando a WKSNET + BGEVENTS é possivel criar uma rotina para o próprio operador dar um comando para "derrubar" a estação.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Vc pode usar o VNC para acessar e derrubar as devidas estações de trabalho.

Daniel - Poderia dar maiores informações sobre a lib grump?
managercorp
Usuário Nível 3
Usuário Nível 3
Mensagens: 138
Registrado em: 16 Nov 2004 11:03
Localização: recife
Contato:

WKSNET ? TALVEZ

Mensagem por managercorp »

É acho que ate agora a opcao do Marcelo me parece um caminho a ser tentado.
Por favor Marcelo. gostaria de mais detalhes sobre o uso do WSKNET para o fim em questao.
Obrigado
Alexandre Pessoa
alexandre@managercorp.com.br
81-96152319
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Migre seu sistema para xHarbour no Linux ou Windows e programa uma rotina para desligar em determinado horário.
Sem mais
Wagner Nunes
www.vagucs.com.br
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Ai vai a minha opnião.....


Na biblioteca CA-TOOS, existe uma função chamada KeyTime que dispara uma tecla qualquer numa determinada hora:

Exemplo: KeyTime( K_F2 , "22:00" )

Neste exemplo, a tecla F2 será disparada as 10:00 da noite.

Daí, basta associar uma função a esta tecla utilizando a função SetKey(). Esta função poderá exibir uma mensagem ao usuário avisando que o programa será encerrado, e logo após ela fechará todos os arquivos abertos e encerará o programa.


Exemplo:

SetKey( K_F2 , { || Finaliza() } )
KeyTime( K_F2 , "22:00" )

.
.
.


FUNCTION Termina
@ 10,10 Say "O programa será encerrado em 3 segundos ..."
Inkey(3)
Close DataBases
Clear All
Quit
Return (NIl)




:xau
josenilson
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 14 Set 2004 10:58

Mensagem por josenilson »

Corrigindo o exemplo...

SetKey( K_F2 , { || Finaliza() } )
KeyTime( K_F2 , "22:00" )

.
.
.


FUNCTION Finaliza
@ 10,10 Say "O programa será encerrado em 3 segundos ..."
Inkey(3)
Close DataBases
Clear All
Quit
Return (Nil)
Irineu
Usuário Nível 2
Usuário Nível 2
Mensagens: 61
Registrado em: 13 Ago 2003 22:01
Localização: Curitia-PR
Contato:

Mensagem por Irineu »

Já tive este tipo de problema com um aplicativo que o cara tem que fazer um fechamento diario.

A solução que adotei foi o seguinte:

Quando o cara vai fazer o fechamento eu gravo um flag num arquivo e aguardo 30 segundos.

Fiz algumas alterações no sistema onde ele verifica a cada 20 segundos esse arquivo e qual o flag gravado, se o flag for 'S', aviso o usuario, fecho todos os arquivos e termino a execuão do programa independente do que o ele tiver fazendo, pois tem horario programado para esse fechamento, só que como vc disse a cambada sempre esqueceia ou ficava se enrolando pra sair.
evolver
Membro Master
Membro Master
Mensagens: 189
Registrado em: 28 Ago 2004 01:02
Localização: Cruz Alta - RS
Contato:

Mensagem por evolver »

Complementando a idéia...

No programa administrador haveria um contador com tempo equivalente a um pouco mais que o dobro de tempo usado em pelo programa da rede para ler o arquivo. Após o tempo desse contador ele apagaria o arquivo e todos os programas logados na rede já estariam deslogados (poderia até ter um shutdown caso haja disponibilidade disso no computador)
Sergio "Evolver" Fagundes

CURVE-SE DIANTE DE MIM SER INSIGNIFICANTE, POIS EU SOU ROOT
Só respondo em PVT perguntas relativas ao que eu faço. Qualquer outra dúvida favor postar no fórum.
Peço aos veteranos que antes de responder a uma pergunta repetida dêem uma pesquisada e instruam a quem perguntou a fazer o mesmo.
evandro.monte
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 23 Set 2004 07:14

Desativar Estação

Mensagem por evandro.monte »

Esse negócio de derubar estação sem finalizar o programa não me parece boa coisa, pois existem vários arquivos abertos.

A opção de agendar horário tem, além do problema acima, o inconveniente quando o relógio da estação começa a atrasar (bateria fraca).

Mas, se isso não importar, basta reiniciar o servidor. Outra opção é o programa netwatch.exe que mostra os usuários logados no servidor (mesmo que sejam através de mapeamentos) e você poderá desconectar.
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Segue abaixo a função para resetar o sistema através de um servidor.

http://geocities.yahoo.com.br/mmendeso/wks.zip

Para derrubar uma estação é só selecionar uma estação que esteja online e pressionar ALT+DELETE o sistema saira automaticamente em 20 segundos. Todos os arquivos serão fechados antes.

Cada estação terá que ter uma variável de ambiente chamada WKSNET

Exemplos :

SET WKSNET=001
SET WKSNET=002
SET WKSNET=032
SET WKSNET=101
Etc...

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Fiz algumas melhorias na função.

Baixem a nova versão em :

http://geocities.yahoo.com.br/mmendeso/wks2.zip

Agora pode também reiniciar o micro e desligar remotamente.

Se alguém fizer alguma melhoria e ou novas opções me mande para colocar para download.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Responder