Código: Selecionar todos
Function Senha()
Local wSenha := "",;
wTamanho := 6 ,;
VSENHA := "",;
wNroDigitos := 0
LIN:=18
COL:=42
SET CURSOR ON
Do While .T.
If wNroDigitos=wTamanho
Exit
EndIf
@ Lin,Col Say ""
VSENHA=INKEY(0)
wDigito=Inkey(0)
Do Case
CASE VSENHA=13
Case wDigito=13
Exit
CASE VSENHA=27
Case wDigito=27
Exit
CASE VSENHA=8
Case wDigito=8
wNroDigitos=wNroDigitos-1
If wNroDigitos<0
wNroDigitos=0
Loop
EndIf
Col=Col-1
@ Lin,Col Say " "
wSenha=Subs(wSenha,1,Len(wSenha)-1)
Loop
EndCase
wNroDigitos = wNroDigitos+1
WSENHA = WSENHA+CHR(VSENHA)
wsenha = wSenha+Chr(wDigito)
@ Lin,Col Say Chr(42)
Col=Col+1
Loop
EndIf
Col=Col-1
@ Lin,Col Say " "
wSenha=Subs(wwSenha,1,Len(wSenha)-1)
Loop
EndCase
wNroDigitos = wNroDigitos+1
WSENHA = WSENHA+CHR(VSENHA)
wsenha = wSenha+Chr(wDigito)
@ Lin,Col Say Chr(42)
Col=Col+1
EndDo
wSenha=Wsenha+Space(wTamanho)
wSenha=Wsenha+Space(wTamanho-Len(wSenha))
Return(Uppe(wSenha))
//wDigito := "",; 254Na minha rotina de cadastro tentei usar esta codificação ACIMA desta forma
Código: Selecionar todos
Do while.t.
Vusuario=space(7) ; wSenha=Space(6)
Read
Use usuario shared index nmusu
Seek vusuario
If found()
Identificação já Utilizada
Loop
Endif
VSenha = Senha(12,35)
@ 18,42 get wSenha pict “@!”
read
@ say confirma os dados !
if confirma= “s”
APPE BLANK
REPLACE SENHA WITH WSENHA
ENDIF
ENDDOO que tenho que fazer para a rotina de cadastro de senha ecoe asterisco ao digitar e gravar no banco de dados sem dar erros.
O que tenho que modificar no exemplo da function senha() ou tenho que ter uma rotina diferente do exemplo function senha(). Ajudem-me por favor. Preciso urgente de uma dica. É a primeira vez que utilizo asterisco em senha, não tenho esperiência.

