Lecture de fichier texte et concatenation

SEBOBS Messages postés 9 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 26 mai 2009 - 27 oct. 2008 à 17:36
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 - 28 oct. 2008 à 13:51
bonjour,

je lis un fichier texte, les donnees ont  la forme suivante : a,b,c,d,e,f
j ai sur plusieurs ligne a,b,c,,e, et a,b,c,d,, ou a,b,c sont identiques je cherche  a faire  a,b,c,d,e, et effacer les 2 autres lignes comment faire ?
j utilise la fonction :
  Open "c:\test.txt" For Input As #1


         Do While Not (EOF(1))
         Input #1, a, b, c, d, e, f ' 
      
      Loop

j ai donc a,b,c,d,e,f  mais je suis bloqué a la comparaison

merci d avance

11 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 oct. 2008 à 18:30
Salut,

Désolé mais je n'est absolument rien compris, j'espère que je serai le seul, et que tu pourras trouver de l'aide.
Sinon essaies d'expliquer un peu plus clairement le problème.

@+: Ju£i€n
Pensez: Réponse acceptée
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
27 oct. 2008 à 20:02
+1 avec toi, jrivet
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
27 oct. 2008 à 21:08
Salut,

VB.NET? Utilise IO.File.ReadAllLines()

Après, pour le traitement, c'est effectivement pas très clair
0
SEBOBS Messages postés 9 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 26 mai 2009
28 oct. 2008 à 08:49
ok la question est pas tres claire donc je joins un exemple:
j ai donc un fichier avec des donnees sous la forme suivante:
7622142,21,697,9999,,
1258,25,699,,0,
7622142,21,697,,0,
1254,24,698,10,,
1262,25,700,,0,
1254,24,698,,0,
7704271,21,698,,,5
7704271,23,698,,2,
etc...
Si le numero  7622142 se trouve plusieurs fois dans le fichier  je souhaite faire l action suivante
7622142,21,697,9999,,0, et suprimer les 2 anciennes lignes
Si le numero 1254
1254,24,698,10,0,,
Si le numero 7704271
7704271,23,698,,2,5
a la fin j aimerai avoir le fichier suivant
7622142,21,697,9999,,0
1258,25,699,,0,
1254,24,698,10,0,,
7704271,23,698,,2,5
1262,25,700,,0,
etc
le tous sous visual basic merci d avance et pardon si je n ai pas ete tres claire la premiere fois
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
28 oct. 2008 à 09:13
Salut,
Effectivement c'est déjà beaucoup plus clair.
En revanche le code que tu proposes semble être [forum-VISUAL-BASIC_1.aspx Visual Basic 6], et tu as choisi [forum-VB-NET-VB-2005_40.aspx VB.NET et VB 2005] comme section.

Quelle est donc la version de  que tu utilises: [forum-VISUAL-BASIC_1.aspx Visual Basic 6], ou [forum-VB-NET-VB-2005_40.aspx VB.NET et VB 2005]?

@+: Ju£i€n
Pensez: Réponse acceptée
0
SEBOBS Messages postés 9 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 26 mai 2009
28 oct. 2008 à 09:43
Visual Basic 6
j
0
SEBOBS Messages postés 9 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 26 mai 2009
28 oct. 2008 à 09:43
Visual Basic 6
j ai
0
SEBOBS Messages postés 9 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 26 mai 2009
28 oct. 2008 à 09:43
Visual Basic 6
j ai du
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
28 oct. 2008 à 10:20
Re,
NOTE sur ton exemple:

Pourquoi
7704271,21,698,,,5
7704271,23,698,,2,

Deviendrait il

7704271,23,698,,2,5 ?????

Que faire si nous avons?

1254,24,698,10,1,
1254,24,698,,0,

@+: Ju£i€n
Pensez: Réponse acceptée
0
SEBOBS Messages postés 9 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 26 mai 2009
28 oct. 2008 à 13:19
7704271,21,698,,,5 7704271,23,698,,2, deviendrait 7704271,23,698,,2,5 car 2 et 5 indiquent des problemes different sur
la meme reference (7704271,23,698)
pour le cas:
1254,24,698,10,1, 1254,24,698,,0, il ne doit jamais arriver car on ne peut avoir qu un probleme a la fois (soit 1 ou 0)
merci encore pour votre aide
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
28 oct. 2008 à 13:51
"7704271,21,698,,,5  7704271,23,698,,2, deviendrait 7704271,23,698,,2,5  car 2 et 5 indiquent des problemes different sur


la meme reference (7704271,23,698)"


La même référence? Pourquoi 7704271,21,698 deviendrait-il 7704271,23,698? Comment savoir que le 21 doit devenir un 23?

Donc, à part pour ce que je viens de dire, il semblerait qu'il faut vérifier que les 3 premiers nombres soient équivalents, si c'est le cas, on les groupe:

Parcourir chaque ligne du fichier
    Vérifier les 3 1er nombres, et ajouter la ligne à la bonne collection (celle qui contient toutes les ligne commençant par la référence en question. Si elle n'existe pas, la créer)

Après, c'est difficile à expliquer....
Pour chaque collection contenant les lignes ayant la même référence:
Parcourir chaque groupe de nombre (séparé par une virgule) de la 1ère ligne :
Si le groupe ne contient pas de nombre (,,), on cherche le nombre dans les autres lignes ayant la même référence

Voilà...
0
Rejoignez-nous