la-foudre870
Messages postés18Date d'inscriptionvendredi 15 mai 2015StatutMembreDernière intervention25 décembre 2015
-
10 déc. 2015 à 21:03
la-foudre870
Messages postés18Date d'inscriptionvendredi 15 mai 2015StatutMembreDernière intervention25 décembre 2015
-
12 déc. 2015 à 08:13
Bonjour, j'essaye de faire un programme permettant des modifications de mots de passe (ancien, nouveau, confirmation) et j'ai un problème pour valider pourriez vous m'aider, voici l'ensemble du code,
Il y a 2 problèmes,
- le contrôle du mot de passe est incorrect à à chaque caractère,il devient bon une fois le mot de passe totalement saisie comment faire pour contourner ce problème
- je n'arrive pas à faire valider mes changement car la boucle ne fonctionne pas
Merci d'avance
Imports System.IO
Imports System.IO.File
Public Class Form4
Private Property Lignemdp As String
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub
Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
End Sub
Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
Dim SM As New StreamReader("C:\temp\M.txt")
Lignemdp = SM.ReadLine
If TextBox1.Text = Lignemdp Then
MsgBox("ANCIEN MOT DE PASSE CORRECTEMENT RENSEIGNÉ")
GoTo CHANGEMENT
SM.Close()
Else
MsgBox("ERREUR DE SAISIE")
End If
CHANGEMENT:
Dim NMDP As String
NMDP = TextBox2.Text
Dim NMDPV As String
NMDPV = TextBox3.Text
If NMDPV = NMDP And NMDP <> "" And NMDP.Length > 5 Then
MsgBox("MOTS DE PASSE IDENTIQUE")
GoTo Validation
Else
MsgBox("INCOHERENCE ENTRE LES MOTS DE PASSE OU PAS ASSEZ COMPLEXE")
End If
End Sub
Validation:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
System.IO.File.Delete("C:\Temp\M.txt")
Dim SMN As New StreamWriter("C:\temp\M.txt")
SMN.Write(TextBox3.Text)
SMN.Close()
Me.Close()
End Sub
End Class
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 10 déc. 2015 à 21:43
GOTO est u mot clé à bannir en VB.
Utilise des structures et des techniques plus adaptées.
Par exemple dans :
TextBox1_TextChanged
Si le mdp n'est pas bon, tu passe dans le Else puis à ton étiquette de changement de mdp, le tout sans fermer l'accès au fichier.
Si après le MsgBox (je reviendrais après sur cette instruction) tu mets
Return
Le code de la procédure s'arrêtera là et pas besoin de GOTO.
De plis, actives Option Strict et Option Explicit dans ton projet et retires l'import "Microsoft.VisualBasic".
Bonjour,
Par ailleurs :
Si comme tout le donne à penser TexBox1 est une textbox de saisie au clavier, le choix de l'évènement TextChanged est très maladroit puisqu'il se déclencherait à chaque touche pressée.
Il me parait encore plus maladroit de créer l'objet SM (en New, de surcroît) et de déterminer Lignemdp à chaque changement (donc à chaque frappe)
EDIT : on voit par ailleurs assez bien (la comparaison faite) que le mot de passe est en clair dans le fichier texte. A quoi bon utiliser un mot de passe aussi vulnérable ?
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
la-foudre870
Messages postés18Date d'inscriptionvendredi 15 mai 2015StatutMembreDernière intervention25 décembre 2015 11 déc. 2015 à 19:55
Salut à tous merci pour vos conseils,
je débute en vb alors je ne suis pas un as,
c'est pour l'instant la seul solution que j'ai trouvée.
Pourquoi faut il utiliser Option Strict et Option Explicit ?
peu tu m'écrire un code que je pourrai adapter pour mon projet
merci d'avance
Whismeril
Messages postés19022Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention17 avril 2024656 11 déc. 2015 à 20:15
Bonsoir, si tu débutes, alors le mieux est de suivre un cours pour débutant.
NHenri plus haut t'as mis un lien vers un article de mon cru, dans lequel je donne un lien vers un très bon cours.
la-foudre870
Messages postés18Date d'inscriptionvendredi 15 mai 2015StatutMembreDernière intervention25 décembre 2015 12 déc. 2015 à 08:13
11 déc. 2015 à 00:23