Lire fichier .txt avec séparateur VB6 [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
13 novembre 2004
-
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
-
Bonjour, je suis débutant en vb et je souhaite récupérer les données d'un fichier texte dont les champs qui ne n'ont pas le même nombre de caractères à chaque enregistrement sont séparés par des virgules du style :

00002,T001,,,,21,05,,
2,T001,,,,2,05,Fi,2.50 Rou

Le but serait de lire ligne par ligne et de mettre le contenu de chaque champs dans un form comprenant deux bouton ( enreg suivant et précedent )

Je suis désolé , la question a été posée plusieur fois mais je n'y arrive pas !!!!!!

les commentaires n'aiderai énnormément ....

merci d'avance

alex

6 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
Récupère les lignes de ton fichier ligne par ligne tout d'abord par n Line Input dans une boucle.

Ensuite, découpe tes chaînes grâce à la fonction Mid en faisant des recherches dans chaque lignes sur la virgule (en utilise la fonction InStr).

Ensuite, il suffit de copier le contenu des sous-chaines récupérées dans tes controles.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
Plutôt que mid et instr, je ferait plutot un Split, non ??

Christophe R.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
Oui exact on peux faire un split c'est vrai en prenant la virgule comme séparateur.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Bonjour
Avec la virgule comme séparateur, il suffit de lire par
Input #n°deFichier, Variable
au lieu de Line Input ....
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
Oui rene, mais le problème qui se pose alors, c'est comment gérer les fin de lignes...
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Bonjour
Aucun problème :

Private Sub Command1_Click()
Dim Var As String
Open "H:\Sans.txt" For Input As #1
Do While Not EOF(1)
    Input #1, Var
    List1.AddItem Var
Loop
Close
End Sub

fonctionne parfaitement : retours à la ligne, ..., chaque texte avant une virgule ou un retour chariot étant reconnu comme une variable.
Si on met une textbox à la place de la listbox, il faut évidemment écrire
Text1.Text = Text1.Text & Var & vbCrLf