Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

popolare msflexgrid

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

popolare msflexgrid

Postdi piter123 » 02/01/09 11:45

Salve a tutti, esiste un metodo più veloce del seguente per caricare una msflexgrid in VB6?

i dati per il caricamento vengono presi da un foglio excel che a sua volta è collegato in modalità DDE ad altri programmi.
Le celle del foglio excel che vengono aggiornate in tempo reale sono a volte anche superiori a 255 (per questo motivo uso excel, non mi và in time out come potrebbe e come succede per VB6 se uso un valore supoeriore a 255)

per cui il classico codice potrebbe essere

premessa, impostati i set per alilitare l'oggetto excel per l'apertura e lettura dei dati e calcolato il valore del ciclo pari al numero di dati da leggere del foglio excel

for I=1 to ciclo '(superiore a 255)
msflexgrid.textmatrix(i,1)=foglio(1).cells(i,1)
msflexgrid.textmatrix(i,2)=foglio(1).cells(i,3)
msflexgrid.textmatrix(i,3)=foglio(1).cells(i,7)
msflexgrid.textmatrix(i,4)=foglio(1).cells(i,15)
msflexgrid.textmatrix(i,5)=foglio(1).cells(i,11)
msflexgrid.textmatrix(i,6)=foglio(1).cells(i,23)
next i

così facendo, quindi dovendo caricare a volte anche 1000-2000, il processo è relativamente lento, se poi ho bisogno di aggiornare la msflexgrid con intervalli di 1 secondo tramite un timer il tutto risulta molto lento e spesso con blocchi momentanei del pc e di tutte le altre procedure che sia il pc che il programma dovrebbero eseguire, esite un metodo alternativo per visualizzare questi dati dal foglio excel. (ho provato anche ad associare ad ogni cella della msflexgrid una label che legge i dati dal foglio excel in dde e aggiorna la cella della msflexgrid solo quando cambia il dato, ma per via del limite delle 255 dde di VB6 e comunque per la grossa mole di dati da movimentare mi và in timeout e blocca comunque il pc e il programma). Esiste qualche altro metodo più efficace e veloce per risolvere questò ?
Mille Grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Sponsor
 

Re: popolare msflexgrid

Postdi piter123 » 03/01/09 09:46

Dunque, dopo qualche prova mi sono accorto che è più veloce caricare il valore delle celle di excel in una o più matrici e poi caricare la msflexgrid dalle matrici.
Comunque la lentezza di caricamento in realtà nel mio caso è dovuta al fatto di aver bisogno di cambiare il colore del carattere di alcune celle della msflexgrid, a seconda del valore del dato da caricargli, per cui ad ogni cella sono costretto a dirgli il colore da attribuirgli tramite le coordinate .row e .col e poi .cellforecolor.
Esiste nella msflexgrid o in un'eventuale oggetto alternativo la possibilità di poter cambiare il colore di una cella o di un'intera riga utilizzando un comando diretto (che è molto più veloce) del tipo come textmatrix(row,col) ?
Saluti e grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31


Torna a Programmazione


Topic correlati a "popolare msflexgrid":


Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti