Newsgroup: it.comp.lang.c++
Titolo: Domande per tutti i gusti

Sono settimane che cerco risposte ad alcuni quesiti angoscianti
sigh:-((( sul C++Builder 3. Scusate la lunga lista:
1) In una StringGrid formatto dei valori monetari in modo da
mettere il puntino separatore tra le migliaia, in questo modo:
FormatFloat("#,##0.", value)
Siccome alla fine della griglia vorrei visualizzare i totali, con un loop
sulle righe mi calcolo la somma finale, pero' l'amico Builder non mi
riconosce piu' il valore immesso nella cella poiche' c'e' il puntino (ossia
4.500 per lui non e' un numero :-(((
2) E' possibile calcolare la somma di un campo (per esempio l'importo di una
fattura) cosi' come faceva
l'istruzione SUM in Clipper, ossia senza scorrere tutti i record. In parole
povere, quello che NON vorrei scrivere e' qualcosa del genere:
int importo, totale;
totale = 0;
Table1->First();
do {
    importo = int(Table1->FieldValues["Importo"]);
    totale += importo;
    Table1->Next();
} while (!Table1->Eof);
3) Avete mai provato ad utilizzare una CoolBar. Io non riesco ad inserire un
TMainMenu come controllo di una banda della coolbar. Vorrei ottenere un
menu' come quello di Esplora Risorse, insomma. Qualche idea?
4) Iil database desktop non ha le barre di scorrimento sincronizzate con la
tabella aperta: quando apro un file db o dbf, il cursore della barra
verticale, si pone al centro mentre dovrebbe essere all'inizio; inoltre non
si sposta coerentemente con lo scrolling dei record. Insomma, FA SCHIFO !!!
Lo stesso succede con il componente TDBGrid in C++Builder, quindi,
presumendo che sia un problema di range non settato, come si fa a
'calibrare' suddetta barra verticale? (nessun problema, invece, con quella
orizzontale).
5) Come si fa a fondere il menu' di una finestra child con quella parent in
una applicazione MDI? Io ottengo solo la sostituzione del menu' della
finestra principale con quello della figlia ogni volta che seleziono
quest'ultima.
6) Si puo' utilizzare lo stile OwnerDraw per la TDBGrid? Siccome la property
Style non esiste ho provato a impostare DefaultDrawing su false e a scrivere
l'evento OnDrawColumnCell ma da qui non riesco a richiamare il metodo
GetFieldValue per ottenere il valore del campo da visualizzare in quanto il
compilatore mi dice che il suddetto metodo non e' accessibile; eppure
sull'help mi si dice di fare cosi'!!!
7) Non pensate che al Builder3 manchi un controllo di Windows? Quando, dalla
barra di Start (con IE4 installato) faccio click col tasto destro e scelgo
"Nuova barra degli strumenti" mi compare una finestra che mi permette di
selezionare una cartella navigando sul mio computer o sulla rete e senza
visualizzare i nomi dei file. E' possibile utilizzare questo controllo
facilmente o devo scrivermi un TTreeView e lavorare di codice?
--
Stefano Tempesta
s.tem...@usa.net
http://tempesta.freeweb.org
--------------------------------
<<< Think indipendent, cos' indipendent you can't be >>>

 facilmente o devo scrivermi un TTreeView e lavorare di codice?
Non ho IE4 installato, non so risponderti.
Spero di esserti stato di aiuto, almeno in parte.
Ciao.
Roberto
p.s.: se sviluppi applicazioni per database, tieni d'occhio anche
it.comp.delphi. La VCL č la stessa del Builder e ci sono molte persone
in gamba che creano applicazioni per database e possono esserti di
grande aiuto.

grande aiuto.
Suggerimento accettato ed eseguito ;-)
Ciao e grazie di nuovo.


 verticale si posiziona all'inizio?
Caspita... ho controllato nuovamente proprio ora: il cursore della
scrollbar è all'inizio ed anche il puntatore al record selezionato è sul
primo record.
Però se il problema ce l'hai sia nel DataBase Desktop che nel componente
TDBGrid, forse il problema sta nel BDE. Non è che vi sia un'opzione da
settare? Se apri un data-form con i records visualizzati in formato
scheda, qual'è il record che all'inizio ti mostra? Il primo o uno a metà
lista?
Ciao
Roberto

lista?
Si apre sul primo record ed il cursore sta in alto nella barra, quindi tutto
regolare.
Se pero', successivamente, scorro i record (circa 800), con la barra, il
cursore si posiziona
al centro finche' non raggiungo l'ultimo (e qui il cursore si posiziona in
basso).
Prova anche tu con una tabella contenente molti record, per favore e fammi
sapere se la TDBGrid
si comporta regolarmente o meno.
Grazie.
--
Byez.
