Remplacer code ascii dans fichier

yuyugs84 Messages postés 2 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 8 octobre 2003 - 7 oct. 2003 à 21:35
yuyugs84 Messages postés 2 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 8 octobre 2003 - 8 oct. 2003 à 09:20
Salut

voila voila j'ai une ptite question :

comment remplacer une valeur ascii par une autre dans un fichier texte ??
je precise que lorsque j'utilise Line Input, le contenu de mon fichier se
retrouve sur une seule ligne,
donc il ne contient pas de saut de ligne...

Mon exemple :

2a 2a 2a 2a 0a 21 0a 21 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 20

je souhaite remplacer "0a" par : "0d 0a"

j'ai essayé ca :

' Ouverture du fichier en lecture
Open NomFichierASP For Input As #FileNumberASP
' Lecture de la 1ere ligne
Line Input #FileNumberASP, VL_Ligne
' Remplacement de "0a" par "0d 0a)
VL_Ligne_Mod = Replace(VL_Ligne, Asc("0a"), Asc("0d0a"))
' Fermeture du fichier
Close #FileNumberASP
' Reouverture du fichier en ecriture
Open NomFichierLog For Output Access Write As #FileNumberASP
' Ecriture de la ligne
Print #FileNumberASP, VL_Ligne_Mod
' Fermeture du fichier
Close #FileNumberASP

Et ca marche pas du tout...

Voila ca a l'air tout simple et tellement galere pour moi...

Thhaannxx a tout ceux qui pourront m'aider...

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 oct. 2003 à 22:23
    Dim FileSlot As Byte
    Dim Buffer As String
    
    FileSlot = FreeFile
    Open NomFichierASP  For Input Access Read As #FileSlot
    Buffer = Input$(LOF(FileSlot), FileSlot)
    Close #FileSlot
    
    Buffer = Replace(Buffer, Asc("0a"), Asc("0d0a"))
    
    FileSlot = FreeFile
    Open NomFichierLog For Output As #FileSlot
    Print #FileSlot, Buffer
    Close #FileSlot


By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
8 oct. 2003 à 03:18
Salut

Attention .Asc("x") le code ascii de x un nombre compris entre 0 et 255 et x est UN caractèresi bien que Asc("0a") Asc("0d0a") Asc("0") = 48 = 30H

D'autre part, Replace travaille sur des CHAINES, pas sur des nombres.

Enfin, ton fichier ne contient pas
2a 2a 2a 2a 0a 21 0a 21 20 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 20

mais
****
!
! ____________

2a 2a 2a 2a 0a 21 0a ... n'est que la représentation hexadécimale du contenu du fichier
Les 0a sont des sauts de ligne (sans retour chariot)

Ta ligne Replace doit donc être :

VL_Ligne_Mod = Replace(VL_Ligne, Chr(&H0a), Chr(&H0d) & Chr(&H0a))
0
yuyugs84 Messages postés 2 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 8 octobre 2003
8 oct. 2003 à 09:20
ooaaaahhhh genial...super...trop fort les gars...ca marche impec...

merci merci merci...paske la je commencais a desesperer...

Thhaannxx
0
Rejoignez-nous