07 Set 2006 11:35
10 Set 2006 18:05
Function Verifica_Login()
Local cUser := AllTrim( Form_acesso.p_User.Value )
Local cPass := AllTrim( Form_acesso.p_password.Value )
Local aStatusDoUsuario := {}
*** Se o TextBox p_User não foi informado
If Empty( cUser ) .Or. Empty(cPass) //coloque aqui mais uma comparação de senha vazia
MsgINFO("Usuário ou Senha não informado!!",SISTEMA)
Form_acesso.p_user.SetFocus
Return Nil
EndIf
*** Posiciona o Arquivo Accesso no Indice 2 - Indexado por Apelido
Acesso->(DBSetOrder(2))
*** Se o Apelido digitado em TextBox p_User for encontrado
If Acesso->(DBSeek( cUser ))
*** Decriptografa a Senha do usuário armazenada no arquivo e compara com a senha digitada
If cPass != Decripta( Acesso->Senha ) // mude a orden da comparação
*** Se for diferente, envia mensagem e posiciona o cursor no campos p_password
MsgInfo("Senha de acesso Inválida!!",SISTEMA)
Form_acesso. p_password .SetFocus
Return Nil
EndIf
** Se a senha for válida, efetua o release da janela de Login
Release Form_acesso
Else
** Se o usuário/Apelido não existir, emite mensagem e posiciona o cursor em p_User
MsgInfo("Usuário: "+cUser+" não Cadastrado!!",SISTEMA)
Form_acesso.p_User.SetFocus
Return Nil
EndIf
16 Set 2006 16:14
19 Set 2006 20:26
Function Decripta( cPalavra )
Local nTam := 0
Local cChave := "@#$%*"
Local cCripitado := ""
Local i :=0
cPalavra := Iif( Empty( cPalavra ), "Ze Coolmeia", cPalavra )
nTam := Len( cPalavra )
Do While Len( cChave ) < nTam
cChave += cChave
EndDo
cCripitado := ""
For i := 1 To nTam
cCripitado += Chr( Asc( SubStr( cPalavra, i, 1 ) ) - Asc( SubStr( cChave, i, 1 ) ) )
Next
Return cCripitado
/*
*/
Function Encripta( cPalavra )
Local nTam := 0
Local cChave := "@#$%*"
Local cCripitado := ""
Local i :=0
cPalavra := Iif( Empty( cPalavra ), "Ze Coolmeia", cPalavra )
nTam := Len( cPalavra )
Do While Len( cChave ) < nTam
cChave += cChave
EndDo
cCripitado := ""
For i := 1 To nTam
cCripitado += Chr( Asc( SubStr( cPalavra, i, 1 ) ) + Asc( SubStr( cChave, i, 1 ) ) )
Next
Return cCripitado
19 Set 2006 22:44