achills
Messages postés213Date d'inscriptionvendredi 13 janvier 2006StatutMembreDernière intervention20 août 2008
-
3 juin 2008 à 11:28
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
3 juin 2008 à 14:18
bonjour tout le monde
j'ai crée une application qui accede a un chat public et qui recherche des personne spécifiés dans un fichier text et ui sont charger un par un dans des text ou label,
j'arrvie a enregistrer ses personnes et les chercher mais j'arrive pas a supprimé une data du fichier text, quand la personne est presente sur le chat elle sera supprimer du data et l'application continue a cherché les restant,
j'enregistre avec cet méthode :
Dim iFile As Integer
iFile = FreeFile
Open "c:\list.txt " For Output As iFile
Print #iFile, Text1.Text
Close iFile
et je charge :
Dim FF As Integer, vartemp As String, Mydata() As String
FF = FreeFile
Open "c:\list.txt" For Input As #FF
vartemp = Input$(LOF(FF), #FF)
Close #FF
Mydata = Split(vartemp, " ")
Text2.Text = Mydata(1)
mais je sait pas comment effacer une data spécifier, par exemple j'ai 10 data et je veut supprimer le 7eme !!
quelqu'un peut m'aider svp
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 3 juin 2008 à 14:18
Salut
-1- Si tu écrit avec Open Output dans un fichier, celui-ci sera réinitialisé.
Dans ton premier exemple de code, le fichier ne contiendra que le contenu de Text1 et les éventuelles premières données stockées dans ce même fichier disparaitront.
Voir Open Append
-2- Hélas, un fichier texte n'est pas un fichier indexé
Impossible donc de supprimer une donnée en plein milieu.
Tel que tu procèdes, lire d'une seule traite le fichier dans varTemp --> MyData(), il te suffit donc de supprimer myData(x) de ton tableau.
C'est donc du traitement de tableau.
Il faut :
- Créer un deuxième tableau de même dimension - 1 (puisque tu supprime une donnée)
Dim newData(0 To UBound(myData) - 1) As String
- Créer une boucle For-Next pour recopier les données de myData vers newData :
monIndex = 0
For r = 0 à UBound(myData)
- Quand tu veux sauter une des données de myData, tu ne fais rien
- Quand tu rencontres une donnée à conserver :
If r <> 7 Then ' 7 dans ton exemple
newData(monIndex) = myData(r)
monIndex = monIndex + 1
End If
- Et tu finis par un
Next r
Les nouvelles données sont maintenant dans newData()
A toi de les restocker dans le fichier
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)