Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Listview

14 réponses
Avatar
tking
Hello,

Par exemple, après un tri dans un listview, visuellement l'élément
numéro 1 se retrouve en 4iem position.

Alors l'élément numéro 1 visible dans la liste n'est pas l'élément
stocké dans listview1.listitems.item(1), qui est en 4.

Du coup, l'index de la liste visible n'est pas le même que celle de la
listview.

Est-il possible de réorganiser le listview en mémoire pour le faire
correspondre à la liste visible ?


Merci et bon dimanche.

4 réponses

1 2
Avatar
Jacques93
Jacques93 a écrit au minimum une erreur :

itmX.SubItems(1) = Format(Now(), "yyyymmddhhss")



à remplacer par :

itmX.SubItems(1) = Format(Now(), "yyyymmddhhnnss")

avait oublie les minutes.

--
Cordialement,

Jacques.
Avatar
parci
On Mon, 12 Nov 2007 01:16:30 +0100, Jacques93 wrote:

Essaie ce code (qui trie à l'envers). Il faut une Form, un Timer, et un
ListView bien sûr :

Option Explicit

Private Sub Form_Load()
With Me.ListView1
.View = lvwReport
.ColumnHeaders.Add , , "Visible"
.ColumnHeaders.Item(1).Width = 1800
.ColumnHeaders.Add , , "Invisible"
.ColumnHeaders.Item(2).Width = 0
.Sorted = True
.SortOrder = lvwDescending
.SortKey = 1
End With
With Me.Timer1
.Interval = 5000
.Enabled = True
End With
End Sub

Private Sub Timer1_Timer()
Dim itmX As ListItem

With Me.ListView1
Set itmX = .ListItems.Add(, , Str(Now()))
itmX.SubItems(1) = Format(Now(), "yyyymmddhhss")
.Sorted = True
.SortOrder = lvwDescending
.SortKey = 1
.Refresh
End With
End Sub

Cela me semble fonctionner en VB6, qu'en est il en VB5 ?



Effectivement, ça fonctionne aussi avec la version 5 de la listview.
J'avais testé rapidement mais sans mettre les mêmes dates dans les 2
colonnes, alors ...
Moralité, minuit passé, aller dormir.
Avatar
Jacques93
Bonjour parci,
parci a écrit :
On Mon, 12 Nov 2007 01:16:30 +0100, Jacques93 wrote:

Essaie ce code (qui trie à l'envers). Il faut une Form, un Timer, et un
ListView bien sûr :





[...]


Effectivement, ça fonctionne aussi avec la version 5 de la listview.
J'avais testé rapidement mais sans mettre les mêmes dates dans les 2
colonnes, alors ...
Moralité, minuit passé, aller dormir.




Ou :

Programmeur (ou yeux de programmeur) fatigué => Programmeur aller se
reposer :-D

En tout cas, merci du retour :-)

--
Cordialement,

Jacques.
Avatar
Jean-marc
parci wrote:
On Mon, 12 Nov 2007 01:16:30 +0100, Jacques93 wrote:

Effectivement, ça fonctionne aussi avec la version 5 de la listview.
J'avais testé rapidement mais sans mettre les mêmes dates dans les 2
colonnes, alors ...
Moralité, minuit passé, aller dormir.



C'est une règle assez sage :-)

D'après la "Conjecture de Noury", le nombre de bugs
dans un programme en fonction du temps passé à programmer
sans pause obéit à la loi suivante:

N = EXP(T/2.PI).Log(K/2).W

N : Le nombre de bugs
T : Le temps en heures
K : Le nombre de lignes du programme
W : Programming Skills, nombre sans unité, dans ]0;2[,
qui représente les capacités à programmer du programmeur.
Un débutant à un W aux alentours de 1,5 alors qu'un
expert aura un W moyen de 0,6.

Essayez cette formule, perso je l'utilise depuis des années
et elle est rarement prise en défaut.

Voici l'allure de la courbe:
http://users.skynet.be/candide/jmn/conjnou.png

Note : j'ai mis cette formule au point pour le langage C,
pour VB il faut ajouter une constante multiplicative
de 0.7 environ (on fait moins de fautes en VB qu'en C).

Exemple : Soit un programmeur lambda (w=1.1), ayant
déjà une journée de programmation (8 heures) à son
actif.
Il doit maintenant écrire rapidement un module
de 100 lignes.

N = EXP(8/2.PI) * Log(100/2) * 1.1 = 6,67

On peut s'attendre à trouver 6 à 7 bugs, en moyenne.

C'est très important pour celui qui fait le code review:
il sait qu'il doit en moyenne s'attendre à trouver plus
ou moins ce nombre de bugs. Si il en trouve moins, c'est
peut être l'indice que le reviewer aussi est fatigué!

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
1 2