Fichier txt ... encore

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
winnux
King Of Batch
Messages : 37
Enregistré le : 28 juil. 2008 14:45

Fichier txt ... encore

Message par winnux »

Bonjour me revoici avec une nouvelle question par l'exemple:

*** fichier1.txt ***
laura
guillaume
claude

*** fichier2.txt ***
21
29
45


1 salut laura tu as 21 ans
2 salut guillaume tu as 29 ans
3 salut claude tu as 45 ans

C'es du moins le rendu que j'aimerai, ne connaissant pas par avance le nombre de personne, ni meme les prenoms, il peut y avoir 2 comme comme il peut y avoir 30 prenoms.

Si quelqu'un a une idée :)
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: Fichier txt ... encore

Message par Laddy »

Bonjour
comment obtiens tu ses informations sur le prénom et l'âge ?
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
winnux
King Of Batch
Messages : 37
Enregistré le : 28 juil. 2008 14:45

Re: Fichier txt ... encore

Message par winnux »

Tout d'abord merci a toi de te pencher sur mon post.

A la base j'ai un seul fichier.txt qui comprend un texte du genre :

1 laura 21
2 guillaume 29
3 claude 45

J'arrive a isoler chacun des 3 blocs de caracteres, que je fait ressortir dans plusieur fichiers (cause de ma non comprehension avec les for/delim etc).

Il es clair qu'il serais plus pratique (et propre) de n'afficher les infos qu'a partir du fichier principal, mais j'aimerai comprendre comment sont recuperer et traiter les infos.

Disont donc qu'elles ce trouverons donc deja la, lors de l'execution, mais que la ligne 1 du fichier 1, correspond a la ligne 1 du fichier 2 etc etc, je ne sait pas si je me suis correctement expliquer, et si peut aider a faire avancer le schmilblique
winnux
King Of Batch
Messages : 37
Enregistré le : 28 juil. 2008 14:45

Re: Fichier txt ... encore

Message par winnux »

Bon, aprés une journée de recherches, je comprends beaucoup plus de trucs, ca c'es le bon point.
Donc j'ai reussi a faire ce que je desirer (a partir du fichier principal) , mais un autre probleme ce pose :

Je me sert de DELIMS=[] TOKENS=2-3 dans une boucle FOR et grace a DO je renvoi mes variables.Maintenant un exemple de mon probleme :

[1] [nicole] [20] ==> m'affiche correctement "nicole 20"
[2] [richard] [37] ==> m'affiche correctement "richard 37"
:: La le gars utilise :] dans son nom
[3] [:]clement] [37] ==> Et paf dans ma dent, sa m'affiche : : clement

Bref ne pouvant pas empecher les gens de s'appeler comme il veulent, je peut me retrouver coincé ...

Merci encore
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

Re: Fichier txt ... encore

Message par Laddy »

Rien compris à ton problème..
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
winnux
King Of Batch
Messages : 37
Enregistré le : 28 juil. 2008 14:45

Re: Fichier txt ... encore

Message par winnux »

Bein pour faire simple, si le nom contient un caractere qui me sert a delimité mes recherches, a savoir [ ou/et ] ,tokens ce retrouve perdu :

token1 token2 token3
[1] [nicole] [20]
[2] [richard] [37]
[3] [:]clement] [37]

C'es au niveau du nom de la ligne 3 que survient le probleme,car le nom contient ], qui es un caractere delimitateur (suis pas sur que sa existe ce nom lol) et la ligne es donc interpreter comme suit :

token1 token2 token3 token4
[3] [:] clement] [37]

Hors clement fait parti de :] , le token 2

Je ne peut pas interdire l'utilisation de ces caracteres dans les noms, les infos venant d'un serveur de jeu.

Je ne pense pas pouvoir etre plus clair, j'espere qu'il existe une solution :)
Avatar du membre
flox
Administrateur du site
Messages : 158
Enregistré le : 18 janv. 2008 22:05

Re: Fichier txt ... encore

Message par flox »

Bonjour,

si ta structure n'est pas la même sur l'ensemble de ton fichier c'est pas gagné ;) .

si tu rencontre le même cas plusieurs fois sur ton fichier tu peut commencer par remplacer ":]" par "", pour uniformiser ton fichier, pour faire ça utilise l'exe SWITCH dans téléchargment.
@+
winnux
King Of Batch
Messages : 37
Enregistré le : 28 juil. 2008 14:45

Re: Fichier txt ... encore

Message par winnux »

Salut Flox,

Le probleme si j'ai bien compris, sera toujour la :
[3] [:]clement] [37] ==> ,3, ,:,clement, ,37,

Un truc qui peut peut etre vous aider a m'aider :joke

[1] ==> cette chaine s'autoincremente et ne depassera jamais 4 caracteres [] compris, elle n'es pas obligatoire, mais elle es la :(
[:]clement] ==> cette chaine es aléatoire, donc caracte inatendu etc, elle es obligatoire.
Rem A partir de la ca peut etre interressant :
[22] ==> Cette chaine es l'avant derniere (il y en a 4), elle mesure obligatoirement 40 digits
[] ==> La derniere chaine, possede 2 possibilité, mais aucune n'inclut les caracte de delimitation, elle n'es pas obligatoire.

Sa ce represente a peut pret comme suit (* etant une serie de caracteres(mais vous devez vous en douter))
[1] [*] [40 digits] [a virer]

Donc y a surement moyen, a partir de la de supprimer les premier et derniers bloks ,de partir de la fin pour dire que l'on recupere 40 digits, et de supprimer le premier et dernier caractere de ce qu'il reste de facon a ne conserver que le nom.

Enfin je reve peut etre un peu mais comme la fin es plus stable que le debut, sa pourrai etre un debut de piste :)

Merci a vous
Répondre