Page 1 sur 2

Parcours d'un fichier texte

MessagePublié: 03 Sep 2010 à 11:00
par Mick
Bonjour

En LS je dois parcourir un fichier texte et sur chaque ligne commençant par un E je cherche 3 champs.

Une ligne est composée comme ceci :
E00000000000 20 000000 225663666 0000000000

A partir du E, je dois compter le nombre de caractères pour trouver les informations.
Donc :
E00000000000 20 000000 225663666 0000000000
EInfo1 Info2 Info3

Comment je peux récupérer Info1, Info2 et Info3 que sur les lignes qui commencent par un E ?


Merci de vos pistes,

MessagePublié: 03 Sep 2010 à 11:13
par Michael DELIQUE
salut

pour lire un fichier texte => http://forum.dominoarea.org/lecture-et- ... 11973.html

sinon pour ton extraction tu as la fonction mid si tu connais la position des champs ou tu fais un split sur le E

j'avance ...

MessagePublié: 22 Sep 2010 à 11:53
par Mick
Bonjour

J'arrive maintenant à récupérer les informations qui m'intéressent dans un fichier texte.


J'ai dans un fichier cette ligne :
toto0000000000plage

Et je dois en lotus script être capable de faire ça :
toto0000000007plage
ou bien ça :
toto0000000452plage

:arrow: Comment je fais pour réaliser cela en LS :?:


Merci,

MessagePublié: 22 Sep 2010 à 12:11
par Michael DELIQUE
re,

tout dépend de quel information tu dispose pour savoir ou se trouve ton "7"

MessagePublié: 22 Sep 2010 à 15:01
par Mick
Pour insérer le 7 ou le 452 ou une autre valeur, je sais que le début de la zone qui m'intéresse commence à la position 5 sur 10 caractères ...

MessagePublié: 22 Sep 2010 à 15:04
par Michael DELIQUE
simple alors

left(chaine,5)+"452"+right(chaine,length(chaine)-5)

MessagePublié: 22 Sep 2010 à 15:12
par Mick
Merci ... je teste ça demain matin ...

MessagePublié: 23 Sep 2010 à 07:29
par Mick
J'arrive à me positionner en utlisant le left et le right mais ensuite comment je fais pour écrire le 452 dans mon fichier ?

left(chaine,5)+"452"+right(chaine,length(chaine)-5)


Avec un print ?

MessagePublié: 23 Sep 2010 à 07:36
par Michael DELIQUE
oui,

mais il va falloir lui repasser le fichier complet

MessagePublié: 23 Sep 2010 à 07:38
par Mick
lui le repasser le fichier complet ...

euh c'est à dire ça ressemblerait à quoi en LS ?

MessagePublié: 23 Sep 2010 à 07:50
par Michael DELIQUE
regarde ce tips => http://forum.dominoarea.org/lecture-et- ... 11973.html

fonction FileCreate

MessagePublié: 23 Sep 2010 à 08:27
par Mick
Je ne dois pas être bien réveillé car je sèche ...

Je ne vois pas quel code produire pour pouvoir écrire mon 452 à telle position dans un fichier.

Qui peut me donner un semblant de code ?



Merci,

MessagePublié: 23 Sep 2010 à 08:44
par Michael DELIQUE

MessagePublié: 23 Sep 2010 à 08:55
par Mick
J'ai bien regardé le tuto mais la modification d'un fichier existant + insertion d'une valeur à une position précise je n'ai pas trouvé l'info ...

Je souhaite :
1- ouvrir un fichier existant en modification (je ne vois pas)
2- me positionner sur le xème caractère (je vois)
3- insérer une valeur d'une manière spécifique (je devrais trouver)
4- enregistrer et fermer le fichier (c'est ok)

Une ligne du fichier texte ressemblerait à ça :
toto0000000007plage

Et la valeur 7 doit s'insérer comme ceci :
toto0000000007plage
Et non comme cela
toto0700000000plage


Merci de votre aide,

MessagePublié: 23 Sep 2010 à 09:01
par Michael DELIQUE
je ne pense pas que ce soit possible comme ça :

la méthodologie

1 récupération du fichier
2 traitement du fichier en mémoire
3 renvois du contenu dans le fichier

tu peux ouvrir un fichier en modif mais pour y ajouter des lignes