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
Controle Saída Súbita
Moderador: Moderadores
Controle Saída Súbita
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.
“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.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Controle Saída Súbita
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.
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/
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/
Controle Saída Súbita
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
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)
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)
Controle Saída Súbita
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
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)
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)
Controle Saída Súbita
Vlw pessoal!!! Obrigado pelas contribuições!
[]'s
[]'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.
“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.
