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