Creation d'un programme proteger

Résolu
cs_Naevis Messages postés 15 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 10 janvier 2009 - 28 déc. 2008 à 21:11
cs_Naevis Messages postés 15 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 10 janvier 2009 - 29 déc. 2008 à 13:47
Salut à tous,

Je cherche depuis un bon moment. Sur VB.net, comment créer une page (form) avec un login et un mot de passe.
J'ai une base de donnée access ou j'ai pris des users et des mdp.
Ce que je souhaiterais, c'est pouvoir rentrer un login et un mdp et grâce à un contrôle (bouton), Il y a une vérification qui se fait.
J'ai cherché un peu mais pas de lumière au bout.
Après divers tests, j'ai décidé de tout mettre dans une listbox. et mettre une textbox au dessus.
Le truc qu'y a c'est que je ne sais pas comment faire pour que la textbox puisse lire les données (items) de la listbox et dire si c'est OK.
J'ai regardé rien que avec des textboxs mais sans succès.
Est-ce que quelqu'un pourrait m'aider???

Merci d'avance.

8 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
29 déc. 2008 à 13:39
Oups, je viens de voir çà, je t'avais pas mis la bonne version pour le code ci-dessus, voici la bonne :

' ListBox1 > Contient les identifiants des utilisateurs
' ListBox2 > Contient les mots de passe des utilisateurs
' TextBox1 > Identifiant entré par l'utilisateur
' TextBox2 > Mot de passe entré par l'utilisateur

' Variable indiquant si l'authentification a été
' réussie
Dim userOK As Boolean =   False

' Boucle sur tous les items de ListBox1
For nb As Integer  = 0 To ListBox1.Items.Count - 1

     ' On teste si l'utilisateur existe
     If ListBox1.Items.Contains(TextBox1.Text) =   False Then
         ' L'utilisateur n'existe pas
         MsgBox( "Utilisateur inconnu" )
         Exit For
     Else
          ' Code exécuté si l'utilisateur existe
          '
          ' Teste si l'identifiant de l'utilisateur correspond
          ' à son mot de passe
          If ListBox1.Items(nb)  = TextBox1.Text And ListBox2.Items(nb) =  TextBox2.Text  Then
               MsgBox( "Authentification réussie" )
               userOK  = True
          End If
     End If

     ' Teste si l'identifiant et le mot de passe concorde pas et que le
     ' dernier utilisateur a été vérifié     If userOK   False And  ListBox1.Items.Count - <gras>1 </gras> nb Then
          MsgBox( "Erreur : Mot de passe incorrect" )
     End If

Next

++

Fauve

<hr size ="2" width="100%" />Pensez : Réponse Acceptée 
3
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
28 déc. 2008 à 21:30
Salut,

Pour qu'une TextBox puisse récupérer et lire les items d'une ListBox, voici comment faire :

1° On rajoute sur la Form, 2 contrôles TextBox1 et ListBox1

2° On double-clic sur ListBox1 et l'évènement ci-dessous apparait :
       



Private Sub
 ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    
End Sub





3° Dans cet évènement, il faut mettre le code suivant :



TextBox1.Text = ListBox1.SelectedItem







<hr size="2" width="100%" />
Dés qu'un item sera sélectionné dans ListBox1, celui-ci sera affiché avec TextBox1

++

Fauve

<hr size="2" width="100%" />
Pensez : Réponse Acceptée 
0
cs_Naevis Messages postés 15 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 10 janvier 2009
28 déc. 2008 à 21:33
je vois ce qu'il faut faire mais le truc qui à c'est que la listbox est caché... Donc selecteditems ne va pas dans ce cas là...
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
29 déc. 2008 à 11:24
Salut,

Dans ce cas là, il faut que tu utilises la propriété Items de ta ListBox

Ainsi, ListBox1.Items(0) te retourne le premier item de ta ListBox

Pour récupérer le contenu d'un item dans une TextBox, il faut faire : TextBox1.Text = ListBox1.Items(0)

ListBox1.Items.Count te retourne le nombre d'items que contient ta ListBox (utilisé surtout pour faire une boucle et passer en revue tous les items)

++

Fauve
<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Naevis Messages postés 15 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 10 janvier 2009
29 déc. 2008 à 11:46
J'ai testé.
J'y suis presque mais le problème, c'est que le Listbox1.Items(0) me retourne que une valeur.
Donc si j'ai plusieurs utilisateurs (nombre indifini) bin je suis coincé.
ListBox1.Items.Count, j'ai eu des problèmes au début car il faisait référence à une variable double....

Donc j'ai décidé de nommé deux variables, une pour user et une por mdp.
J'ai assigné le listbox*.Items.count
Et j'ai placé les deux dans un IF then else.
Mais je retrouve le même problème que Listbox*.Items(0).
Je vais essayer dans une boucle, je ne sais pas encore laquelle ("jusqu'a" je crois que c'est mieux)

Mais après ce serait bien que je fasse correspondre les deux listboxes. J'entend par là que Si l'items 1 de la listbox 1
et que l'items1 de la listbox2 sont Correct alors ouvrir form suivante. Idem pour chaque items. J'aimerais qu'il y ai un lien entre chacun de c'est items. Le 1 va avec le 1, le 2 va avec le 2,....
Je vais continuer à chercher.
0
cs_bernardo67 Messages postés 41 Date d'inscription dimanche 28 mai 2006 Statut Membre Dernière intervention 20 janvier 2009
29 déc. 2008 à 13:11
Naevis,

J'ai pas trop bien compris ce que tu souhaite faire, mais ça me paraît être une grosse usine à gaz pour un truc simple...
Peut-être peux-tu poster des aperçus de ton from?
(Il existe un LoginForm sous visual studio, peut-être que ça peut t'aider...)

Bernardo.
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
29 déc. 2008 à 13:22
Voici un moyen comment y parvenir, ça fonctionne très bien chez moi :




' ListBox1 > Contient les identifiants des utilisateurs


' ListBox2 > Contient les mots de passe des utilisateurs


' TextBox1 > Identifiant entré par l'utilisateur


' TextBox2 > Mot de passe entré par l'utilisateur




' Boucle sur tous les items de ListBox1



For
 nb As Integer =   0  To ListBox1.Items.Count - 1

     ' On teste si l'utilisateur existe
     If ListBox1.Items.Contains(TextBox1.Text)  = False Then
          ' L'utilisateur n'existe pas
          MsgBox( "Utilisateur inconnu" )
          Exit For
     Else
          ' Code exécuté si l'utilisateur existe
          '
          ' Teste si l'identifiant de l'utilisateur correspond
          ' à son mot de passe          If ListBox1.Items(nb)   TextBox1.Text  And  ListBox2.Items(nb)   TextBox2.Text Then
               ' L'identifiant et le mot de passe concorde
               MsgBox( "Authentification réussie" )
               Exit For
          Else
               ' L'identifiant et le mot de passe concorde pas
               MsgBox("Erreur : Mot de passe incorrect")
               Exit For
          End If
     End If

Next





++

Fauve

<hr size ="2" width="100%" />
Pensez : Réponse Acceptée 
0
cs_Naevis Messages postés 15 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 10 janvier 2009
29 déc. 2008 à 13:47
OUaaaahhh

Cha marche :).
Merchi beaucoup pour le coup de main.
0
Rejoignez-nous