j'ai un fichier .txt contenant des lignes de trois mots séparés par une
virgule
je voudrais afficher le tout dans une ?box avec des lignes et des
colonnes bien marquées ainsi qu'une ligne de titre
j'ai employé une listview pour faire cela
rien de doit etre modifié dans cette liste, par contre je rajoute des
lignes dans le fichier texte par un autre moyen et je voudrais les voir
apparaitres dans ma listview
quand je veux mettre a jour cette liste par du code je rajoute, toutes
les lignes du fichier texte, donc des doublons dans la listview
comment faire
merci et bonnes fêtes
--
Adresse mail : john-pet@wanadoo.fr
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
tking
Après mûre réflexion, John-Pet a écrit :
Bonjour à tous
j'ai un fichier .txt contenant des lignes de trois mots séparés par une virgule
je voudrais afficher le tout dans une ?box avec des lignes et des colonnes bien marquées ainsi qu'une ligne de titre j'ai employé une listview pour faire cela rien de doit etre modifié dans cette liste, par contre je rajoute des lignes dans le fichier texte par un autre moyen et je voudrais les voir apparaitres dans ma listview
quand je veux mettre a jour cette liste par du code je rajoute, toutes les lignes du fichier texte, donc des doublons dans la listview
comment faire
merci et bonnes fêtes
1er solution : Utiliser la fonction clear de listview, donc effacer la liste et la re-remplir. ça peut paraitre lourd comme methode mais si tu caches la listview au moment du remplissage l'operation est très rapide. ça va aussi dépendre du nombre d'items.
Sinon faut faire une boucle qui contrôle que la nouvelle entrée n'est pas déjà présente en comparant tous les items existants avec le nouvel, donc un IF ... THEN dans un DO WHILE
Il y a déjà eu une discussion à ce sujet et des réponses tout a fait convaincantes :)
Message ID : <#
Sujet : supprimer doublons dans listview
Date : Thu, 11 Oct 2007 21:03:42 +0200 Auteur : "Pascal"
Après mûre réflexion, John-Pet a écrit :
Bonjour à tous
j'ai un fichier .txt contenant des lignes de trois mots séparés par une
virgule
je voudrais afficher le tout dans une ?box avec des lignes et des colonnes
bien marquées ainsi qu'une ligne de titre
j'ai employé une listview pour faire cela
rien de doit etre modifié dans cette liste, par contre je rajoute des lignes
dans le fichier texte par un autre moyen et je voudrais les voir apparaitres
dans ma listview
quand je veux mettre a jour cette liste par du code je rajoute, toutes les
lignes du fichier texte, donc des doublons dans la listview
comment faire
merci et bonnes fêtes
1er solution : Utiliser la fonction clear de listview, donc effacer la
liste et la re-remplir. ça peut paraitre lourd comme methode mais si tu
caches la listview au moment du remplissage l'operation est très
rapide. ça va aussi dépendre du nombre d'items.
Sinon faut faire une boucle qui contrôle que la nouvelle entrée n'est
pas déjà présente en comparant tous les items existants avec le nouvel,
donc un IF ... THEN dans un DO WHILE
Il y a déjà eu une discussion à ce sujet et des réponses tout a fait
convaincantes :)
Message ID : <#aKpelDDIHA.484@TK2MSFTNGP06.phx.gbl>
Sujet : supprimer doublons dans listview
Date : Thu, 11 Oct 2007 21:03:42 +0200
Auteur : "Pascal" <inconnu@hotmail.com>
j'ai un fichier .txt contenant des lignes de trois mots séparés par une virgule
je voudrais afficher le tout dans une ?box avec des lignes et des colonnes bien marquées ainsi qu'une ligne de titre j'ai employé une listview pour faire cela rien de doit etre modifié dans cette liste, par contre je rajoute des lignes dans le fichier texte par un autre moyen et je voudrais les voir apparaitres dans ma listview
quand je veux mettre a jour cette liste par du code je rajoute, toutes les lignes du fichier texte, donc des doublons dans la listview
comment faire
merci et bonnes fêtes
1er solution : Utiliser la fonction clear de listview, donc effacer la liste et la re-remplir. ça peut paraitre lourd comme methode mais si tu caches la listview au moment du remplissage l'operation est très rapide. ça va aussi dépendre du nombre d'items.
Sinon faut faire une boucle qui contrôle que la nouvelle entrée n'est pas déjà présente en comparant tous les items existants avec le nouvel, donc un IF ... THEN dans un DO WHILE
Il y a déjà eu une discussion à ce sujet et des réponses tout a fait convaincantes :)
Message ID : <#
Sujet : supprimer doublons dans listview
Date : Thu, 11 Oct 2007 21:03:42 +0200 Auteur : "Pascal"
Jean-marc
John-Pet wrote:
Bonjour à tous
j'ai un fichier .txt contenant des lignes de trois mots séparés par une virgule
je voudrais afficher le tout dans une ?box avec des lignes et des colonnes bien marquées ainsi qu'une ligne de titre j'ai employé une listview pour faire cela rien de doit etre modifié dans cette liste, par contre je rajoute des lignes dans le fichier texte par un autre moyen et je voudrais les voir apparaitres dans ma listview
quand je veux mettre a jour cette liste par du code je rajoute, toutes les lignes du fichier texte, donc des doublons dans la listview
comment faire
merci et bonnes fêtes
Hello,
en complément de la réponse précédente: Pour n'ajouter que les lignes nouvelles et donc vérifier qu'une entrée n'existe pas déjà, il existe des méthodes extrèmement efficaces. Tout ceci est présenté dans l'article générique sur les structures de données, dans la FAQ: http://faq.vb.free.fr/index.php?question7
Dans ton cas, une HasTable s'avèrerrait un excellent choix: http://faq.vb.free.fr/index.php?question1
Evidemment, ceci n'a d'intérêt que pour de longs fichiers, avec des milliers d'entrées.
Pour quelques dizaines d'entrées, une simple boucle suffit évidemment. Et comme ça n'aurait pas de sens d'afficher une liste comprenant plus que qq dizaines d'entrées, une méthode brutale fera très probabelement l'affaire.
j'ai un fichier .txt contenant des lignes de trois mots séparés par
une virgule
je voudrais afficher le tout dans une ?box avec des lignes et des
colonnes bien marquées ainsi qu'une ligne de titre
j'ai employé une listview pour faire cela
rien de doit etre modifié dans cette liste, par contre je rajoute des
lignes dans le fichier texte par un autre moyen et je voudrais les
voir apparaitres dans ma listview
quand je veux mettre a jour cette liste par du code je rajoute, toutes
les lignes du fichier texte, donc des doublons dans la listview
comment faire
merci et bonnes fêtes
Hello,
en complément de la réponse précédente:
Pour n'ajouter que les lignes nouvelles et donc vérifier
qu'une entrée n'existe pas déjà, il existe des méthodes
extrèmement efficaces.
Tout ceci est présenté dans l'article générique sur les
structures de données, dans la FAQ:
http://faq.vb.free.fr/index.php?question7
Dans ton cas, une HasTable s'avèrerrait un excellent choix:
http://faq.vb.free.fr/index.php?question1
Evidemment, ceci n'a d'intérêt que pour de longs fichiers,
avec des milliers d'entrées.
Pour quelques dizaines d'entrées, une simple boucle suffit
évidemment. Et comme ça n'aurait pas de sens d'afficher une
liste comprenant plus que qq dizaines d'entrées, une méthode
brutale fera très probabelement l'affaire.
j'ai un fichier .txt contenant des lignes de trois mots séparés par une virgule
je voudrais afficher le tout dans une ?box avec des lignes et des colonnes bien marquées ainsi qu'une ligne de titre j'ai employé une listview pour faire cela rien de doit etre modifié dans cette liste, par contre je rajoute des lignes dans le fichier texte par un autre moyen et je voudrais les voir apparaitres dans ma listview
quand je veux mettre a jour cette liste par du code je rajoute, toutes les lignes du fichier texte, donc des doublons dans la listview
comment faire
merci et bonnes fêtes
Hello,
en complément de la réponse précédente: Pour n'ajouter que les lignes nouvelles et donc vérifier qu'une entrée n'existe pas déjà, il existe des méthodes extrèmement efficaces. Tout ceci est présenté dans l'article générique sur les structures de données, dans la FAQ: http://faq.vb.free.fr/index.php?question7
Dans ton cas, une HasTable s'avèrerrait un excellent choix: http://faq.vb.free.fr/index.php?question1
Evidemment, ceci n'a d'intérêt que pour de longs fichiers, avec des milliers d'entrées.
Pour quelques dizaines d'entrées, une simple boucle suffit évidemment. Et comme ça n'aurait pas de sens d'afficher une liste comprenant plus que qq dizaines d'entrées, une méthode brutale fera très probabelement l'affaire.
Merci à vous deux pour ces réponses (que j'ai utilisé)
ma listview s'implemente toutes les heures avec l'ajout d'un enregistrement par heure , puis j'efface la totalité de cette liste toutes les 24h
ayant pas trouvé autre chose que la listview pour avoir des colonnes et lignes , si il y a autre chose de plus simple je suis preneur
j'ai donc utilisé la méthode d'éffacer et de réecrire la totalité à chaque changement
JP
-- Adresse mail : Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Jean-marc
>John-Pet wrote:
Hello,
Merci à vous deux pour ces réponses (que j'ai utilisé)
Merci du retour !
ma listview s'implemente toutes les heures avec l'ajout d'un
<hs> implémente <> incrémente </hs>
enregistrement par heure , puis j'efface la totalité de cette liste toutes les 24h
On est donc typiquement dans un cas ou le nombre de données à traiter est très faible.
ayant pas trouvé autre chose que la listview pour avoir des colonnes et lignes , si il y a autre chose de plus simple je suis preneur
Ben non, c'est parfait comme ça :-)
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait utiliser une TextBox avec police à empattement fixe (Courrier New par exemple) et aligner correctement tes données en utilisant habilement la fonction Space$() pour padder tes données avec les blancs nécessaires pour un affichage bien aligné.
j'ai donc utilisé la méthode d'éffacer et de réecrire la totalité à chaque changement
Ce qui était ici très clairement la meilleure solution !
Merci à vous deux pour ces réponses (que j'ai utilisé)
Merci du retour !
ma listview s'implemente toutes les heures avec l'ajout d'un
<hs> implémente <> incrémente </hs>
enregistrement par heure , puis j'efface la totalité de cette liste
toutes les 24h
On est donc typiquement dans un cas ou le nombre de données à
traiter est très faible.
ayant pas trouvé autre chose que la listview pour avoir des colonnes
et lignes , si il y a autre chose de plus simple je suis preneur
Ben non, c'est parfait comme ça :-)
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait
utiliser une TextBox avec police à empattement fixe (Courrier New par
exemple) et aligner correctement tes données en utilisant habilement la
fonction Space$() pour padder tes données avec les blancs nécessaires
pour un affichage bien aligné.
j'ai donc utilisé la méthode d'éffacer et de réecrire la totalité à
chaque changement
Ce qui était ici très clairement la meilleure solution !
Merci à vous deux pour ces réponses (que j'ai utilisé)
Merci du retour !
ma listview s'implemente toutes les heures avec l'ajout d'un
<hs> implémente <> incrémente </hs>
enregistrement par heure , puis j'efface la totalité de cette liste toutes les 24h
On est donc typiquement dans un cas ou le nombre de données à traiter est très faible.
ayant pas trouvé autre chose que la listview pour avoir des colonnes et lignes , si il y a autre chose de plus simple je suis preneur
Ben non, c'est parfait comme ça :-)
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait utiliser une TextBox avec police à empattement fixe (Courrier New par exemple) et aligner correctement tes données en utilisant habilement la fonction Space$() pour padder tes données avec les blancs nécessaires pour un affichage bien aligné.
j'ai donc utilisé la méthode d'éffacer et de réecrire la totalité à chaque changement
Ce qui était ici très clairement la meilleure solution !
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait utiliser une TextBox avec police à empattement fixe (Courrier New par exemple) et aligner correctement tes données en utilisant habilement la fonction Space$() pour padder tes données avec les blancs nécessaires pour un affichage bien aligné.
Quelle drôle d'idée ... :-) Pour éviter de distribuer un composant, j'aurais plutôt opté pour un ListBox avec tabulations, ici avec 3 tabulations (ie 4 colonnes) :
Private Declare Function SendMessage _ Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long
Private Const LB_SETTABSTOPS As Long = &H192
Private Sub Form_Load() ReDim tTabuls(0 To 2) As Long Dim i As Integer
For i = 1 To 5 Me.List1.AddItem "aaaaa" & vbTab & _ "bbbbb" & vbTab & _ "ccccc" & vbTab & "ddddd" Next i End Sub
-- Meilleurs voeux à tous,
Jacques.
Bonjour Jean-marc,
Jean-marc a écrit :
John-Pet wrote:
Hello,
[...]
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait
utiliser une TextBox avec police à empattement fixe (Courrier New par
exemple) et aligner correctement tes données en utilisant habilement la
fonction Space$() pour padder tes données avec les blancs nécessaires
pour un affichage bien aligné.
Quelle drôle d'idée ... :-) Pour éviter de distribuer un composant,
j'aurais plutôt opté pour un ListBox avec tabulations, ici avec 3
tabulations (ie 4 colonnes) :
Private Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Const LB_SETTABSTOPS As Long = &H192
Private Sub Form_Load()
ReDim tTabuls(0 To 2) As Long
Dim i As Integer
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait utiliser une TextBox avec police à empattement fixe (Courrier New par exemple) et aligner correctement tes données en utilisant habilement la fonction Space$() pour padder tes données avec les blancs nécessaires pour un affichage bien aligné.
Quelle drôle d'idée ... :-) Pour éviter de distribuer un composant, j'aurais plutôt opté pour un ListBox avec tabulations, ici avec 3 tabulations (ie 4 colonnes) :
Private Declare Function SendMessage _ Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long
Private Const LB_SETTABSTOPS As Long = &H192
Private Sub Form_Load() ReDim tTabuls(0 To 2) As Long Dim i As Integer
For i = 1 To 5 Me.List1.AddItem "aaaaa" & vbTab & _ "bbbbb" & vbTab & _ "ccccc" & vbTab & "ddddd" Next i End Sub
-- Meilleurs voeux à tous,
Jacques.
Jean-marc
>Jacques93 wrote: Bonjour Jean-marc, Jean-marc a écrit :
John-Pet wrote:
Hello,
[...]
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait utiliser une TextBox avec police à empattement fixe (Courrier New par exemple) et aligner correctement tes données en utilisant habilement la fonction Space$() pour padder tes données avec les blancs nécessaires pour un affichage bien aligné.
Salut Jacques,
Quelle drôle d'idée ... :-) Pour éviter de distribuer un composant, j'aurais plutôt opté pour un ListBox avec tabulations, ici avec 3 tabulations (ie 4 colonnes) :
[...]
Très bonne idée bien sur !
Il se trouve que j'aime bien utiliser les textBox avec police à empattement fixe et "tabulation"/"alignement" manuel, car c'est transposable ensuite sur des environnements non graphiques ... Déformation professionnelle :-))
+----------------------------+ |Meilleurs Voeux 2008 à Tous | +----------------------------+
>Jacques93 wrote:
Bonjour Jean-marc,
Jean-marc a écrit :
John-Pet wrote:
Hello,
[...]
Si tu veux éviter de déployer le composant ListView, tu peux tout à
fait utiliser une TextBox avec police à empattement fixe (Courrier
New par exemple) et aligner correctement tes données en utilisant
habilement la fonction Space$() pour padder tes données avec les
blancs nécessaires pour un affichage bien aligné.
Salut Jacques,
Quelle drôle d'idée ... :-) Pour éviter de distribuer un composant,
j'aurais plutôt opté pour un ListBox avec tabulations, ici avec 3
tabulations (ie 4 colonnes) :
[...]
Très bonne idée bien sur !
Il se trouve que j'aime bien utiliser les textBox avec police à empattement
fixe et "tabulation"/"alignement" manuel, car c'est transposable ensuite
sur des environnements non graphiques ... Déformation professionnelle :-))
+----------------------------+
|Meilleurs Voeux 2008 à Tous |
+----------------------------+
>Jacques93 wrote: Bonjour Jean-marc, Jean-marc a écrit :
John-Pet wrote:
Hello,
[...]
Si tu veux éviter de déployer le composant ListView, tu peux tout à fait utiliser une TextBox avec police à empattement fixe (Courrier New par exemple) et aligner correctement tes données en utilisant habilement la fonction Space$() pour padder tes données avec les blancs nécessaires pour un affichage bien aligné.
Salut Jacques,
Quelle drôle d'idée ... :-) Pour éviter de distribuer un composant, j'aurais plutôt opté pour un ListBox avec tabulations, ici avec 3 tabulations (ie 4 colonnes) :
[...]
Très bonne idée bien sur !
Il se trouve que j'aime bien utiliser les textBox avec police à empattement fixe et "tabulation"/"alignement" manuel, car c'est transposable ensuite sur des environnements non graphiques ... Déformation professionnelle :-))
+----------------------------+ |Meilleurs Voeux 2008 à Tous | +----------------------------+
Il se trouve que j'aime bien utiliser les textBox avec police à empattement fixe et "tabulation"/"alignement" manuel, car c'est transposable ensuite sur des environnements non graphiques ... Déformation professionnelle :-))
J'ai fait le chemin inverse, relooker des applications Texte en mode graphique, donc exit les polices fixes, look trop ringard :-( sauf pour les éditions, parce que hein bon, faut pas exagérer,et à l'époque sur des imprimantes matricielles, éditer en mode graphique ça faisait un boucan infernal, et bouffait du ruban à tout va.
-- Cordialement,
Jacques.
Jean-marc a écrit :
[...]
Il se trouve que j'aime bien utiliser les textBox avec police à empattement
fixe et "tabulation"/"alignement" manuel, car c'est transposable ensuite
sur des environnements non graphiques ... Déformation professionnelle :-))
J'ai fait le chemin inverse, relooker des applications Texte en mode
graphique, donc exit les polices fixes, look trop ringard :-(
sauf pour les éditions, parce que hein bon, faut pas exagérer,et à
l'époque sur des imprimantes matricielles, éditer en mode graphique ça
faisait un boucan infernal, et bouffait du ruban à tout va.
Il se trouve que j'aime bien utiliser les textBox avec police à empattement fixe et "tabulation"/"alignement" manuel, car c'est transposable ensuite sur des environnements non graphiques ... Déformation professionnelle :-))
J'ai fait le chemin inverse, relooker des applications Texte en mode graphique, donc exit les polices fixes, look trop ringard :-( sauf pour les éditions, parce que hein bon, faut pas exagérer,et à l'époque sur des imprimantes matricielles, éditer en mode graphique ça faisait un boucan infernal, et bouffait du ruban à tout va.