cs_taznormand
Messages postés2Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention29 août 2005
-
29 août 2005 à 18:08
cs_taznormand
Messages postés2Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention29 août 2005
-
29 août 2005 à 21:18
Bonjour
Voici mon problème :
Je récupère un fichier qui a été transféré par un MainFrame (Bull GCOS7) au format EBCDIC, mais qui a ses enregistrements séparés par les codes CRLF ASCII !!!
Le fichier doit être manipulé pour supprimer ces fameux CRLF puis zippés à la demande de mon prestataire.
Mon appli zip bien, mais mon Record.replace(vbcrlf,"") ne donne rien, et un Record.trim(vbcrlf) non plus.
Je désespère, qui pourra m'aider ???
Merci.
PS : mon fichier en entrée est ouvert avec un streamreader classique :
Dim Fichier_Entree
As System.IO.StreamReader
Dim Fichier_Sortie
As System.IO.StreamWriter
Dim Rec_in
As
String = ""
Dim Rec_Out
As
String = ""
Try
Fichier_Entree =
New System.IO.StreamReader(FichIn)
Fichier_Sortie =
New System.IO.StreamWriter(FichIn & "-2")
While Fichier_Entree.Peek() > -1
Rec_in = Fichier_Entree.ReadLine
Dim MyVbCrLf
As
String = Chr(10) & Chr(13)
Rec_Out = Rec_in.Replace(MyVbCrLf, "")
Fichier_Sortie.WriteLine(Rec_Out)
End
While
Catch erreur
As Exception
MsgBox("erreur " & erreur.Message)
End
Try
Fichier_Entree.Close()
Fichier_Sortie.Close()
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008 29 août 2005 à 18:55
Bonjour
J'ai beaucoup travaillé sur les MainFrames (VM et MVS) et il est tres etonnant d'avoir un code ascii au milieu de code EBCDIC!!! Si tu utilises un editeur comme xedit ne mode hexa, est ce que tu vois les crlf ?
De plus CR est codé par 13 et LF par 10, ans ton exemple il faut inverserDim MyVbCrLf As String Chr(10) & Chr(13)> Dim MyVbCrLf
As
String = Chr(13) & Chr(10)
cs_taznormand
Messages postés2Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention29 août 2005 29 août 2005 à 21:18
SAlut
Je sais que l'ASCII au milieu de l'EBCDIC c'est plutot bizarre, mais la machine Bull sur laquelle je travaille fait du FTP "Bull maison", pas de commande Get/Put/Open/etc... Dans Ultraedit, je vois bien les codes 10 et 13 (OA et OD).
Quant à l'inversion, je n'ai pas essayé, mais même en cherchant a supprimer uniquement les CRr our uniquement les LF (ce que j'ai déja essayé avant) ça marche pas non plus