Fórum trocar senha tempo execução? é possivel? #175989
19/08/2003
0
estou fazendo um programa que pede uma senha de acesso gostaria de saber com faço para trocar esta senha em tempo de execução a logica é esta dentro de um botao
begin
if edit1.text<> ´teste´ then
showmessage (´senha incorreta acesso negado ao sistema´);
end;
gostaria de saber como posso trocar esta senha em tempo de execução. e poder gravala para ficar definitiva no programa ......nao estou conseguindo resolver este poblema.........pois o cliente quer que eu coloque uma poçao para ele poder trocar esta senha... mas nao estou conseguindo fazer esta logica
Keliniciante
Curtir tópico
+ 0Posts
19/08/2003
Khelphi Wanstear
Ola amigo... Ñão entendi direito a sua dúvida mas pela que pouco compreendi é assim vc tem um registro de senha dos sistema
ex:
tabela usuários:
nome - senha
João - 50135
se for assim é só vc alterala como um registro normal...ex
vc localiza o registro pela usuário e altera a senha, se o campo chave for o nome vc não podera alterar o nome somente a senha... é mais ou menos assim, bem facinho, se não for isso e tiver mais dúvidas é so mandar para meu e-mail denis@khan.com.br
Gostei + 0
19/08/2003
Andredelfino
jogue em variaveis as seguinte informações:
Data/Hora: 19/08/2003 21:37hs
DD := 19
MM := 08
YY := 2003
HS := 21
MIN:= 37
SENHA := (DD*HS)+INT(YY/MM)+MIN; /// Resultado = 686
se não quiser usar a dica do ´Khelphi Wanstear´ esta seria uma solução, mas não seria a forma correta de fazer a não ser que seja uma senha de liberação especial, mas o correto é realmente usar uma tabela para gravar o registro de usuarios e grave a senha cryptografada ou pode até usar uma forma de calculo para gravar a senha usando o codigo ascii para calcular um valor a gravar na tabela e a confirmação da senha pode ser o resultado da senha informada e calculada comparando com a senha no campo da tabela.
espero ter ajudado
boa sorte
Gostei + 0
19/08/2003
Helbert
Bom eu uso o seguinte procedimento para validar Login e Senha.
//Procedimento para verificar Login e Senha do Usuário. procedure TF_Login.BitBtn1Click(Sender: TObject); Var CONTEUDOSENHA : TStringField ; begin If Not (DM_Modulo.TabLogin.FindKey([Edit1.Text])) Then Begin ShowMessage(´Login recusado, usuário(a) não cadastrado(a)...´) ; Edit1.SetFocus ; Exit ; End ; CONTEUDOSENHA := DM_Modulo.TabLogin.FindField(´Senha´) as TStringField ; Encrypt(Edit2.Text); If (CONTEUDOSENHA.Value <> Edit2.Text) Then Begin ShowMessage(´Login recusado, senha inválida... ´) ; Edit2.SetFocus ; Exit ; End ; if ((DM_Modulo.TabLoginLogin.Value = Edit1.Text) and (DM_Modulo.TabLoginSenha.Value = Edit2.Text)) then begin F_Menu.Enabled:=True; F_Menu.LinhaStatus.Panels[1].Text:=(´ Logado como: ´+ Edit1.Text); end; F_Login.Release ; end;
Lembrando que [u:20e5611982]Encrypt(Edit2.Text);[/u:20e5611982], é uma função que uso para criptografar senha, caso queira fazer uso desta função posso te passar por email depois.
Bom além deste procedimento uso também os seguintes procedimentos para cadastrar e alterar Login e Senha.
//Procedimento para cadastrar Login. procedure TF_CadLogin.BitBtn1Click(Sender: TObject); var opc:word; Begin if (DM_Modulo.TabLogin.State in [dsInsert, dsedit]) then begin ShowMessage(´ Nenhum campo pode ficar em branco ´); DBEdit1.SetFocus; exit; end else DM_Modulo.TabLogin.post; opc:=MessageDlg(´Login cadastrado com sucesso!´+13+ ´Deseja cadastrar um novo Login´ ,mtConfirmation,[mbYes,mbNo],0); if opc = mrNo then begin F_CadLogin.Close; F_Menu.Enabled:=True; end else DM_Modulo.TabLogin.Append; end;
//Procedimento para alterar Login. procedure TF_CadLogin.BitBtn3Click(Sender: TObject); var texto:string; begin texto:=´´; if (DM_Modulo.TabLogin.State in [dsInsert, dsedit]) then if InputQuery(´Kymera´,´ Informe o Login a ser alterado! ´,Texto) then if ( DM_Modulo.TabLogin.FindKey([ texto ])) then begin DM_Modulo.TabLogin.edit; BitBtn1.Visible:=false; BitBtn4.Visible:=true; end else ShowMessage(´ Login não encontrado! ´); F_CadLogin.Refresh; DBEdit1.Text:=´´; DBEdit2.Text:=´´; DBEdit6.Text:=´´; DBComboBox1.Text:=´´; DBComboBox2.Text:=´´; Edit1.Text:=´´; end;
Um último detalhe, é que nestes exemplos estou usando BDE e Access.
Bom, no mais espero ter ajudado. :D
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)