DJsaadi95
Messages postés21Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 9 mai 2005
-
19 sept. 2004 à 17:28
DJsaadi95
Messages postés21Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 9 mai 2005
-
19 sept. 2004 à 21:00
DSL je suis encore un débutant et je ne sais pas pourquoi mais quand j'écris le bon pass dans la text box ben sa affiche le message d'erreur que j'ai mi quand le pass est faux
Voici le code de la form2:
Dim pass As Integer
_______________________________
Private Sub Command2_Click()
pass = FreeFile
Open "C:\Program Files\m.txt" For Input As #pass
If Text1.Text = Input(LOF(1), #pass) Then <-c la kil ya une ereur
Unload Me
Form1.Show
Else
MsgBox "Le mot de passe est incorrect !", vbOKOnly + vbExclamation, "Le mot de passe est incorrect !"
End If
Close #pass
End Sub
____________________________________
Et voici celui de la form1 :
Dim pass As Integer
__________________________
Private Sub Command1_Click()
pass = FreeFile
If Text1.Text <> "" Then
FileCopy "m.txt", "C:\Program Files\m.txt"
Open "C:\Program Files\m.txt" For Output As #pass
Print #pass, Text1.Text
Close #pass
SaveSetting App.Title, "Pass", "Affichage", "1"
Else
MsgBox "Veuillez Ecrire 1 mot de passe !", vbOKOnly + vbExclamation, "Veuillez choisir un mot de passe !"
End If
End Sub
_____________________________
Private Sub Form_Load()
verif = GetSetting(App.Title, "Pass", "Affichage")
If verif = "1" Then
Unload Me
Form2.Show
Else
End If
End Sub
______________________
Voila jespere que vou répondrez vite Merci
A voir également:
PB avec system de pass a partir d'un fichier texte aidez moi SVP
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 19 sept. 2004 à 19:54
Bon, je reposte puisque ça n'a pas marché.
A la place de :
If Text1.Text = Input(LOF(pass), #pass) Then
met
line input #pass,s 's étant défini en string
If Text1.Text = s Then
Explication, avec Input(LOF(pass), #pass), tu charges tout ton m.txt. Il doit donc ne contenir que la chaine à comparer avec text1.text. S'il y a autre chose en plus (même un simple retour chariot) c foutu. Donc, pour être sûr, utilise line input.
Cordialement, CanisLupus
Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 19 sept. 2004 à 20:00
supprime la ligne rouge de mon précédent post et modifie ceci :
If Text1.Text = Input(LOF(pass) - 2, #pass) Then
Explication :
Quand tu écris le fichier (Print #pass, Text1.Text), il rajoute un reour chariot (vbCrLf) c'est à dire 2 caractères Chr(10) et Chr(13)
d'où le - 2 pour ne conserver que le mot saisi quand on relit le fichier.
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 19 sept. 2004 à 19:34
tu es en mode création ,essaie ceci :
Open "C:\Program Files\m.txt" For Input As #pass
Debug.Print "*" & Text1.Text & "*", "*" & Input(LOF(pass), #pass) & "*"
If Text1.Text = Input(LOF(pass), #pass) Then
Il t'affichera dans la fenêtre de débogage (en bas de l'écran)
les 2 textes encadrés par des *
Compare ces 2 textes et vérifie qu'ils sont identiques.
DJsaadi95
Messages postés21Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 9 mai 2005 19 sept. 2004 à 19:46
Ben cette foi sa me fais 1 erreur d'éxécution 62
"L'entrée Depasse la Fin du fichier"
et sa me souligne
If Text1.Text = Input(LOF(pass), #pass) Then
sinon ds la fenetre dexecution en bas a dorite ya écrit
*azerty* *azerty
*
DJsaadi95
Messages postés21Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 9 mai 2005 19 sept. 2004 à 21:00
Les 2 réponses sont bonnes :
Celle de Rene38 avec:
If Text1.Text = Input(LOF(pass) - 2, #pass) Then
et celle de Canis Lupus ou il faut remplacer :
If Text1.Text = Input(LOF(pass), #pass) Then
Par
line input #pass,s 's étant défini en string
If Text1.Text = s Then