Página 1 de 2
Campo Senha
Enviado: 08 Out 2007 11:26
por mclpaltrin
Prezados
- Estou com duvida Cruel.
- Como faço num campo senha , na hora da informação exibir o * ?
Grato

Enviado: 08 Out 2007 11:38
por alaminojunior
Estou tentando fazer a bendita GetPass do proprio Clipper funcionar com o xHarbour, porém, acho que estou esbarrando em alguma coisa. Será que alguem se habilita ?
Enviado: 08 Out 2007 12:01
por sygecom
Enviado: 08 Out 2007 16:48
por alaminojunior
É verdade !!!
Mastigando um pouco mais...
Código: Selecionar todos
PROCEDURE Main
LOCAL cPassword := Space(20)
CLS
SET CONFIRM ON
cPassWord := ;
GetSecret( cPassword, 10, 10, .T., "Enter your password: ")
IF cPassWord <> "xHarbour"
Alert( "Access denied" )
QUIT
ENDIF
Alert( "Access granted" )
RETURN
Enviado: 08 Out 2007 17:01
por Maligno
E se você precisar informar um campo de senha numa lista de vários campos?
Enviado: 08 Out 2007 17:04
por sygecom
Mude a variavel para cada campo....
cPassWord1
cPassWord2
cPassWord3
Enviado: 08 Out 2007 17:04
por alaminojunior
Por isso que penso num jeito de usar a GetPass do Clipper.
Enviado: 08 Out 2007 17:06
por Maligno
Pelo jeito, o problema está na interação de GetSecret() com uma lista de GETs. Se for apenas nome de log-in e senha, uma gambiarra resolve, mas se houver uma senha numa lista grande, já era.
Campo Senha
Enviado: 15 Ago 2018 11:12
por clodoaldomonteiro
Reabrindo o Tópico:
Teria como incluir essa rotina na GetSys?
Código: Selecionar todos
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 == GE_NOEXIT )
// check for initial typeout (no editable positions)
IF ( oGet:typeOut )
oGet:exitState := GE_ENTER
ENDIF
// apply keystrokes until exit
DO WHILE ( oGet:exitState == GE_NOEXIT )
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 := GE_NOEXIT
ENDIF
ENDDO
// de-activate the GET
oGet:KillFocus()
ENDIF
IF oGet:exitState != GE_ESCAPE
oGet:varPut(oGet:cargo)
ENDIF
Eu a peguei no Site do Vagucs, rotina GetPass.
Campo Senha
Enviado: 16 Ago 2018 23:17
por JoséQuintas
Será que precisa mesmo ser na getsys?
Veja se interessa:
https://github.com/JoseQuintas/JoseQuin ... secret.prg
Campo Senha
Enviado: 21 Ago 2018 09:07
por syslink
show show!
Campo Senha
Enviado: 21 Ago 2018 10:02
por JoséQuintas
Agora que vi, tem um pequeno erro, que como uso geralmente como 20, não percebi.
deveria ser:
Pro tamanho ficar de acordo com o que foi passado, e não 20.
Campo Senha
Enviado: 21 Ago 2018 16:07
por clodoaldomonteiro
É que no GetSys vc pode navegar pelos campos, caso vc esteja Getando vários campos e um deles seja a Senha.
Mas a tua função está ótima.
Campo Senha
Enviado: 22 Ago 2018 08:33
por Itamar M. Lins Jr.
Ola!
Essas rotinas de senha já tem uma falha logo de cara, pois "revelam" o tamanho da senha.
Em HTML por exemplo não sabemos nem o tamanho da senha.
É a mesma coisa do @ x,y say "senha:" get xsenha só que em html funciona em tudo e é mantido por muita gente.
Saudações,
Itamar M. Lins Jr.
Campo Senha
Enviado: 22 Ago 2018 08:54
por janio
Clodoaldo,
ha tempos uso uma função simples que peguei garimpando pela internet:
@ 10,05 GET vSENHA PICT "@K"
ATAIL(GETLIST):READER := {|BL1|GETSEN(BL1)} // Pega csenha e mostra *
Read
Código: Selecionar todos
FUNCTION GETSEN(P1)
LOCAL L2, L3, L4
IF GETPREVALIDATE(P1)
P1:SETFOCUS()
P1:CARGO := ""
DO WHILE P1:EXITSTATE() == 0
IF P1:TYPEOUT()
P1:EXITSTATE := 5
ENDIF
DO WHILE P1:EXITSTATE() == 0
L2 := Inkey(0)
IF L2 >= 32 .AND. L2 <= 255
P1:CARGO := P1:CARGO() + CHR(L2)
GetApplyKey(P1, 42) // NOME COMPLETO
ELSEIF L2 = 8
P1:CARGO := SUBSTR(P1:CARGO(), 1, LEN(P1:CARGO()) - 1)
GetApplyKey(P1, L2) // NOME COMPLETO
ELSEIF L2 = 13 // Sai com tecla ENTER e retorna a
// senha digitada
GetApplyKey(P1, L2) // NOME COMPLETO
ELSEIF L2 = 27 // Sai com Tecla ESC e retorna vazio
GetApplyKey(P1, L2) // NOME COMPLETO
ENDIF
ENDDO
IF .NOT. GETPOSTVALIDATE(P1) // NOME COMPLETO
P1:EXITSTATE := 0
ENDIF
ENDDO
P1:KILLFOCUS()
ENDIF
IF P1:EXITSTATE() <> 7
P1:VARPUT(P1:CARGO())
ENDIF
RETURN
É que no GetSys vc pode navegar pelos campos, caso vc esteja Getando vários campos e um deles seja a Senha.
Mas a tua função está ótima.
Essa vc pode colocar em uma tela com varios get's q nao tem problema