Tristan
-
20 juin 2001 à 14:49
pinok12
Messages postés3Date d'inscriptionmardi 5 septembre 2006StatutMembreDernière intervention 2 juin 2007
-
8 janv. 2007 à 19:43
Bonjour a tous,
Je voudrais pouvoir effacer une ligne quelconque dans un fichier txt.
Exemple ****
Le fichier initial est :
ceci est la premiere ligne
ceci est le deuxieme ligne
ceci est la troisieme ligne
ceci est la quatrieme ligne
ceci est la cinquieme ligne
...
Je voudrais par exemple effacer "Ceci est la troisieme ligne" et le fichier serais alors:
ceci est la premiere ligne
ceci est le deuxieme ligne
ceci est la quatrieme ligne
ceci est la cinquieme ligne
...
J'espere que qq pourra m'aider, parce que chuis vraiment paumé!
Cette fonction nécessite les deux fichers soit déjà créés.
Dis-moi si tu veux que cela se fasse automatiquement, je te montrerai.
Pascal
Dim NumFicSource As Integer
Dim NumFicDest As Integer
Dim LigneLue As String
Dim Phrase As String
NumFicSource = FreeFile
'Ouverture du fichier source
Open "C:\source.txt" For Input As NumFicSource
'Ouverture du fichier d'écriture
NumFicDest = FreeFile
Open "C:\destination.txt" For Output As NumFicDest
Phrase = "ceci est la troisieme ligne"
Do Until EOF(NumFicSource)
Line Input #NumFicSource, LigneLue
If LigneLue <> Phrase Then
Print #NumFicDest, LigneLue
End If
Loop
pinok12
Messages postés3Date d'inscriptionmardi 5 septembre 2006StatutMembreDernière intervention 2 juin 2007 8 janv. 2007 à 19:43
Private Sub effacerligne
Dim numerolignes as integer
Dim temp() as string
Dim i as integer = 0
Dim positionligne as integer
'Définir le numéro de ligne à effacer (commencent à 0)
OpenFile(1,"Fichier.txt",OpenMode.Input)
While not EOF(1)
numeroslignes+=1
LineInput(1)
End While
For i=0 to numerolignes-1
Redim preserve temp(i)
temp(i)=LineInput(1)
Next
FileClose(1)
OpenFile(1,"Fichier.txt",OpenMode.Output)
For i = 0 to numerolignes-1
If i <> postionligne Then
PrintLine(1,temp(i))
End if
Next
FileClose(1)
End Sub
1er bloc = comptage du nombre de lignes du fichier
2e bloc = on met chaque ligne dans une case du tableau temporaire
3e bloc = on recopie ce tableau dans le fichier sauf pour la position à effacer