Esses dias precisei fazer uma modificação no sistema no qual efetuaria um sinal sonoro para alertar o usuário sobre alguma entrada incorreta de dados.
O problema principal é: a cada notificação de erro ou dados inválidos o sistema irá emitir um som que alertará o usuário que algo está errado.
Primeiramente vamos criar uma função de usuário simples com o nome alarme() e seu retorno será uma variável - lRet - do tipo booleano. Caso alguma inconsistência seja encontrada o alerta será emitido.
user function alarme
local lRet := .T.
local nQtd := 3
local cDirCli := "C:\\Media\\"
if nQtd = 3
shellExecute("Open", cDirCli+"sound.bat", "", "", 0)
msgInfo("Qtd = 3")
else
shellExecute("Open", cDirCli+"sound_2.bat", "", "", 0)
msgInfo("Qtd <> 3")
lRet := .F.
endIf
return lRet
Além da variável de retorno e outra variável de teste (nQtd), temos uma variável que nos mostra o diretório onde se encontra os arquivos de áudio que usaremos em nossa rotina.
Utilizaremos o método shellExecute() para que possamos chamar nosso arquivo .bat que ficará responsável por abrir e executar o áudio.
Vejamos nosso arquivo .bat:
start wmplayer /play /close c:\Media\sound136.wav timeout /t 1 TASKKILL /IM wmplayer.exe
Na primeira linha temos o comando start que inicia o player wmplayer - em nosso caso será o windows media player - então usamos os comandos /play e /close e informamos o diretório do arquivo de áudio a ser executado.
Usei também o comando timeout com o tempo (/t) de 1 segundo. Após esse tempo o comando TASKKILL irá encerrar a tarefa do windows media player.
É isso ai galera! Espero que tenho curtido essa dica.
Até mais!
;)

Nenhum comentário:
Postar um comentário