Lire et remplacer des caractères avec un file system object

cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008 - 11 août 2004 à 15:47
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008 - 11 août 2004 à 16:35
Bonjour,

J'aimerias modifier le contenu d'un fichier. Mon problème c'est que je n'arrive pas à mettre le contenu de mon fichier texte dans une string.

J'ai essayé :

Din fso as new filesystem object

Dans une sub :

Dim z As TextStream, a As String
Set z = fso.OpenTextFile("C:\TXT.txt")
a = z.readAll
a = Replace(a, Chr(1), "{")
a = Replace(a, Chr(2), "}")
Text2.Text = CStr(z.ReadAll)
z.Close
Set z = Nothing

Or Ma Text2.text est toujours vide. QQun pourrait m expliquer ou je me trompe ? Merci.

5 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
11 août 2004 à 16:09
Sans FSO ca donnerai ca :
Dim Buffer as String, i As Long,Filename as String
Filename = "c:\toto.txt"
i = FreeFile
Open Filename for input as #i
Buffer = Input(LOF(i),i) 
Close #i
Buffer = Replace$(Buffer,Chr$(1),"{")
Buffer = Replace$(Buffer,Chr$(2),"}")
Text2.text = Buffer
' Ajouter ceci si tu veux en plus sauvegarder le fichier modifié
Kill Filename
Open Filename For Output as #i
Print #i,Buffer
Close #i


Christophe R.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 août 2004 à 16:16
Salut.

Je pense que read all depalce le curseur de fichier a la fin.

Une deuxieme lecture ne lis rien car le curseur est sur la fin du fichier.

http://groups.google.fr/groups?q=visual+basic+readall+replace&start=10&hl=fr&lr=&ie=UTF-8&c2coff=1&selm=8tmqdp%24sqk%241%40nnrp1.deja.com&rnum=13

Je pense que la reponse est la?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
11 août 2004 à 16:17
Avec Text2.Text = a, ça devrait aller.

Cordialement

CanisLupus
0
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008
11 août 2004 à 16:26
CanisLupus, j'ai essayé Text2.Text = a , ca renvoi rien.

Pour le curseur c'est une idée je ne sais pas trop.

Sinon pour ton code crénaud, il faut un EOF qqpart parce que sinon Input past end of file...

Mais je sais plus du tout comment on se sert du EOF, Pourrait m'aider plz?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lionel4 Messages postés 129 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 26 septembre 2008
11 août 2004 à 16:35
A j'ai fini pas comprendre ou été le problème.

En fait il s'avère que le fichier que j'essayé d'ouvrir contenait des Chr(1)

C'est pour ca qu'il ne renvoyait rien à chaque fois.

J'ai donc enlever tous les Chr(1) et tout fonctionne à merveille.

Désolé de cette question qui se révèle donc injustifié. Merci à CanisLupus, nhervagault et crenaud76 pour votre aide.
0
Rejoignez-nous