Tri sur un composant TFileListBox

cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 - 22 déc. 2006 à 12:51
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 - 22 déc. 2006 à 16:50
Bonjour,

Avec le composant TFileListbox, est il possible aussi d'obtenir un tri des fichiers.

Ex: "monimage_1_2006.jpg" jusque "monimage_18_2006.jpg"

J'obtiens chaque fois les fichiers _11_2006,_12_2006,_13_2006 en premier plutôt que _1_2006, 2_2006 ect...

Si quelqu'un a une idée, merci d'avance.

N. B. Avec le composant Tlistbox, c'est faisable.

@+,

Cincap

[url]mailto:/url

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
22 déc. 2006 à 13:25
Salut,

il me semble qu'un simple changement de "type" de numérotation corrige le problème

au lieu de : "monimage_1_2006.jpg" jusque "monimage_18_2006.jpg"

écrire comme ça : "monimage_001_2006.jpg" jusque "monimage_018_2006.jpg"

Le trie est éffectué sur les caractères pas sur les nombres ce qui fait que la suite : 1, 5, 2, 16, 11 donne une fois triée :
1   // la liste est triée en fonction du premier caractère puis du second etc etc
11
16
2
5

Pour obtenir un résultat correcte il faut écrire : 01, 05, 02, 16, 11
ce qui donne une fois triée :
01
02
05
11
16

 
@+
Cirec

<hr size="2" />
0
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
22 déc. 2006 à 13:49
Bonjour Cirec,

Décidément tu passes ta vie à aider les autres, tu devrais être décoré .

Pour la numérotation, c'est clair, mais j'avais espéré de ne pas avoir de conditions sur le choix du nom de fichier.

Néanmoins, ton aide est astucieuse, il suffit de changer mes habitudes.

Ce composant me semble difficile à apprivoiser.

Encore merci pour ta réponse rapide.
 
P. S. Je constate aussi que tu n'hésites jamais à proposer une solution avec le code alors que d'autres ne le font pas sur ce forum (heureusement ce n'est pas une généralité !).


@+,


Cincap 

[url]mailto:/url
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
22 déc. 2006 à 16:27
Hello Cincap

A noter qu'une astuce similaire est souvent utilisée en employant  les jours, mois et années (mais en notation Américaine, c'est à dire Année/Mois/jour). Pourquoi ? Simplement pour avoir les fichiers facilement triables par leur nom.

Exemples  :
   image_2006_11_05.jpg  // 05 novembre 2006
   image_2006_10_11.jpg  
   image_2005_11_05.jpg
   image_2006_02_03.jpg 
   image_2005_03_02.jpg

Après un tri normal, tu auras :
   image_2005_03_02.jpg
   image_2005_11_05.jpg
   image_2006_02_03.jpg 
   image_2006_10_11.jpg  
   image_2006_11_05.jpg 

Après un tri inverse, tu auras évidemment :
   image_2006_11_05.jpg  
   image_2006_10_11.jpg  
   image_2006_02_03.jpg 
   image_2005_11_05.jpg
   image_2005_03_02.jpg

N.B. L'inconvénient étant évidemment de ne pas se tromper dans l'ordre mois/jours  

On peut également étendre la méthode aux heures/minutes/secondes.

Cordialement.

<hr />
L'imbécile prétentieux est celui qui se croit plus intelligent que ceux qui sont aussi bêtes que lui.
0
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
22 déc. 2006 à 16:50
Bonjour WhiteHippo,

Merci pour ta réponse, j'en prends bonne note.

Par contre pour l'affichage des icones dans le filelistbox pas de solutions concrètes ? à moins d'utiliser un autre composant ce qui n'arrange pas toujours.

@+,

Cincap

[url]mailto:/url
0
Rejoignez-nous