Código: Selecionar todos
FUNCTION Valida_senha(cTitulo, Setor)
Local cUsuario
Local vSenha
Local getcUsuario
Local getvSenha
local a_return := {}
local Largo := 8
local Retries := 3
Local cDif := ''
Local secuencia := 0
Local habilita := .f.
Local cancela := .f.
Local Autoriza := .f.
Local oIcon := HIcon():AddFile("image\PIM.ICO")
IF empty(cTitulo)
cTitulo := 'Digite os dados...'
ENDIF
IF empty(Setor)
Setor := '0'
ENDIF
Do While secuencia < retries
INIT DIALOG odlgLogin ;
TITLE cTitulo ;
SIZE 230,150 ;
ICON oIcon;
STYLE DS_CENTER + WS_VISIBLE + WS_SYSMENU ;
CLIPPER ;
NOEXIT
cUsuario:=cSenhas:=Space(05)
@ 14, 17 Say "Usuário:" SIZE 80,20 Tooltip 'Digite sua matrícula'
@110, 17 Get getcUsuario VAR cUsuario SIZE 80, 28 picture '99999999' STYLE WS_DLGFRAME COLOR Vcolor("FF0000") TOOLTIP "Digite sua matricula"
@ 14, 47 Say "Senha:" SIZE 80, 20 Tooltip 'Digite a Senha'
@110, 47 Get getcSenha VAR vSenha SIZE 80, 28 PASSWORD STYLE WS_DLGFRAME TOOLTIP "Digite sua Senha"
@ 117,85 BUTTON btnOk CAPTION "OK" Size 70,20;
ON CLICK {||EndDialog()} Tooltip 'OK'
@ 22, 85 BUTTON btnCancel CAPTION "Cancela" Size 70,20;
ON CLICK {||EndDialog()} Tooltip 'Sair'
oDlgLogin:bActivate := {||btnOk:SetFocus()}
ACTIVATE DIALOG odlgLogin
IF empty(vSenha) .AND. Empty(cUsuario)
Return(.F.)
ENDIF
//
// Se clicou em cancela, ou sem usuario ou sem senha...
//
IF empty(vSenha) .or. Empty(cUsuario)
IF msgyesno('Voce não digitou a matrícula ou a senha' + Chr(10) + Chr(13) + ;
'deseja tentar novamente?', 'AtenþÒo')
loop
ELSE
return(.f.)
endif
endif
ENDDO


