Deamande

bassomarosa - 21 mai 2013 à 20:25
 bassomarosa - 23 mai 2013 à 20:25
bonjour chers amis je souhaite à tout bon courage pour les exams.s'il veut plait j'ai un question concernant un code en vb6 d'un je ne l'ai pas compris qui peut m'aides slv,voila le code
nbusers = 0
While Not EOF(1)
nbusers = nbusers + 1
ReDim Preserve noms(nbusers)
ReDim Preserve pass(nbusers)
Line Input #1, m
noms(nbusers) = Trim(Mid(m, 1, 15))
pass(nbusers) = Trim(Mid(m, 16, 8))
Wend

13 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 mai 2013 à 20:32
Bonjour,
encore plus bon courage à toi, car tu me parais en détresse totale ...
- ton titre n'est pas acceptable (ne révèle aucune difficulté claire)
- le bout de code montré, bien que l'on devine (mais nous ne sommes pas là pour "deviner") n'a de sens que si complété par le code d'ouverture/lecture et de fermeture d'un fichier texte plat
Tu ne donnes pas envie d'aller plus loin, dans de telles conditions... (désolé).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
bassomarosa
21 mai 2013 à 23:24
merci d'abord d'avoir me répondre tu as raison je suis vraiment stressée ces jours là j'ai posté seulement la partie du code que je n'ai pas compris voila le code complet et j’espère que tu peux m'aider

Dim noms() As String
Dim pass() As String
Dim nbusers As Integer
Private Sub Form_Load()

txtNom.Text = ""
txtPass.Text = ""
Open "D:\users.txt" For Input As #1
nbusers = 0
While Not EOF(1)
nbusers = nbusers + 1
ReDim Preserve noms(nbusers)
ReDim Preserve pass(nbusers)
Line Input #1, m
noms(nbusers) = Trim(Mid(m, 1, 15))
pass(nbusers) = Trim(Mid(m, 16, 8))
Wend
Close #1
End Sub

Private Sub CmdSoumettre_Click()
existe = False
For i = 0 To nbusers - 1
If txtNom.Text = noms(i) Then
existe = True
rang = i
End If
Next i
If existe Then
If txtPass.Text = pass(rang) Then
Call accessgranted
Else
Call accessdenied
End If
Else
msg = "Doit-on créer le compte ?"
tit = "Utilisateur inconnu"
rep = MsgBox(msg, vbQuestion + vbYesNo, tit)
If rep = vbYes Then
Call create
Else
Exit Sub
End If
End If
End Sub

Private Sub create()
Open "D:\users.txt" For Append As #1
Dim a As String * 15
Dim b As String * 8
a = txtNom.Text
b = txtPass.Text
Print #1, a & b
Close #1
nbusers = nbusers + 1
Call Form_Load

End Sub

Private Sub accessgranted()
m = MsgBox("Bienvenue votre compte est bien enregistré !", , "Permission accordée")
End
End Sub

Private Sub accessdenied()
m = MsgBox("Le mot de passe que vous avez entré est incorrects !", , "Permission refusée")
End
End Sub
Private Sub cmdQuitter_Click()
End
End Sub
0
Profil bloqué
22 mai 2013 à 01:06
Salut
Ce code est d'une simplicité enfantine et ce sont les bases de VB 6.0 !
ouvre ton aide sur les mots clefs que tu ne comprends pas et tout s'éclaircira


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 mai 2013 à 07:34
Bon (et un salut ) Galain) === >>
Tu ne peux comprendre la signification du code qui te pose problème sans t'intéresser :
1) à l'instruction Open
2) à ce qu'est un tableau dynamique, ce que sont ses dimensions (définies par Dim) et comment on peut modifier ses dimensions (Redim) tout en conservant (ReDim Preserve) les articles déjà présents.
Lorsque tu auras consulté ton aide VBA sur ces points, tu en sauras plus que suffisamment pour comprendre ce code en effet très simple

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 mai 2013 à 07:46
J'ajoute que l'auteur de ce code y est allé avec de gros sabots.
Son fichier D:\users.txt aurait du ne pas être totalement plat, mais structuré en pseudo base de données.
Sa gaucherie conduit forcément à des acrobaties (ajout d'espaces en nombre calculé) lors de l'enregistrement d'un utilisateur. D'où les Trim que l'on voit dans ton code !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 mai 2013 à 07:58
Et puis : avec un tel nom (users.txt), ce fichier sera vite trouvé par le moins filou des filous. Et comme ce qu'il contient est en "clair" ...
Bref ... Tu ferais mieux de jeter tout cela et de le recommencer autrement.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
bassomarosa
22 mai 2013 à 13:50
merci chers amis pour tout vos réponse je suis étudiante en filière économique et l'informatique c'est un élément d'un module donc on a pas assez de temps pour assimiler la programmation.Ma question c'est ( quelle la fonction de redim preserve et ce que la même chose que DIM c-ad qu'il déclare les variables?
et ce ligne je ne l'ai pas compris For i = 0 To nbusers - 1 (prq -1)
Demain je dois présenter cette application et ça sera noter s'il veut plait une réponse claire
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 mai 2013 à 14:48
quelle la fonction de redim preserve

2) à ce qu'est un tableau dynamique, ce que sont ses dimensions (définies par Dim) et comment on peut modifier ses dimensions (Redim) tout en conservant (ReDim Preserve) les articles déjà présents.
Lorsque tu auras consulté ton aide VBA sur ces points, tu en sauras plus que suffisamment pour comprendre ce code en effet très simple

Mon pauvre ami ...
Demain je dois présenter cette application et ça sera noter s'il veut plait une réponse claire

Tu vas "présenter" quoi ? Une appli qui n'est pas la tienne, donc ?
Je compatis, mais tu vas sans doute avoir la note qui te correspond.
Bonne chance
PS : à moins d'envoyer à ta place un membre de ce site devant ton notateur ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
bassomarosa
22 mai 2013 à 21:03
où je peux trouver aide VBA
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 mai 2013 à 21:14
où je peux trouver aide VBA


D'après toi ?
Tu m'inquiètes vraiment, là !
SUR TA MACHINE, dans EXCEL/Développeur/Visual Basic !
Tu as Excel, au moins ? T'es sûr ? Ru l'as ouvert, au moins ? T'es sûr ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
bassomarosa
23 mai 2013 à 00:12
arrêtez de moquer de moi c'est un bon geste de ta part si j'avais pas besoin d'un aide j'aurai même pas vous dérangée monsieur
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 mai 2013 à 07:06
Personne ne se moque de toi.
Nous ne faisons que constater.
Constater que tu vas présenter une appli, dire que tu en as écrit le code, mais préciser que tu ne le comprends pas.
Et le pire sera de dire également à ton notateur que tu ne sais pas où se trouve l'aide VBA ! Je vois d'ici la tête qu'il ferait !
Mais au fait : ton "pour demain" de hier, c'est déjà "pour aujourd'hui"...
Bonne chance.



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
bassomarosa
23 mai 2013 à 20:25
dés le début je vous disait que j'ai une application que je ne l'ai pas bien compris en tout cas c'est pas grave merci pour vous aides
vous étions vraiment prêts pour me répondre et cela m'a touché du profond
un immense merci pour vous
0
Rejoignez-nous