Caractères de M*#~% dans un fichier texte

hubsm Messages postés 28 Date d'inscription mercredi 12 juin 2002 Statut Membre Dernière intervention 26 juin 2007 - 11 févr. 2004 à 09:25
hubsm Messages postés 28 Date d'inscription mercredi 12 juin 2002 Statut Membre Dernière intervention 26 juin 2007 - 11 févr. 2004 à 10:32
Salut,

J'ai une string que je veux enregistrer en fichier texte. Mais avec mon code je retrouve 3 caractères alléatoires au début du fichier texte qui n'étaient pas dans ma string.

Mon Code :

' J'efface l'ancien fichier texte après traitements
Kill File
Numfile = FreeFile
' Ouverture de mon fichier File
Open File For Binary As Numfile
' Sauvegarde de ma string Result
Put Numfile, , Result
' Fermeture Fichier
Close Numfile

Merci de vorte aide

Hub's

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 févr. 2004 à 09:29
Pour sauvegarder une string dans un fichier, je te conseille de l'enregistrer avec la fonction Print plutôt que Put, et d'ouvrir ton fichier en Output et non en binary, c'est plus fiable pour du texte et t'évite de le convertir en binaire.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
11 févr. 2004 à 09:30
Comme tu enregistre une chaine dans un fichier en mode Binaire, VB écrit en plus de la valeur de la chaine quelques octets qui sont relative à la taille de la chaine !! Ce ne sont donc pas des caractères de M*#~% !!!
C'est toi qui n'ouvre pas ton fichier dans le bon mode.
Essaye de l'ouvrir comme cela :
Open File for Output as #Numfile

Cela fonctionnera mieux !

Christophe R.
0
hubsm Messages postés 28 Date d'inscription mercredi 12 juin 2002 Statut Membre Dernière intervention 26 juin 2007
11 févr. 2004 à 10:31
J'ai trouvé un début de solution, j'ouvre mon fichier en OUTPUT et j'utilise Write() au lieu de Put().

Kill File
Numfile = FreeFile
Open File For Output As #1
On Error GoTo toto
MsgBox Result
Write #1, Result
Close #1

Mais maintenant j'ai le caractères " au début et à la fin...

OK j'ai trouvé, il faut utiliser Print() au lieu de Write().

Kill File
Numfile = FreeFile
Open File For Output As #1
On Error GoTo toto
MsgBox Result
Print #1, Result
Close #1

Ouf, sauvé !

Hub's
0
hubsm Messages postés 28 Date d'inscription mercredi 12 juin 2002 Statut Membre Dernière intervention 26 juin 2007
11 févr. 2004 à 10:32
Merci pour votre aide :)

Hub's
0
Rejoignez-nous