Newsgroup: it.comp.lang.delphi
Titolo: Sort

Una stringList  'sorted' mi ordina gli elementi come segue:
26/05/15=100,33
27/04/15=7,8900
27/05/15=100,1234
Non capisco come mai il secondo elemento non si presenta come primo. Avete 
idea?
 
Carico questi elementi in un file ini mettendo un blank prima e dopo il 
segno '='. Il file ini è costruito correttamente, ma quando li rileggo con 
ReadSectionValues nella stringList, il blank viene soppresso e la lista si 
presenta come sopra. Come mai ? 
 
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
http://www.avast.com
 
 

 idea?
Perchè, per l'appunto, parliamo di una STRINGlist. Ne consegue che 
l'ordinamento avviene confrontando stringhe, e non date.
Potresti risolvere "formattando" la data come YYYYMMDD, ma non so se 
nel tuo caso sia fattibile.
A proposito del "tuo" caso, così tanto per dire, visto che stai facendo 
molte domande ma non spieghi mai fino in fondo qual'è l'obiettivo, 
siamo sicuri che non ci sia un modo più semplice per fare ciò che vuoi 
fare? :)
Lo chiedo perchè ho la sensazione che stiamo mettendo le toppe alle 
toppe :D
 
-- 
Emanuele Desideri
 
 

"Emanuele Desideri"  ha scritto nel messaggio 
news:mk7fe2$l2h$1...@speranza.aioe.org...
Potresti risolvere "formattando" la data come YYYYMMDD, ma non so se
nel tuo caso sia fattibile.
A proposito del "tuo" caso, così tanto per dire, visto che stai facendo
molte domande ma non spieghi mai fino in fondo qual'è l'obiettivo,
siamo sicuri che non ci sia un modo più semplice per fare ciò che vuoi
fare? :)
Lo chiedo perchè ho la sensazione che stiamo mettendo le toppe alle
toppe :D
Emanuele Desideri
---
L'obiettivo è memorizzare in un file una serie successiva di coppie 
data/quotazioni di titoli (uso un ini file perchè la struttura che crea è 
proprio quella che mi serve: con le sezioni identifico il Titolo , la key è 
la data e il valore è la quotazione, tutto in formato stringa. Con 
ReadSectionValues acquisisco di un botto in una lista ordinata (credevo..) 
che mostro in una listBox.
Ho trovato solo due problemini: Uno è quello che ti ho detto, ma che potrei 
risolvere come tu suggerisci. Il secondo che la lettura nel ListBox sarebbe 
migliore se ci fosse uno spazio prime e dopo il segno '=' (ma non è 
essenziale.. a meno che tu non abbia un suggerimento anche per questo!) 


.. a meno che tu non abbia un suggerimento anche per questo!)
 
Senza entrare nel merito della scelta dei file ini, anche se ad occhio 
e croce ci sarebbe da parlarne una vita, piuttosto a questo punto 
suggerirei la ricerca di qualcosa di più comodo di una stringList 
(comodissima se parliamo di stringhe, ma noi abbiamo delle date!) 
invece di cercare di adattarla a fare qualcosa per cui non è 
progettata.
Ti faccio una piccola domanda, sei sicuro che DOMANI, oltre al campo 
data e quota, non vorrai gestire un terzo dato?
No perchè in tal caso, a voler citare AS, mandiamo tutto ai festini del 
nano! >:|
 
-- 
Emanuele Desideri
 
 

"Emanuele Desideri"  ha scritto nel messaggio 
news:mk7ig5$svv$1...@speranza.aioe.org...
Ti faccio una piccola domanda, sei sicuro che DOMANI, oltre al campo
data e quota, non vorrai gestire un terzo dato?
No perchè in tal caso, a voler citare AS, mandiamo tutto ai festini del
nano! >:|
Emanuele Desideri
---
Caro Emanuele, 'del futuro non c'è certezza..'. Ma dire che per il momento 
non vedo altro. La gestione dei titoli è molto più complessa; questa voleva 
essere solo un popup sulle ultime quotazioni del titolo di cui l'utente va 
ad aggiornare proprio la quotazione... 


 aggiornare proprio la quotazione...
Vero...ma eri partito così OOP oriented che ora sono quasi dispiaciuto 
:D
 
-- 
Emanuele Desideri
 
 

 idea?
Un'altra idea, sicuramente più elegante della precedente proposta, può 
essere di ereditare la TStringList facendo l'override del metodo Sort.
Però permettimi di insistere, secondo me ti stai concentrando su come 
visualizzare e far modificare i dati all'utente (da qui la scelta della 
StringList, o sbaglio? ;-)) piuttosto che scegliere la struttura dati 
più adatta.
 
-- 
Emanuele Desideri
 
 

 per questo!)
 
Emanuele ha ragione, le date vanno formattate così: YYYYMMDD (HH:MM:SS:ZZZ)
E lo spazio prima e dopo l'uguale non influisce sull'ordinamento, quindi 
puoi farlo.
 
-- 
Morde

Emanuele ha ragione, le date vanno formattate così: YYYYMMDD (HH:MM:SS:ZZZ)
E lo spazio prima e dopo l'uguale non influisce sull'ordinamento, quindi
puoi farlo. Morde
---
Ha ragione si, tanto che ho già modificato. Però il problema degli spazi non 
l'ho risolto. Intendevo lasciare uno spazio prima e dopo l'uguale solo per 
una questione di migliore lettura. Sul file INI gli spazi ci sono, ma quando 
acquisisco i dati con ReadSectionValues nella StringList non ci sono più! 


Un'altra idea, sicuramente più elegante della precedente proposta, può
essere di ereditare la TStringList facendo l'override del metodo Sort.
Però permettimi di insistere, secondo me ti stai concentrando su come
visualizzare e far modificare i dati all'utente (da qui la scelta della
StringList, o sbaglio? ;-)) piuttosto che scegliere la struttura dati
più adatta. Emanuele Desideri
--
Ti darei ragione in principio, ma la mia idea era di fornire con la sintesi 
della situazione di un titolo una lista delle ultime 10 quotazioni di quel 
titolo e questo con una soluzione quick and dirty, che un file ini mi 
fornisce, non essendo un requisito essenziale, ma solo un'informazione 
gratis in più. Se dovesse sviluppare in un'esigenza più sofisticata, sarebbe 
da ripensare ...


 nano! >:|
 
...quella frase devo brevettarla...! :-D
..e cmq manca il pezzo finale: "ai festini del nano DI ARCORE". Lol!
 
 
 
A.

 nano! >:|
 


 A.
 
Ad ognuno la sua reputazione...Salvati? Ah si, quello dei festini del 
nano di Arcore!! :D
 
E comunque visto che il nostro OP è uno Stark, "i festini del nano" mi 
sembrava più adeguato!!! B-)
 
-- 
Emanuele Desideri
 
 

 nano di Arcore!! :D
 
...magari...
 
 
A.