OVH Cloud OVH Cloud

Supprimer une ligne

16 réponses
Avatar
eric
Bonjour,

je voudrais supprimer un ligne d'un fichier texte. comment dois-je m'y
prendre? un peu co pr ajouter co ca :
Open "c:\Partage\vb\send\messenger\contacts.txt" For Append As 1
Print #1, text_contact.Text
Close 1

??

10 réponses

1 2
Avatar
Ledev
"eric" a écrit dans le message de
news:%
Bonjour,

je voudrais supprimer un ligne d'un fichier texte. comment dois-je m'y
prendre? un peu co pr ajouter co ca :



Tu doit ouvrir le fichier, et le recrée complétement sans la ligne(mais avec
de gros fichier sa risque d'être long):

a+
Avatar
Ledev
"eric" a écrit dans le message de
news:O$
Ah bon? on peu pas juste supprimer la ligne?? c'est galère ca!



Galére pour quoi?

-A programmez?
Dans se cas fait-le une fois et réutilise la fonction a chaque fois
-Ou a l'execution(passez par un fichier temporaire, et tous...)
Dans se cas, ouvre-le en mode binaire et décale simplement tous ce qui
se trouve aprés la ligne(tu recherche le début de la ligne, la fin, tu
décale de la fin de la ligne vers le début et tu prend soin de racoursir le
fichier).

a+
Avatar
François Picalausa
Bonjour/soir,

Dim strBuffer As String, FFN As String

FFN = FreeFile

Open "c:pathmonfichier.txt" For Binary As FFN
strBuffer = String$(Lof(FFN),Chr$(0))
Get FFN,, strBuffer
Close FFN

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


eric wrote:
y a une fonction pr ouvrir un fichier en binaire?



"Ledev" a écrit dans le message news:
#

"eric" a écrit dans le message de
news:O$
Ah bon? on peu pas juste supprimer la ligne?? c'est galère ca!



Galére pour quoi?

-A programmez?
Dans se cas fait-le une fois et réutilise la fonction a chaque
fois -Ou a l'execution(passez par un fichier temporaire, et tous...)
Dans se cas, ouvre-le en mode binaire et décale simplement tous
ce qui se trouve aprés la ligne(tu recherche le début de la ligne,
la fin, tu décale de la fin de la ligne vers le début et tu prend
soin de racoursir le fichier).

a+




Avatar
François Picalausa
Hello!

Ahhh.. ls malheurs du copier coller...
Merci!

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Zoury wrote:
FFN As String



As Integer en fait... ;O)


Avatar
Zoury
: FFN As String

As Integer en fait... ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
eric
c'est pas mal ta méthode ms je n'ai pas la classe Cfile. où je pourrais la
trouver?


Tu pourrais utiliser ma classe CFile... c'est non nécessaire dans ce cas
mais quand même simple à utiliser si tu n'est pas à l'aise avec les
instructions de fichier..

voici un exemple qui te permettrait de refaire un fichier sans la troisième
ligne ...

Contenu de file1.txt :
Ligne 1
Ligne 2
Ligne 3
Ligne 4
Ligne 5

<non testé>
'***
' Module1

Private Sub Main()

Dim f1 As CFile
Dim f2 As CFile
Dim i As Long
Dim lLigneSupprimer As Long

lLigneSupprimer = 3 ' Indique la ligne a supprimer

Set f1 = New CFile
Call f1.ReadFile("c:file1.txt")

Set f2 = New CFile
For i = 1 To f1.LineCount
If i <> iLigneSupprimer Then
Call f2.AppendLine(f1.Lines(i))
End If
Next i

Call f2.SaveAs("C:file2.txt")

End Sub

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"eric" wrote in message
news:#
Bonjour,

je voudrais supprimer un ligne d'un fichier texte. comment dois-je m'y
prendre? un peu co pr ajouter co ca :
Open "c:Partagevbsendmessengercontacts.txt" For Append As 1
Print #1, text_contact.Text
Close 1

??


Avatar
François Picalausa
Bonjour/soir,

Elle est dispo dans ce post:
http://groups.google.com/groups?selm=OL%23%24KxSIDHA.1732%40TK2MSFTNGP11.phx.gbl

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


eric wrote:
c'est pas mal ta méthode ms je n'ai pas la classe Cfile. où je
pourrais la trouver?


Tu pourrais utiliser ma classe CFile... c'est non nécessaire dans ce
cas mais quand même simple à utiliser si tu n'est pas à l'aise avec
les instructions de fichier..

voici un exemple qui te permettrait de refaire un fichier sans la
troisième ligne ...

Contenu de file1.txt :
Ligne 1
Ligne 2
Ligne 3
Ligne 4
Ligne 5

<non testé>
'***
' Module1

Private Sub Main()

Dim f1 As CFile
Dim f2 As CFile
Dim i As Long
Dim lLigneSupprimer As Long

lLigneSupprimer = 3 ' Indique la ligne a supprimer

Set f1 = New CFile
Call f1.ReadFile("c:file1.txt")

Set f2 = New CFile
For i = 1 To f1.LineCount
If i <> iLigneSupprimer Then
Call f2.AppendLine(f1.Lines(i))
End If
Next i

Call f2.SaveAs("C:file2.txt")

End Sub

Bonjour,

je voudrais supprimer un ligne d'un fichier texte. comment dois-je
m'y prendre? un peu co pr ajouter co ca :
Open "c:Partagevbsendmessengercontacts.txt" For Append As 1
Print #1, text_contact.Text
Close 1

??




Avatar
eric
J'ai créé la classe mais comment je fais pour l'appeler?



"François Picalausa" a écrit dans le message news:

Bonjour/soir,

Elle est dispo dans ce post:



http://groups.google.com/groups?selm=OL%23%24KxSIDHA.1732%40TK2MSFTNGP11.phx
.gbl

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


eric wrote:
> c'est pas mal ta méthode ms je n'ai pas la classe Cfile. où je
> pourrais la trouver?
>
>
> Tu pourrais utiliser ma classe CFile... c'est non nécessaire dans ce
> cas mais quand même simple à utiliser si tu n'est pas à l'aise avec
> les instructions de fichier..
>
> voici un exemple qui te permettrait de refaire un fichier sans la
> troisième ligne ...
>
> Contenu de file1.txt :
> Ligne 1
> Ligne 2
> Ligne 3
> Ligne 4
> Ligne 5
>
> <non testé>
> '***
> ' Module1
>
> Private Sub Main()
>
> Dim f1 As CFile
> Dim f2 As CFile
> Dim i As Long
> Dim lLigneSupprimer As Long
>
> lLigneSupprimer = 3 ' Indique la ligne a supprimer
>
> Set f1 = New CFile
> Call f1.ReadFile("c:file1.txt")
>
> Set f2 = New CFile
> For i = 1 To f1.LineCount
> If i <> iLigneSupprimer Then
> Call f2.AppendLine(f1.Lines(i))
> End If
> Next i
>
> Call f2.SaveAs("C:file2.txt")
>
> End Sub
>
>> Bonjour,
>>
>> je voudrais supprimer un ligne d'un fichier texte. comment dois-je
>> m'y prendre? un peu co pr ajouter co ca :
>> Open "c:Partagevbsendmessengercontacts.txt" For Append As 1
>> Print #1, text_contact.Text
>> Close 1
>>
>> ??




Avatar
François Picalausa
Bonjour/soir,

En employant l'exemple de Zoury:

Dim f1 As CFile
Dim f2 As CFile
...

Set f1 = New CFile
...
Set f2 = New CFile

Et en oubliant pas à la fin:
Set f1 = Nothing
Set f2 = Nothing

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


eric wrote:
J'ai créé la classe mais comment je fais pour l'appeler?



"François Picalausa" a écrit dans le message
news:
Bonjour/soir,

Elle est dispo dans ce post:






http://groups.google.com/groups?selm=OL%23%24KxSIDHA.1732%40TK2MSFTNGP11.phx
.gbl

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


eric wrote:
c'est pas mal ta méthode ms je n'ai pas la classe Cfile. où je
pourrais la trouver?


Tu pourrais utiliser ma classe CFile... c'est non nécessaire dans ce
cas mais quand même simple à utiliser si tu n'est pas à l'aise avec
les instructions de fichier..

voici un exemple qui te permettrait de refaire un fichier sans la
troisième ligne ...

Contenu de file1.txt :
Ligne 1
Ligne 2
Ligne 3
Ligne 4
Ligne 5

<non testé>
'***
' Module1

Private Sub Main()

Dim f1 As CFile
Dim f2 As CFile
Dim i As Long
Dim lLigneSupprimer As Long

lLigneSupprimer = 3 ' Indique la ligne a supprimer

Set f1 = New CFile
Call f1.ReadFile("c:file1.txt")

Set f2 = New CFile
For i = 1 To f1.LineCount
If i <> iLigneSupprimer Then
Call f2.AppendLine(f1.Lines(i))
End If
Next i

Call f2.SaveAs("C:file2.txt")

End Sub

Bonjour,

je voudrais supprimer un ligne d'un fichier texte. comment dois-je
m'y prendre? un peu co pr ajouter co ca :
Open "c:Partagevbsendmessengercontacts.txt" For Append As 1
Print #1, text_contact.Text
Close 1

??








Avatar
eric
Oui! j'ai bien créé un module de classe. ms il trouve pas la classe
apparemment.


"Bismark Prods" a écrit dans le message news:
#
c'est un module de classe attention ! pas un simple module !

"eric" a écrit dans le message de
news:
> c'est ce que j'ai fais ms il me met que le type est indéfini.
>
>
> "François Picalausa" a écrit dans le message news:
>
> > Bonjour/soir,
> >
> > En employant l'exemple de Zoury:
> >
> > Dim f1 As CFile
> > Dim f2 As CFile
> > ...
> >
> > Set f1 = New CFile
> > ...
> > Set f2 = New CFile
> >
> > Et en oubliant pas à la fin:
> > Set f1 = Nothing
> > Set f2 = Nothing
> >
> > --
> > François Picalausa (MVP VB)
> > FAQ VB : http://faq.vb.free.fr
> > MSDN : http://msdn.microsoft.com
> >
> >
> > eric wrote:
> > > J'ai créé la classe mais comment je fais pour l'appeler?
> > >
> > >
> > >
> > > "François Picalausa" a écrit dans le message
> > > news:
> > >> Bonjour/soir,
> > >>
> > >> Elle est dispo dans ce post:
> > >>
> > >
> >
>



http://groups.google.com/groups?selm=OL%23%24KxSIDHA.1732%40TK2MSFTNGP11.phx
> > > .gbl
> > >>
> > >> --
> > >> François Picalausa (MVP VB)
> > >> FAQ VB : http://faq.vb.free.fr
> > >> MSDN : http://msdn.microsoft.com
> > >>
> > >>
> > >> eric wrote:
> > >>> c'est pas mal ta méthode ms je n'ai pas la classe Cfile. où je
> > >>> pourrais la trouver?
> > >>>
> > >>>
> > >>> Tu pourrais utiliser ma classe CFile... c'est non nécessaire dans


ce
> > >>> cas mais quand même simple à utiliser si tu n'est pas à l'aise


avec
> > >>> les instructions de fichier..
> > >>>
> > >>> voici un exemple qui te permettrait de refaire un fichier sans la
> > >>> troisième ligne ...
> > >>>
> > >>> Contenu de file1.txt :
> > >>> Ligne 1
> > >>> Ligne 2
> > >>> Ligne 3
> > >>> Ligne 4
> > >>> Ligne 5
> > >>>
> > >>> <non testé>
> > >>> '***
> > >>> ' Module1
> > >>>
> > >>> Private Sub Main()
> > >>>
> > >>> Dim f1 As CFile
> > >>> Dim f2 As CFile
> > >>> Dim i As Long
> > >>> Dim lLigneSupprimer As Long
> > >>>
> > >>> lLigneSupprimer = 3 ' Indique la ligne a supprimer
> > >>>
> > >>> Set f1 = New CFile
> > >>> Call f1.ReadFile("c:file1.txt")
> > >>>
> > >>> Set f2 = New CFile
> > >>> For i = 1 To f1.LineCount
> > >>> If i <> iLigneSupprimer Then
> > >>> Call f2.AppendLine(f1.Lines(i))
> > >>> End If
> > >>> Next i
> > >>>
> > >>> Call f2.SaveAs("C:file2.txt")
> > >>>
> > >>> End Sub
> > >>>
> > >>>> Bonjour,
> > >>>>
> > >>>> je voudrais supprimer un ligne d'un fichier texte. comment


dois-je
> > >>>> m'y prendre? un peu co pr ajouter co ca :
> > >>>> Open "c:Partagevbsendmessengercontacts.txt" For Append As 1
> > >>>> Print #1, text_contact.Text
> > >>>> Close 1
> > >>>>
> > >>>> ??
> >
> >
>
>




1 2