Originariamente inviato da 123delphi321
la variabile sum l'avrei voluta dichiarare float...ma nn ci sono riuscito, poi ho trovato su internet un esempio che la dichiarava single e l'ho copiato.
Il metodo AsFloat del campo (TField) restituisce un valore di tipo Double, pertanto puoi usare questo valore per dichiarare la tua variabile temporanea.

Originariamente inviato da 123delphi321
il problema che resta e' quello di aggiornare la label non riesco a convertire la caption ad un valore float x sommare le differenze.
Al di là del fatto che tu riesca o meno a convertire la Caption, credo che il modo di procedere sia sbagliato comunque a livello concettuale: è meglio se introduci un campo privato di tipo Double nella tua Form che contenga il valore del totale che viene poi convertito per essere visualizzato nella Caption della Label apposita. Quando è necessario modificare il totale, operi direttamente sulla variabile e, alla fine del calcolo, ne visualizzi di nuovo il valore sull'etichetta.
Usare la Caption della Label per memorizzare un valore convertendo e riconvertendolo ancora è uno spreco di CPU, di precisione e soprattutto è una pratica prona ad errori.

Originariamente inviato da 123delphi321
ps.sempre girando su internet, ho trovato delle dbgrid professionali che hanno delle buone funzioni di Footer, ma purtroppo non ne ho trovata alcuna sharewere. tutte a pagamento.
Le griglie non sono sempre così semplici da fare, e probabilmente chi studia qualche mese per implementare funzionalità vuole essere - giustamente - remunerato.

Comunque, anche shareware è una licenza che prevede il pagamento.

Le migliori griglie che conosco, decisamente celebri, sono quelle di DevExpress.

Originariamente inviato da 123delphi321
ma voi come fate a visualizzare i totali delle colonne di una dbgrid?
Io appoggio quasi totalmente le mie applicazioni legate ai dati sul componente TClientDataSet che supporta l'uso di campi aggregati: si tratta di campi definiti a designtime che contengono un valore calcolato basato sull'elaborazione di tutti i campi ai quali viene applicata una formula come la media, oppure la somma, ecc. ecc.

Quando apporto modifiche ai dati, nei campi aggregati trovo già il valore aggiornato che il componente provvede a ricalcolare in piena autonomia basandosi sui record che tiene memorizzati nel suo buffer interno.