Newsgroup: it.comp.lang.delphi
Titolo: Reference e D2006

Ciao, vorrei capire una cosa relativa a quanto in oggetto.
In una Web Application mi trovo a dover formattare un Real rappresentandolo
come un valore Euro in una label.
Il FormatFloat mi permetterebbe tale operazione e la funzione risiede in
Borland.VCL.SysUtils oltre a tante belle funzioni che ho sempre utilizzato.
La mia domanda sarebbe questa:
l'inserimento di Reference nell'applicazione è sconsigliato o se ne può fare
tranquillamente uso?
è meglio cercare altre funzioni già fornite dalle Reference presenti di base
(vedi var.TOSTRING anzichè INTTOSTR(var) od il Parse nelle sue varianti
anzichè STRTOINT)?
Grazie a chi potrà chiarirmi il concetto.
Valter

come un valore Euro in una label.
Mai usare i floating point per rappresentare i valori in valuta.  
Esiste un tipo apposito chiamato Currency.

 ha scritto nel messaggio
news:u0ko22dqn9rjhtp10...@4ax.com...

Ok, l'ho trattato come currency.
Ma ho un dubbio...il currency non si rifà alle impostazioni del sistema
operativo (generalmente in <impostazioni internazionali>)?
Se un utente per assurdo avesse ancora un win98 e impostata la lira nella
valuta non si ritroverebbe visualizzati dei valori sfalsati? (sai, qualcuno
li chiama utonti...  :-)  ).
In ogni caso, valutando il currency come operazione corretta, la
visualizzazione con var.TOSTRING mi esclude gli zeri (6 a fronte di 6,00
opp. 5.5 invece di 5,50).
Volendo mantenere i 2 decimali il famoso
label.text := formatfloat('#.##0.00, costo);
mi restituisce in lettura la stringa che vorrei visualizzare.
Hai suggerimenti alternativi?
Grazie
Valter

 Hai suggerimenti alternativi?
Non ci sono vere alternative al tcurrency: esso è il tipo di dato pensato
apposta per questi usi. 
Il problema poi dell'utonto con win98 è quello che si definisce "un effetto
collaterale". (oltretutto dall'introduzione del dps sulla privacy in
scadenza oggi, c'è tempo sino al 30 giugno per eliminare definitivamente i
sistemi 9x essendo incompatibili con i reuisiti previsti dal dps)
Noi a tutti i nostri clienti abbiamo detto che cessiamo qualsiasi tipo di
sviluppo e di conseguenza assistenza su sistemi win98, ME.
Ciao :)
-- 
Morde. 
ICLDweb: 
http://www2.samatel.com/icld/

 anzichè STRTOINT)?
In generale, se utilizzi le funzionalità incorporate nella libreria del 
framework (FCL) eviti di includerti riferimenti a librerie di cui dovrai 
fare successivamente il deploy sul server web.
In ogni caso, non penso ci sia nulla di male o di profano nell'includere 
una libreria, se ti fa comodo.
Nel caso tu scelga la prima strada (uso della FCL), consulta anche la 
documentazione Microsoft relativa alla formattazione dei valori di tipo 
*Currency* e sull'uso della classe *CultureInfo* a tal proposito.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 apposta per questi usi.
Ok, mi sembra di capire però che formattare con FormatFloat  il Currency per
ottenere 2 cifre decimali è lecito ?!
Inoltre mi hai fatto pensare:
l'applicazione in questione è una Web Application di conseguenza il valore
currency (che sia formattato o meno) che verrà inviato al client è fornito
dal server (che perspicacia :-)  )quindi sicuramente allineato alla valuta
corretta...anche gli S.O. datati ricevernno la giusta stringa a prescindere
dalle loro impostazioni.
Grazie
Ciao
Valter

 dalle loro impostazioni.
Le impostazioni legate alla localizzazione sono quelle del server Web 
per forza di cose in quanto è lui che elabora le pagine, esegue il 
codice e restituisce il responso al client.


label.text := formatfloat('#.##0.00, costo);
Si usa FormatCurr per formattare i Currency (internamente sono interi
a 64 bit, non numeri in virgola mobile).

ottenere 2 cifre decimali è lecito ?!
FormatCurr, non FormatFloat

 FormatCurr, non FormatFloat
Fatto.
Grazie
V.