Controle Saída Súbita

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Controle Saída Súbita

Mensagem por fladimir »

Pessoal, alguém poderia compartilhar caso utilize algum comando/função/forma de saber se houve saida súbita do sistema por terminal...

Pensei em fazer o seguinte... ao entrar no sistema nas primeiras linhas cria um arquivo tipo Ok.001 (001 referente ao terminal q entrou)

Ai qdo for fechar o sistema de forma correta apaga o arquivo...

Caso entre no sistema e já tenha o arquivo sinal q não fechou de maneira correta...

Alguém vê algum problema nessa lógica ou teria uma outra solução q possa compartilhar?

Agradeço.

[]'s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Controle Saída Súbita

Mensagem por JoséQuintas »

Pra mim não daria certo, com multithread, ou no caso do usuário abrir mais de uma janela.
Se for MySQL, talvez gravar no banco de dados seja mais simples, na entrada, inclui o registro, e na saída exclui.
Ou criar um arquivo temporário e eliminar no final, pelo menos tem nome único.
Em DBF não daria muito certo, porque seriam muitos registros excluídos e pode tornar lenta a simples abertura do DBF.

Num primeiro momento, imagino essas opções.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Controle Saída Súbita

Mensagem por asimoes »

Fladimir,

Você pode usar também a função Errorlevel()

Se você executa a aplicação através de uma bat a saída pode ser tratada com errorlevel

Na aplicação você no início do da aplicação (main) você atribui

ErrorLevel(0)

Na bat

IF NOT %ERRORLEVEL% == 0 GOTO ERRO ELSE GOTO FIM
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Controle Saída Súbita

Mensagem por asimoes »

No wspgm no início faço errolevel(0) e na saída normal errorlevel(1)

wspgm
IF NOT %ERRORLEVEL% == 1 GOTO ERRO ELSE GOTO FIM
:FIM
@echo tudo ok.
pause
GOTO END
:ERRO
@echo erro.
pause
GOTO END
:END

Se o usuário fechar a aplicação com o gerenciador de tarefas ou por algum outro motivo, exceto desligar a máquina a bat controla o nível de errorlevel
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Controle Saída Súbita

Mensagem por fladimir »

Vlw pessoal!!! Obrigado pelas contribuições!

[]'s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Responder