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!
A voir également:
Transférer le contenu d'un fichier texte vers une ListView
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.
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 :
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 !
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.