Manipulation de chaine...txt

bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007 - 30 janv. 2006 à 13:22
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 30 janv. 2006 à 17:55
Bonjour,

Voici ce que je veux faire dans mes fichiers textes:

J'aimerai pouvoir retirer tout ce qui se trouve après (end de la recette 10)

exemple:

total de recettes = 6

recette 1 blabla end
recette 2 blabla end
recette 3 blabla end
recette 4 blabla end--->retirer tout ce qui se trouve après et recalculer 4 dans le total de recette.
recette 5 blabla end
recette 6 blabla end

Merci de votre aide les master du VB!!!

7 réponses

bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007
30 janv. 2006 à 13:23
zut pardon j'aimerai pouvoir retirer tout ce qui se trouve après (end de la recette 4 dans l'exemple du dessus et non 10)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 janv. 2006 à 13:39
salut,

Est ce que c'est a chaque fois ce qui est apres recette 4 ou alors ca peut varier.

Sinon tu peux lire ton fichier ligne par ligne et regarder si il y a recette 4 dans cette ligne. ensuite tu arrete de lire et tu fais le tri que tu souhaites.

Sinon expliques un peu mieux

@+
Julien
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 janv. 2006 à 15:46
Lut,

Excuses pour le retard mais j'etais occupe au taf...

Je suis desole mais je panne pas tres bien ton probleme.

Si on regarde:

total de recettes = 6

recette 1 blabla end
recette 2 blabla end
recette 3 blabla end
recette 4 blabla end--->retirer tout ce qui se trouve après et recalculer 4 dans le total de recette.
recette 5 blabla end
recette 6 blabla end


Toi tu veux :

- trouver la ligne ou il y a "recette 4"
- Supprimer ce qu il y a apres
- Mettre: total de recette = 4


Si c est ca:

Je suppose que tu sais deja recuperer les lignes de ton fichier.

Donc tu testes le contenu de ta ligne:
If Instr(1,TaLigne, "recette 4") <> 0 then
Fais ce que tu dois faire (supprimer les lignes)

Et ensuite pour mettre a jour le nombre de recettre tu fais pareil
Tu teste la ligne
If Instr(1,TaLigne, "total de recette ") <> 0 then Taligne "total de recette = 4"


Bon c est pas trop automatiser,

Je sais pas si c est ce que tu voulais.

Voili, n hesite pas a etre plus clair
@+
Julien
0
bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007
30 janv. 2006 à 16:53
Quelle est la syntaxe qui me permet de dire supprime à la fin du end de ma recette 4 et tout ce quil y a après?
0

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

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
30 janv. 2006 à 16:58
re,

Et bien en fait tu reecrit dans ton fichier une ligne vide. de la meme maniere que tu ecris deja.

@+
Julien
0
bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007
30 janv. 2006 à 17:20
Tu peux me faire un exemple stp?

Merci beaucoup.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
30 janv. 2006 à 17:55
salut,














Private Sub SupprimerRecette(numRecette As Long)

Dim sRecette As String

Dim numFile As Long

Dim sTemp As String

Dim bTrouve As Boolean

Dim tablo(100) As String





sRecette = "recette " & CStr(numRecette)



bTrouve = False

indice = 0

numFile = FreeFile

Open "C:\recettes.txt" For Input As #numFile

While Not EOF(numFile) And Not bTrouve

Line Input #numFile, sTemp

If
Left$(sTemp, Len(sRecette)) sRecette And Right$(sTemp, 3) "end" Then

bTrouve = True

End If

If Not bTrouve Then

tablo(indice) = sTemp

Else

tablo(indice) = sTemp


tablo(0) = "nombre de recettes=" & indice

End If

indice = indice + 1

Wend

Close #numFile



numFile = FreeFile

Open "C:\recettes.txt" For Output As #numFile

For ll = 0 To 100

If tablo(ll) <> "" Then

Print #numFile, tablo(ll)

End If

Next ll

Close #numFile

End Sub



Private Sub CommandButton2_Click()

SupprimerRecette 4 ' supprime au delà de la 4ème recette.

End Sub




Manu
0
Rejoignez-nous