Transférer le contenu d'un fichier texte vers une ListView

Résolu
DarkKnight1418 Messages postés 3 Date d'inscription dimanche 28 février 2016 Statut Membre Dernière intervention 29 février 2016 - Modifié par DarkKnight1418 le 28/02/2016 à 02:10
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 1 mars 2016 à 09:24
Bonjour tout le monde,

Je me suis récemment lancé dans le Visual Basic et je me retrouve avec un soucis: J'ai ajouté une ressource à mon projet(fichier texte) et je souhaite pouvoir utiliser son texte dans une ListView.

Mon fichier serait structuré comme suit:
"Item"|"SubItem1"|"SubItem2"
"Item"|"SubItem1"|"SubItem2"
[...]

Bien sûr, chaque ligne est une ligne différente dans la ListView.

Et tant qu'à être là, comment écrire du texte ligne par ligne dans le style plus haut?

En espérant avoir été clair....
Merci d'avance!

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 28/02/2016 à 05:19
Bonjour,

Cette discussion a été ouverte dans le forum général de Visual Basic, qui comprend les sous-forums VB.Net, VB6, VBA et VBS.
Il se trouve que la réponse à la question posée est très différente selon que l'on développe sous VB6, VB.Net ou VBA.
En l'état, donc, la seule réponse possible est celle du mécanisme de la démarche !
- ouverture en lecture du fichier texte
- lecture ligne par ligne (une boucle While)
--- éclatement (méthode Split) de chaque ligne lue par rapport au caractère |
---- insertion dans la listview des articles ainsi obtenu
- fermeture du fichier texte

EDIT : Quoi qu'il en soit (quel que puisse être ton outil de développement VB), tu trouveras sur le présent site, qui dispose d'un moteur de recherche à utiliser sans modération avant toute question, une foultitude de discussions ouvertes et sources déposées concernant la lecture et l'écriture dans un fichier Texte.
Je pense que le reste (ajouts à la listview) est une chose que tu maîtrises déjà. Dans le cas contraire, cela signifierait que tu es venu chercher du "tout-cuit" (la totalité de ta démarche) sur ce forum dont telle n'est pas la vocation fondamentale.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
28 févr. 2016 à 07:47
Bonjour,

Voir cette discution:


http://codes-sources.commentcamarche.net/forum/affich-10057095-importer-fichier-texte-listview

un bonjour matinal à ucfoutu
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 28/02/2016 à 10:39
Bonjour, Le Pivert,
Trop d'interrogations pour répondre valablement à ce stade :
- version de VB encore inconnue
- structure exacte du fichier texte "floue". Ce qu'il nous en montre pose questions :
--- les guillemets que l'on y voit sont-ils également présents dans le fichier ou ne les a-t-il mis ici que pour "tendre à dire" que les articles sont des chaines de caractères ? (ce n'est bien évidemment pas la même chose)
--- les | qu'il montre sont-ils des | présents dans son fichiers texte ou ne les a-t-il mis ici que pour "tendre à dire" qu'il s'agit de colonnes séparées (et par quoi, dans son fichier ?) ? (ce n'est évidemment pas la même chose non plus)
pour mieux comprendre le doute résultant de ce "flou" : ===>> 4 doutes :

"Item"|"SubItem1"|"SubItem2"
"Item"|"SubItem1"|"SubItem2"

Item|SubItem1SubItem2
Item|SubItem1|SubItem2

Item SubItem SubItem2
Item SubItem1 SubItem2

"Item" "SubItem1" "SubItem2"
"Item" "SubItem1" "SubItem2"

Il lèverait ces incertitudes en montrant ici un copier/coller pur de 2 ou 3 lignes de son fichier texte
0
DarkKnight1418 Messages postés 3 Date d'inscription dimanche 28 février 2016 Statut Membre Dernière intervention 29 février 2016 > ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018
28 févr. 2016 à 22:06
Bonjour ucfoutu,
En fait, mon fichier texte est structuré comme suit, copié collé:

Item|SubItem1|SubItem2

les "|" sont juste là pour séparer chaque élément.
Je peux très facilement changer ma structure pour faciliter le tout

Merci
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
28 févr. 2016 à 23:29
bonjour à tous
Pour DarKnight1418
1) Sous quoi développes-tu ?
2) Est-ce si dur de dire par exemple que ton fichier contient en paramètre 1 un nom, en paramètre 2 un prénom et en paramètre 3 l'age de cette personne par exemple !
3) C'est cela le structure d'un fichier texte telle que l'attend ucfoutu !
4) Maintenant reste à savoir si ces 3 informations sont sur la même ligne du fichier texte ( et dans ce cas comment elles sont séparées) ou sont regroupées par bloc de 3 lignes dans le fichier texte !
Regarde le devise de ucfoutu et mets la en pratique ! Ce serait déjà un pas de géant de fait à ton niveau !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 29/02/2016 à 07:31
Nous en sommes au 6ème message, DarkKnight1, et nous ignorons ENCORE ta version de Visual Basic !
Est-ce une plaisanterie ?

Et puis tiens, puisque nous en sommes à trainailler par ta faute ===>>
Voilà un exemple en VB6
Private Sub Command1_Click()
Dim FF As Integer, tablgen, tabligne, sep As String, i as Long, j as Long
sep = "|"
With ListView1
.View = lvwReport
.Width = Me.Width
.Left = 0
.ColumnHeaders.Add , , "noms", .Width / 3
.ColumnHeaders.Add , , "prénoms", .Width / 3
.ColumnHeaders.Add , , "âge", .Width / 3
FF = FreeFile
Open "d:\essai.txt" For Input As #FF
strtext = Input(LOF(FF), #FF)
Close #FF
tablgen = Split(strtext, vbCrLf)
Dim itmX As ListItem
For i = 0 To UBound(tablgen)
tabligne = Split(tablgen(i), sep)
Set itmX = .ListItems.Add(, , tabligne(0))
For j = 1 To UBound(tabligne)
itmX.SubItems(j) = tabligne(j)
Next
Next
End With
End Sub

cet exemple VB6 traite un fichier "D:\essai.txt" ainsi écrit :
DUPONT|Jean|25
DURAND|Pierre|31
DARKNIGHT|Benoit|10
Voilà ...
Et ne viens pas pleurer si, développant finalement sous autre chose que VB6, cela ne "marche" pas pour toi. Ce ne sera pas faute de t'en avoir fait la remarque en vain !
Mon exemple (VB6, donc) a été testé et est sans faille.
Je ne reviendrai plus dans cette discussion.


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0

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

Posez votre question
DarkKnight1418 Messages postés 3 Date d'inscription dimanche 28 février 2016 Statut Membre Dernière intervention 29 février 2016
29 févr. 2016 à 21:21
Désolé du retard....

Je suis sur Visual Basic 2010 Express, mais j'ai trouvé la réponse à ma question en cherchant et testant plusieurs choses.

Merci quand même...
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
1 mars 2016 à 00:04
sur un forum on partage à mon avis !
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 mars 2016 à 09:24
0
Rejoignez-nous