AJUDA em rotina de Password
Enviado: 02 Jan 2017 11:04
estou tentando fazer uma rotina de acesso ao sistema
mas estou enfrentando a falta de conhecimento na HWGUI
@ 121,84 GET senha VAR vsenha SIZE 174,22 MAXLENGTH 9 PASSWORD WHEN {|senha| GetPassword(senha)}
A ideia é quando estiver nesta linha o que for digitado passar para a rotina abaixo
ajuda para o caso
mas estou enfrentando a falta de conhecimento na HWGUI
@ 121,84 GET senha VAR vsenha SIZE 174,22 MAXLENGTH 9 PASSWORD WHEN {|senha| GetPassword(senha)}
A ideia é quando estiver nesta linha o que for digitado passar para a rotina abaixo
Código: Selecionar todos
function GetPassword( oGet )
LOCAL nKey, ;
nChar, ;
cKey
// read the GET if the WHEN condition is satisfied
IF ( GetPreValidate(oGet) )
// activate the GET for reading
oGet:SetFocus()
oGet:cargo := ""
DO WHILE ( oGet:exitState == 0 )
// check for initial typeout (no editable positions)
IF ( oGet:typeOut )
oGet:exitState := GE_ENTER
ENDIF
// apply keystrokes until exit
DO WHILE ( oGet:exitState == 0 )
nKey := InKey(0)
IF nKey >= 32 .AND. nKey <= 255
oGet:cargo += Chr(nKey)
GetApplyKey(oGet, Asc("*"))
ELSEIF nKey == K_BS
oGet:cargo := Substr(oGet:cargo, 1, Len(oGet:cargo) - 1)
GetapplyKey(oGet, nKey)
ELSEIF nKey == K_ENTER
GetApplyKey(oGet, nKey)
ENDIF
ENDDO
// disallow exit if the VALID condition is not satisfied
IF ( !GetPostValidate(oGet) )
oGet:exitState := 0
ENDIF
ENDDO
// de-activate the GET
oGet:KillFocus()
ENDIF
IF oGet:exitState != 7
oGet:varPut(oGet:cargo)
ENDIF
RETURN