Parcours d'un fichier texte

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Parcours d'un fichier texte

Messagepar Mick » 03 Sep 2010 à 11:00

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,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 03 Sep 2010 à 11:13

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
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

j'avance ...

Messagepar Mick » 22 Sep 2010 à 11:53

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,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 22 Sep 2010 à 12:11

re,

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

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 22 Sep 2010 à 15:01

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 ...
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 22 Sep 2010 à 15:04

simple alors

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

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 22 Sep 2010 à 15:12

Merci ... je teste ça demain matin ...
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Mick » 23 Sep 2010 à 07:29

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 ?
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 23 Sep 2010 à 07:36

oui,

mais il va falloir lui repasser le fichier complet
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 23 Sep 2010 à 07:38

lui le repasser le fichier complet ...

euh c'est à dire ça ressemblerait à quoi en LS ?
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 23 Sep 2010 à 07:50

regarde ce tips => http://forum.dominoarea.org/lecture-et- ... 11973.html

fonction FileCreate
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 23 Sep 2010 à 08:27

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,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 23 Sep 2010 à 08:44

Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Mick » 23 Sep 2010 à 08:55

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,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 23 Sep 2010 à 09:01

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
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Suivant

Retour vers Développement