Creation d'un programme proteger

[Résolu]
Signaler
Messages postés
15
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
10 janvier 2009
-
Messages postés
15
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
10 janvier 2009
-
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

Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
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 
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
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 
Messages postés
15
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
10 janvier 2009

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à...
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
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 
Messages postés
15
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
10 janvier 2009

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.
Messages postés
41
Date d'inscription
dimanche 28 mai 2006
Statut
Membre
Dernière intervention
20 janvier 2009

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.
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
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 
Messages postés
15
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
10 janvier 2009

OUaaaahhh

Cha marche :).
Merchi beaucoup pour le coup de main.