Insertion d'une chaine dans un fichier texte
syphax55
Messages postés
49
Statut
Membre
-
varfendell Messages postés 3259 Date d'inscription Statut Membre Dernière intervention -
varfendell Messages postés 3259 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veux insèrer une chaine dans fichier text a partir d'une position que je cherche avant.
jai défini une fonction "ReadFileToBuffer" qui lit le fichier dans un buffer.
puis j'ai défini une fonction "ajouter" . le problem que la fonction "ajouter" lorsqu'elle la position désèré elle efface tout le ligne contenant la valeur recherché et y insère la chaine.
le code est ceci:
Private Sub ajouter(ByVal FileName As String, ByVal Pattern As String)
Dim f As Integer, errCode As Integer, errString As String
Dim buffer As String
Dim t() As String
Dim i As Long
buffer = ReadFileToBuffer(FileName, errCode, errString)
t() = Split(buffer, vbCrLf)
f = FreeFile
Open FileName For Output As #f
For i = 0 To UBound(t()) - 1
If InStr(t(i), Pattern) > 0 Then
' si on trouve le pattern
Print #f, "ici"
Else
Print #f, t(i)
End If
Next i
Close #f
End Sub
Private Sub Command1_Click()
Call ajouter("C:/parametres/adresse.txt", " 111 ")
Label1.Caption = "done"
End Sub
je veux insèrer une chaine dans fichier text a partir d'une position que je cherche avant.
jai défini une fonction "ReadFileToBuffer" qui lit le fichier dans un buffer.
puis j'ai défini une fonction "ajouter" . le problem que la fonction "ajouter" lorsqu'elle la position désèré elle efface tout le ligne contenant la valeur recherché et y insère la chaine.
le code est ceci:
Private Sub ajouter(ByVal FileName As String, ByVal Pattern As String)
Dim f As Integer, errCode As Integer, errString As String
Dim buffer As String
Dim t() As String
Dim i As Long
buffer = ReadFileToBuffer(FileName, errCode, errString)
t() = Split(buffer, vbCrLf)
f = FreeFile
Open FileName For Output As #f
For i = 0 To UBound(t()) - 1
If InStr(t(i), Pattern) > 0 Then
' si on trouve le pattern
Print #f, "ici"
Else
Print #f, t(i)
End If
Next i
Close #f
End Sub
Private Sub Command1_Click()
Call ajouter("C:/parametres/adresse.txt", " 111 ")
Label1.Caption = "done"
End Sub
A voir également:
- Insertion d'une chaine dans un fichier texte
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Bonjour,
Pourquoi ne pas récupéré le contenu du fichier dans une variable (un tableau ou quelconque) et travailler la modification sur ta variable avant de la recopier dans le fichier? C'est plus sur non?
Pourquoi ne pas récupéré le contenu du fichier dans une variable (un tableau ou quelconque) et travailler la modification sur ta variable avant de la recopier dans le fichier? C'est plus sur non?
syphax55
Messages postés
49
Statut
Membre
comment faire ca??