Originariamente inviato da 123delphi321
quindi cosa consigli? utilizzare un maskedit dove controllo l'immissione di solo valori numerici e poi sull'evento onexit provvedere a visualizzare il numero in formato desiderato? qual'e' la tecnica da utilizzare?
Suppongo che i dati di cui stiamo parlando siano contenuti all'interno di un database...è corretto?

I componenti TTable, TQuery, TIBTable, ecc. insomma i DataSet, quando si apre la tabella associata o si esegue la query, creano internamente degli oggetti TField in grado di rappresentare i singoli campi della tabella del tipo appropriato.

Queste impostazioni possono essere ridefinite attraverso i cosiddetti "campi persistenti"; puoi fare doppio clic sul componente per far apparire un editor in cui si possono importare i campi (il menu è accessibile con il tasto destro) e modificarne le proprietà.

Tra queste proprietà, vi è DisplayFormat: si tratta di una proprietà che permette di specificare una "maschera" con la quale il campo verrà visualizzato da *tutti* i controlli Data Aware (i Data Controls) ad esso collegati, come TDBGrid, TDBEdit e così via.

Se evidenzi la proprietà DisplayFormat nell'Object Inspector e premi F1, ti apparirà la Guida in linea di Delphi con le istruzioni su come questa proprietà debba essere impostata per regolare il numero di decimali da visualizzare, il separatore, la formattazione delle migliaia e altro ancora.

Secondo me, è lo strumento più rapido per definire in modo centralizzato come deve essere mostrato, ed eventualmente editato, un campo indipendentemente dal fatto che queste operazioni vengano fatte da una griglia o da una casella di testo, poichè i Data Control seguono queste impostazioni definite per tutti negli oggetti che rappresentano i campi della tabella, le cui impostazioni vengono memorizzate su disco (nel DFM) e ricaricate successivamente.