Ecrire à fin de chaque ligne dans un fichier autre que texte

fredfrompoitiers Messages postés 1 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 25 juillet 2002 - 25 juil. 2002 à 13:48
cs_Cadbury Messages postés 6 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 26 juillet 2002 - 26 juil. 2002 à 12:04
j'ai un fichier *.dat, je voudrais ajouter un caractere comme @ en fin de ligne.
comment fait-on?

merci d'avance!

fred
:question)

4 réponses

TeKiT Messages postés 39 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 9 août 2002
25 juil. 2002 à 18:04
Voili voilo

Option Explicit

' Permet d'écrire dans un fichier soit en ajout soit en écrasant
' Fichier = chemin vers le fichier (ex "c:\temp\exemple.txt")
' Contenu = chaîne de caractère à insérer dans le fichier
' Ajouter = True si l'on veut ajouter à la fin du fichier
' False si l'on veut écraser le fichier
Sub EcrireDansFichier(ByVal Fichier,ByVal Contenu,ByVal Ajouter)
Dim LeMode
Dim FsError
Dim LeFichierTexte
If Ajouter = True Then
LeMode=8
Else
LeMode=2
End If
Set FsError = CreateObject("Scripting.FileSystemObject")
Set LeFichierTexte = FsError.OpenTextFile(Fichier,LeMode, True)
LeFichierTexte.Write Contenu
LeFichierTexte.Close
Set LeFichierTexte = Nothing
Set FsError = Nothing
End Sub

Const cFile = "c:\temp\toto.txt"
Dim objFso,ts,Text,ligne
Set objFso = CreateObject("Scripting.FileSystemObject")
Set ts = objFso.OpenTextFile(cFile, 1)
ligne=ts.readline()
Do
Text=Text&ligne&"@"&vbcrlf
ligne=ts.readline()
Loop While not ts.AtEndOfStream
Text=Text&ligne&"@"&vbcrlf
call EcrireDansFichier(cFile,Text,false)

------------
Un optimiste, c'est un homme qui plante deux glands ......... et qui s'achète un hamac.
0
cs_Cadbury Messages postés 6 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 26 juillet 2002
25 juil. 2002 à 21:10
c pa plu simple de passer par un

open nom for attribut as canal
close canal

pour ouvrir et fermer un fichier?
0
TeKiT Messages postés 39 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 9 août 2002
26 juil. 2002 à 10:10
JE sais pas ....
Quel est le plus rapide ....
Ouvrir un canal ça nécessite pas une API ??
A voir
----------
Un optimiste, c'est un homme qui plante deux glands ......... et qui s'achète un hamac.
0
cs_Cadbury Messages postés 6 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 26 juillet 2002
26 juil. 2002 à 12:04
meu non pa beuzoin d'api :

Public Function AjoutChar(ByVal Fichier As String, ByVal Charac As String)
Dim CanalSrc
Dim CanalDest
Dim Ligne As String
CanalSrc = FreeFile
Open Fichier For Input As #CanalSrc
CanalDest = FreeFile
Open (Fichier + ".tmp") For Output As #CanalDest
Do
Input #CanalSrc, Ligne
Print #CanalDest, Ligne & Charac
Loop While (Not (EOF(CanalSrc)))
Close #CanalSrc
Close #CanalDest
Kill Fichier
Name (Fichier & ".tmp") As Fichier
End Function

ca suffit largement :)
Fichier est le chemin complet du ficher (genre "c:\toto.dat") et char est la chaine a rajouter a la fin de chaque ligne
c po compliké :) VB c le language de la simplicité

Bonne prog
en esperant ke c'est utile a qqn

Cad
0
Rejoignez-nous