Anomalie avec la validation de mon mot de passe...
Lunasoft
Messages postés75Date d'inscriptionsamedi 28 juin 2008StatutMembreDernière intervention16 août 2011
-
13 déc. 2008 à 00:46
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
13 déc. 2008 à 16:11
Bonjour à Tous!
J'ai un problème... Je veux m'expliquer pour vous aider à me comprendre.
Il s'agit juste de la procedure "mot de passe" qui marche bien mais il y a quelques heures que j'ai changé un peu
de stratégie que ça loupe un peu.
Avant tout, j'informe que j'ai sur mon form un combobox et un edit. Dans mon combobox, j'avais les noms des
utilisateurs. Et l'edit, pour le mot de passe. Voici les codes qui ne loupe pas:
procedure TSenha.BitBtn1Click(Sender: TObject);
var achou : boolean;
begin
achou := false;
try
while not ADOPassword.eof do begin
if (ADOPassword.fieldbyname('utilizador').asstring = Utilizador.text) and
(ADOPassword.fieldbyname('senha').asstring = Senha.text)
then begin
achou := true;
Entrada1.show;
end;
ADOPassword.next;
end;
if not achou then begin
showmessage('senha errada!');
senha.SetFocus;
senha.Clear;
AdoPassword.Close;
AdoPassword.Open;
end;
finally
//senha.Visible := false;
Plus tard, j'ai changé un peu ma manière de proceder avec "utilisateur" et "mot de passe".
Que j'fait?
J'ai vidé le dit combobox et j'ai écrit les codes ci-dessous afin aspirer (ou importer) toujours les noms des utilisateurs de la base de données.
procedure TSenha.FormCreate(Sender: TObject);
begin
ADOPassword.Open;
ADOPassword.DisableControls;
try
while not ADOPassword.Eof do
begin
Utilizador.Items.Add(ADOPassword.FieldByName('Utilizador').AsString);
ADOPassword.Next;
end;
finally
ADOPassword.EnableControls;
end;
Mais alors, mon petit macabre commence là.
Curieusement, quand j'insère le mot de passe (même s'il est correct). Le moment de la validation, il n'affiche pas de
message "mot de passe incorrecte". Mais du moins, il faut valider une deuxième fois pour avoir accès (ou passer à
un autre form).
Tantis que les premiers ne me font pas ce problème. Que ça peut être?
Merci,
LunaSoft
A voir également:
Anomalie avec la validation de mon mot de passe...
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 13 déc. 2008 à 16:11
bonjour,
procedure TSenha.FormCreate(Sender: TObject);
begin
// try
// ADOPassword.DisableControls;
ADOPassword.Open;
while not ADOPassword.Eof do
begin
Utilizador.Items.Add(ADOPassword.FieldByName('Utilizador').AsString);
ADOPassword.Next;
end;
// finally
// ADOPassword.EnableControls;
// end;
ensuite, pour gérer correctement la connexion, il faut tester à la fois le Login et le password.
Autrement dit, il faut traiter ces élèments dans un évènement OnChange
Le même pour les deux : le Combobox et l'edit et dès que les deux sont corrects alors tu allumes un bouton qui sur un clic ouvre ta forme.