Italian community of Lazarus and Free Pascal
Programmazione => Generale => Topic aperto da: ffabio - Aprile 18, 2016, 10:16:52 am
-
Qualcuno sa come ordinare in ordine alfabetico il contenuto di una ShellListView ?
Ho una serie di file : (sono pagine quindi vorrei questo ordinamento)
1_file1
2_file2
.....
10_file10
11_file11
ecc.
Come faccio a ordinarli cosi' come la finestrella del S.O.
Ho provato a mettere le proprietà
SortColumn = 0
SortType =stText
ma non è l' ordinamento che voglio .
fa
1_file1
10_file10
11_file11
....
:( :( :( :(
-
Per lui il nome del file è una stringa, quindi è corretto che li metta in quell'ordine.
Se puoi, metti gli "zeri non significativi" nei nomi dei files. se non puoi, ti tocca ordinare a mano l'elenco prima di emetterlo nella ShellListView.
Ciao, Mario
-
come si fa ???
-
Dipende ....
Dall'esempio che hai fatto, TUTTI i files hanno:
- all'inizio del nome un numero
- poi un tratto basso
- poi il resto del nome del file
Se è così, puoi vedere se la ShellListView ha la possibilità di usare la CustomSort (io non ho mai usato quel componente), e sfruttarla per ordinare i files come va a te.
P.S. Un po' di tempo fa', non ricordo se su questo form o su quello ufficiale in inglese, qualcuno aveva postato l'algoritmo per ordinare i files come vorresti tu, si chiamava "Natural sort" o qualcosa del genere
Ciao, Mario
-
P.S. Un po' di tempo fa', non ricordo se su questo form o su quello ufficiale in inglese, qualcuno aveva postato l'algoritmo per ordinare i files come vorresti tu, si chiamava "Natural sort" o qualcosa del genere
+1
natural sort oppure natural order, non ricordo bene, ma quello è l'algoritmo che ti serve
-
Trovato ... ci hanno fatto pure la pagina wiki !!!
http://wiki.freepascal.org/NaturalSort