Cette unité permet de se connecter à un serveur de sgbd en présentant un écran où on peut saisir le tandem user//pass
Mais comment récupérer le user saisi dans cet écran ?
Cette unité permet de se connecter à un serveur de sgbd en présentant un écran où on peut saisir le tandem user//pass
Mais comment récupérer le user saisi dans cet écran ?
Tu dois appeler la fonction
Le résultat de la demande est contenu dans les paramètres Var que tu passes à la fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function LoginDialog(const ADatabaseName: string; var AUserName, APassword: string): Boolean;
Voir le source dans \Source\vcl\dblogDlg.pas.
Est-ce à dire qu'il faut appeler le dialogue de Login par programme ?Tu dois appeler la fonction
ou bien
Lorsque ce dialogue est fermé (par MrOK) il suffit d'appeler cette fonction ?
Pour afficher le dialogue :
La fonction renvoie true quand on a cliqué sur OK. Il n'y a aucun contrôle d'effectué sur la base de données qui peut être inexistante. Le seul but est de récupérer un utilisateur et un mot de passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Uses DBLogDlg; procedure TForm1.Button1Click(Sender: TObject); Var Pass,User: String; begin if LoginDialog('Mabase',Pass,User) Then ShowMessage('User : '+User+' , Password : '+Pass); end;
.
Voici l'implémentation:
En début de FormShow.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if LoginDialog('Base',Pass,UserName) Then With DM1.ZConnection1 do begin HostName := 'localhost'; Database := 'base'; User:=UserName; Password:=Pass; end else begin Form1.Close; exit; end;
Merci
Partager