Splif62
Messages postés28Date d'inscriptionvendredi 28 mars 2008StatutMembreDernière intervention29 mars 2009
-
28 mars 2009 à 16:42
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 2010
-
30 mars 2009 à 00:26
Salut les amis !!
Je dois pour les cours développer une petite application qui doit me permettre l'enregistrement et la récupération de 2 données dans un
fichier texte avec VB6
Je m'explique,
je dois enregistrer dans un fichier .txt nommé "meilleursscores.txt" le nom et le temps mis par le joueur pour réaliser sa partie.
et ensuite les afficher dans 2 listbox différentes. il faut bien sur que les indices correspondent afin d'avoir les bon résultat
affectés au bon nom.
l'une s'appelle nom et l'autre score.
j'y arrive avec une seule mais impossible de le faire avec 2 ...
voici mon code pour l'ajout d'un score ... (mais pas pour nom et scores comme demandé !!!)
Private Sub enregistre(scores As ListBox)
Open App.Path & "" & "meilleursscores.txt" For Output As 1
For i = 0 To scores.ListCount - 1
scores.ListIndex = i
Print #1, scores.Text
Next
Close 1
End Sub
Si quelqu'un sait comment faire ???
Merci d'avance !!!
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 20101 29 mars 2009 à 00:29
Peut être ça, simplement
Private Sub enregistre(scores As ListBox, noms As Listbox )
Open App.Path & "" & "meilleursscores.txt" For Output As 1
For i = 0 To scores.ListCount - 1
scores.ListIndex = i
noms.ListIndex = i
Print #1, scores.Text & "," & noms.Text
Next
Close 1
End Sub
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 20101 30 mars 2009 à 00:26
Pour sur, que les noms et scores sont en double, il faut lire les données séparément elles sont séparées par une virgule par ligne lue dans le fichier
Private Sub Ouvrescores(noms As ListBox, scores As ListBox)
Dim LeNom As String, LeScore As Integer
Open App.Path & "" & "meilleursscores.txt" For Input As 1
Do Until EOF(1)
Input #1, LeNom, LeScore ' Lit les données dans deux variables.
noms.AddItem LeNom
scores.AddItem LeScore
Loop
Close 1
End Sub
Splif62
Messages postés28Date d'inscriptionvendredi 28 mars 2008StatutMembreDernière intervention29 mars 2009 29 mars 2009 à 19:14
Ok sa sa fonctionne !!! merci les amis !!!
j'ai un autre soucis (enfin g pas encore cherché il faut dire ...)
Comment faire pour vider le fichier texte avant chaque enregistrement ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Splif62
Messages postés28Date d'inscriptionvendredi 28 mars 2008StatutMembreDernière intervention29 mars 2009 29 mars 2009 à 20:03
Merci de ta réponse CNT !
Je trouve sa bizarre, quand je ferme mon application et que je la relance, lorsque je vais afficher les résultats
ceux ci sont en double ... ???
Splif62
Messages postés28Date d'inscriptionvendredi 28 mars 2008StatutMembreDernière intervention29 mars 2009 29 mars 2009 à 20:22
En fait, avec cette solution j'enregistre le_nom , le_score dans le fichier.
donc dans mon fichier se trouve par exemple :
Jean , 13
alfred , 15
etc ...
Ce que je souhaite faire c'est afficher le nom dans une listbox et le score dans une autre ...
le problème c'est que quand je relance l'application et que je consulte les scores je me retrouve avec sa :
Jean , 13, Jean , 13
alfred , 15, alfred , 15
etc ...
durant toute la partie je peut ouvrir les scores sans probleme mais lorsque je ferme l'application et que je la relance,
tous les scores on été doublés ...
voici les codes d'affichage et de sauvegarde des scores :
affichage :
Private Sub Ouvrescores(noms As ListBox, scores As ListBox)
Open App.Path & "" & "meilleursscores.txt" For Input As 1
Do Until EOF(1)
Line Input #1, strcopy
noms.AddItem strcopy
scores.AddItem strcopy
Loop
Close 1
End Sub
sauvegarde :
Private Sub enregistre(noms As ListBox, scores As ListBox)
Open App.Path & "" & "meilleursscores.txt" For Output As 1
For i = 0 To scores.ListCount - 1
scores.ListIndex = i
noms.ListIndex = i
Print #1, scores.Text & "," & noms.Text
Next
Close 1
End Sub