cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
5 sept. 2007 à 17:25
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
6 sept. 2007 à 10:17
Hello,
Comment faire pour remplacer les caractères de contrôle ascii ?
Le code suivant marche bien pour les autres caractères ascii, mais pas pour les caractères de contrôle de 0 à 31
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 6 sept. 2007 à 08:20
Salut et merci
En fait j'ai une routine qui ouvre tous les fichiers d'un répertoire, et quand le dernier caractère est par exemple un A, ca marche, cad que les fichiers en entrée sont recopiés en sortie tels quels en changeant seulement le A ; par contre quand c'est le caractère 026 (substitute), la routine recopie seuelement le premier fichier, mais vide.
Avec ton code c'est la même chose.
Plus précisément il s'agit de fichiers contenant des nombre dont le dernier caractère est ce caractère de contôle que je voudrais effacer.
While sInputFilePath <> ""
fnInput = FreeFile
Open inputFolder & "" & sInputFilePath For Input As fnInput
On Error Resume Next
sInputTextEntier = Input(LOF(fnInput), fnInput)
source() = Split(sInputTextEntier, " ")
For i = 1 To UBound(source)
j = 1
For h = 1 To Len(source(i))
c = Mid$(source(i), h, 1)
If c = Chr(26) Then
source(i) = Replace(source(i), Chr(26), " ")
h = h + 1
j = h
End If
Next h
Print #fnoutput, source(i)
Next i
Close #fnInput
Close #fnoutput
sInputFilePath = Dir()
Wend
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 6 sept. 2007 à 08:51
Autre exemple, si je fais
source() = Split(sInputTextEntier, chr(65))
le A disparait (OK)
mais si je fais
source() = Split(sInputTextEntier, chr(26))
rien n'est splitté
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 6 sept. 2007 à 09:31
Peut-être est-ce une explication ?
Substitute :
On MS-DOS systems with files opened in text mode, "end of text" or "end of file" is marked by the Ctrl-Z character (code 26, "Substitute"), instead of ^C or ^D common on other
operating systems. In many programs, a keyboard input of Ctrl-Z is an "undo"
command to reverse the most recent input or action. In many terminal
programs, this will suspend the active process and return control to
the shell.