Ola pessoal, mais uma da Tamedos, um programinha chamado msgbox que mostra uma caixa de mensagem do windows na tela, legal né?
gostaria de saber como capturar o retorno da caixa de mensagem para tratar no sistema
Minha idéia é usar set num arquivo bat e depois capturar com getenv, mas talvez exista uma função ou comando que capture direto o ultimo errolevel
O ARQUIVO BAT FICARIA ASSIM
---------------------------------------------------------------------------------
IF ERRORLEVEL 1 GOTO ERRO1
IF ERRORLEVEL 2 GOTO ERRO2
IF ERRORLEVEL 3 GOTO ERRP3
IF ERRORLEVEL 4 GOTO ERRO4
IF ERRORLEVEL 5 GOTO ERRO5
IF ERRORLEVEL 6 GOTO ERRO6
IF ERRORLEVEL 7 GOTO ERRO7
IF ERRORLEVEL 8 GOTO ERRO8
:ERRO1
SET ERRO TO 1
:ERRO2
SET ERRO TO 2
...
...
...
:ERRO8
SET ERRO TO 8
------------------------------------------------------------------------------------
NO SISTEMA FARIA ASSIM
erro = getenv("ERRO")
if erro = 1
rotina1
elseif......
veja o que o programa retorna
Errorlevels returned:
1 = OK
2 = Yes
3 = Retry
4 = Ignore
5 = No
6 = Cancel
7 = Abort
8 = Time Out
o link para o download do programa é
http://www.tamedos.com/downloads/msgbox.zip
Grande abraço
Caixa de mensagem windows no sistema com a tamedos
Moderador: Moderadores
Prezado Colega
Fiz dessa forma e funcionou :
O BAT :
@MSGBOX /BYN "Teste do Msgbox"
IF ERRORLEVEL=1 SET ESCOLHA=1
IF ERRORLEVEL=2 SET ESCOLHA=2
IF ERRORLEVEL=3 SET ESCOLHA=3
IF ERRORLEVEL=4 SET ESCOLHA=4
IF ERRORLEVEL=5 SET ESCOLHA=5
IF ERRORLEVEL=6 SET ESCOLHA=6
IF ERRORLEVEL=7 SET ESCOLHA=7
IF ERRORLEVEL=8 SET ESCOLHA=8
IF ERRORLEVEL=9 SET ESCOLHA=9
MEUPROG.EXE
O Meu Programa :
CLS
@ 02,00 SAY "Escolha = "+GETENV("ESCOLHA")
INKEY(0)
RETURN
Funcionou perfeitamente.
Tentei chamar o BAT dentro do programa mas o errorlevel só retorna 0
Tentei a função DOSERROR() mas não funcionou
Tentei a função ERRORLEVEL() e também não funcionou
Até logo e boa sorte.
Marcelo
Fiz dessa forma e funcionou :
O BAT :
@MSGBOX /BYN "Teste do Msgbox"
IF ERRORLEVEL=1 SET ESCOLHA=1
IF ERRORLEVEL=2 SET ESCOLHA=2
IF ERRORLEVEL=3 SET ESCOLHA=3
IF ERRORLEVEL=4 SET ESCOLHA=4
IF ERRORLEVEL=5 SET ESCOLHA=5
IF ERRORLEVEL=6 SET ESCOLHA=6
IF ERRORLEVEL=7 SET ESCOLHA=7
IF ERRORLEVEL=8 SET ESCOLHA=8
IF ERRORLEVEL=9 SET ESCOLHA=9
MEUPROG.EXE
O Meu Programa :
CLS
@ 02,00 SAY "Escolha = "+GETENV("ESCOLHA")
INKEY(0)
RETURN
Funcionou perfeitamente.
Tentei chamar o BAT dentro do programa mas o errorlevel só retorna 0
Tentei a função DOSERROR() mas não funcionou
Tentei a função ERRORLEVEL() e também não funcionou
Até logo e boa sorte.
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)
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)

