Creation de fichier text
Iniluki
-
Iniluki -
Iniluki -
Bonjour,
Je souhaiterais créer un fichier texte avec une longueur fixe par champ et sans déliminateur.
Ce qu'il me faudrait c'est une chaine de 221 caractères de la façon suivante.
1à 5 : valeur numérique fixe
6 à 10: valeur numérique fixe
11 à 21 : valeur numérique variable
22 à 23: valeur numérique variable
24 à 61: valeur alpha et des blancs si champ vide ou alpha puis blanc
62 à 99 : valeur alpha et des blancs si champ vide ou alpha puis blanc
100 à 137 : valeur alpha et des blancs si champ vide ou alpha puis blanc
138 à 175 : valeur alpha et des blancs si champ vide ou alpha puis blanc
176 à 213 : valeur alpha et des blancs si champ vide ou alpha puis blanc
214 à 216 : valeur numérique
217 à 218 : valeur numérique
219 à 221 : valeur numérique
Est ce quelqu'un pourrait me conseiller comment le mettre en place et avec quel outil?
Je souhaiterais créer un fichier texte avec une longueur fixe par champ et sans déliminateur.
Ce qu'il me faudrait c'est une chaine de 221 caractères de la façon suivante.
1à 5 : valeur numérique fixe
6 à 10: valeur numérique fixe
11 à 21 : valeur numérique variable
22 à 23: valeur numérique variable
24 à 61: valeur alpha et des blancs si champ vide ou alpha puis blanc
62 à 99 : valeur alpha et des blancs si champ vide ou alpha puis blanc
100 à 137 : valeur alpha et des blancs si champ vide ou alpha puis blanc
138 à 175 : valeur alpha et des blancs si champ vide ou alpha puis blanc
176 à 213 : valeur alpha et des blancs si champ vide ou alpha puis blanc
214 à 216 : valeur numérique
217 à 218 : valeur numérique
219 à 221 : valeur numérique
Est ce quelqu'un pourrait me conseiller comment le mettre en place et avec quel outil?
A voir également:
- Creation de fichier text
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
Lu,
C'est suivant le type de programme que vous désirez utiliser.
Une simple concaténation de chaine fera l'affaire avec l'ajout de caractères 0 pour les emplacements vides.
Pour ta valeur numérique caractères (1 à 5) :
0 0 0 0 0 ==> valeur 0
0 0 0 0 1 ==> valeur 1
En hexa ou alpphnumérique c'est la même chose:
0 0 0 0 FF ==> valeur 255 (FF==> en haxa ==> sachant que chaque caractère peut prendre la valeur de 0 à 255)
L'extraction se fait ensuite en découpant la chaine de caractère. Mais VBA, VB, PHP, JAVA, C++... savent tous le faire (Vb et VBA étant les plus simple d 'emploi).
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ==> en extrait les 5 premiers caractères ==> 0 0 0 0 1 ==> on en retire les caractères inutiles (0 ne servant à rien reste: 1
Bonne prog.
C'est suivant le type de programme que vous désirez utiliser.
Une simple concaténation de chaine fera l'affaire avec l'ajout de caractères 0 pour les emplacements vides.
Pour ta valeur numérique caractères (1 à 5) :
0 0 0 0 0 ==> valeur 0
0 0 0 0 1 ==> valeur 1
En hexa ou alpphnumérique c'est la même chose:
0 0 0 0 FF ==> valeur 255 (FF==> en haxa ==> sachant que chaque caractère peut prendre la valeur de 0 à 255)
L'extraction se fait ensuite en découpant la chaine de caractère. Mais VBA, VB, PHP, JAVA, C++... savent tous le faire (Vb et VBA étant les plus simple d 'emploi).
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ==> en extrait les 5 premiers caractères ==> 0 0 0 0 1 ==> on en retire les caractères inutiles (0 ne servant à rien reste: 1
Bonne prog.
Bonjour,
Merci pour cette réponse, malheuresement les 0 me servent donc ils ne doivent pas disparaitre et si un champ n'est pas rempli pour les alpha ou ne contient pas les 38 caractères il me faut des espaces blancs, donc 38 blancs si rien est rempli ou 3 alpha et 35 blancs si le champ n'est pas totalement rempli.
Et encore merci
Merci pour cette réponse, malheuresement les 0 me servent donc ils ne doivent pas disparaitre et si un champ n'est pas rempli pour les alpha ou ne contient pas les 38 caractères il me faut des espaces blancs, donc 38 blancs si rien est rempli ou 3 alpha et 35 blancs si le champ n'est pas totalement rempli.
Et encore merci
En utilisant microsoft Access et en créant une macro sous la forme
Private Sub Command24_Click()
DoCmd.TransferText acExportFixed, "Export Specification", "Nom de la Base", "nomdufichier.txt"
End Sub
pour l'export j'ai choisi:
Fixed Width
Et avec le formulaire je peux extraire les données sans délimitation et avec la longueur que je sohaite.
Private Sub Command24_Click()
DoCmd.TransferText acExportFixed, "Export Specification", "Nom de la Base", "nomdufichier.txt"
End Sub
pour l'export j'ai choisi:
Fixed Width
Et avec le formulaire je peux extraire les données sans délimitation et avec la longueur que je sohaite.