Login et mot de passe

Fermé
manonfire02 Messages postés 32 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 22 mars 2011 - 9 mai 2010 à 15:14
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 - 11 mai 2010 à 18:17
bonjour;
je réalise une application en VB.net et je dois tester sur un login et un mot de passe pour me connecter à l'application et ce login et ce mot de passe sont enregistrés dans une fichier.txt voila mon code:
Dim f As New FileStream("d:\mp.txt", FileMode.Open, FileAccess.Read)
Dim reg As New StreamReader(f)
Dim ligne As String = reg.ReadLine()
Dim tab() As String = ligne.Split("/")
While ligne <> Nothing
If tab(0) = ligne And tab(1) = ligne Then
Me.Hide()
Form2.Show()
End If
reg.Close()
f.Close()
End While
ce code ne marche pas alors comment dois je procéder .c'est urgent

2 réponses

BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
Modifié par BadGuitarist le 9/05/2010 à 17:46
Bonjour Manonfire02,

1- Le test principal est sans doute faux :
  
  If tab(0) = ligne And tab(1) = ligne Then  
  


En effet :
tab(0) prend pour valeur la sous-chaine de ligne du caractère 0 jusqu'au caractère avant le /
tab(1) prend pour valeur la sous-chaine de ligne du caractère après / jusqu'au dernier caractère de ligne

2- Je pense qu'il y a une erreur aussi dans ton algo :
Comparer tab et ligne ne sert à rien. En fait il faut que tu compares tab(0) et tab(1) issus de ton fichier de mots de passe à des valeurs saisies par l'utilisateur dans un formulaire.


voila mon algo (je ne sais pas programmer en VB.net, désolé) :
Dim f As New FileStream("d:\mp.txt", FileMode.Open, FileAccess.Read)   
Dim reg As New StreamReader(f)   
Dim ligne As String = reg.ReadLine()   
Dim tab() As String = ligne.Split("/")   

While ligne <> Nothing   
  If tab(0) = loginSasis And tab(1) = MotDePasseSaisi Then   
    Me.Hide()   
    Form2.Show()   
  End If   

  
End While   
reg.Close()   
f.Close()   
  

où LoginSaisi et MotDePasseSaisi sont les valeurs contenues dans des champs de saisie d'un formulaire d'identification.

Remarque : attention à la fermeture de reg et de f : si tu fais cette opération dans le while, tu compileras certes mais si ton fichier contient plus d'une ligne, tu devrais avoir une Fatal error à l'exécution car le While va chercher à lire une nouvelle ligne alors que tu as déjà fermé le stream et le fichier.

Bon courage


Cordialement,
BG.
0
manonfire02 Messages postés 32 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 22 mars 2011
9 mai 2010 à 19:26
dsl mais ca marche toujours pas j aimerai bien si vous m aidez un peu plus kan j'exécute le code ça bloque.
0
BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
9 mai 2010 à 19:34
Et qu'as-tu fais ?
Je te rappelle que je ne t'ai pas donné le code à mettre dans ton programme : je t'ai seulement corrigé l'algo. Je te rappelle que je ne connais pas le langage VB.net et donc je ne pourrais que te donner des pistes de réflexion.

Donnes-nous la solution que tu as mise en place pour corriger ta première version.
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
11 mai 2010 à 18:17
Bonjour,

Montrez nous la structure du fichier text ??
0