PB avec system de pass a partir d'un fichier texte aidez moi SVP [Résolu]

Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
- - Dernière réponse : DJsaadi95
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Derniè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
Afficher la suite 

14 réponses

Meilleure réponse
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 207 internautes nous ont dit merci ce mois-ci

Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 207 internautes nous ont dit merci ce mois-ci

Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
0
Merci
Bonjour
Normal :
If Text1.Text = Input(LOF(<s>1</s>pass), #pass)
C'est LOF (longueur du fichier n° pass et non n° 1)
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10
0
Merci
Essaie avec Input(LOF(pass), #pass)

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
0
Merci
Euh je vien d'essayer mais sa ne marche toujours pas c'est encore pareil
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10
0
Merci
C'est quoi l'erreur qui s'affiche ?

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
0
Merci
Ben ya toujours ma msgbox qui dit que le pass est faux
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
0
Merci
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.
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
0
Merci
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
*
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
0
Merci
la denière * à la ligne ?
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
0
Merci
Oui
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
0
Merci
Maintenant Il me dit
Erreur d'execution 364
"L'objet a été déchargé"
et il me souligne form1.show
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
0
Merci
Non c Bon !
merci Rene38 de tes réponse rapides et de ton aide et merci a toi aussi CanisLupus
Messages postés
21
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
9 mai 2005
0
Merci
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

Merci a vous encore une fois