PDA

View Full Version : progress bar


huntercity
06-06-2002, 23:30
ho aperto un nuovo post che è collegato al precedente sulle disposizioni poichè li il problema è risolto e adesso ne ho un'altro

allora quello allegato è il codice che utilizzo per sviluppare le mie colonne della formula 101 in base ad un pronostico
Adesso mi sorge il problema di mettere una progress bar che mi faccia vedere a che punto dello sviluppo sono, solo che ho un problema.
se il pronostico fosse fatto solo da un array di numeri da cui devo creare le disposizioni non ci sarebbero problemi non farei altro che calcolarmi prima il numero delle disposizioni che mi genererà il mio pronostico e poi nella progress bar fare avanzare la barra facendo il rapporto tra il numero di colonne aspettate e quelle in fase di sviluppo, sarebbe semplice come ho gia fatto per il superenalotto.
Il problema è che il mio pronostico è fatto di 8 array di numeri che sono anche ripetuti quindi non so come calcolarmi il valore delle mie disposizioni finali

chi mi aiuta??

spero di essero stato chiaro nell'esposizione

tas
07-06-2002, 08:38
Io lo farei... grossolano. Cioè imposterei la barra in base alla situazione raggiunta nei primi due cicli for, che non sono condizionati da If

Qui imposto la proprietà Max della barra:

Ncolo = 0
Msg = "Sviluppo superiore alla capacita' di memoria" & Chr$(13) & "Dimensione massima " & maxcolonne

ProgressBar1.Min = 0
ProgressBar1.Max = numeriPrimo * numeriSecondo

For i1 = 1 To numeriPrimo
DoEvents
For i2 = 1 To numeriSecondo
If (vettoreB(i2) <> vettoreA(i1)) Then


Qui invece imposto la barra:

Next i3
End If
ProgressBar1.Value = ProgressBar1.Value + 1
Next i2
Next i1


Il codice non l'ho provato in quanto mi manca tutta la parte di input dei valori negli array (e non avevo tempo di farlo), ma dovrebbe funzionare...

cionci
07-06-2002, 11:00
Concordo con quanto scritto da tas...

Prendi in riferimento un tot di cicli... Ad esempio i primi due o i primi tre...e fai avanzare la progressbar una volta per ogni ciclo + interno...

huntercity
07-06-2002, 13:14
Originariamente inviato da tas
[B]Io lo farei... grossolano. Cioè imposterei la barra in base alla situazione raggiunta nei primi due cicli for, che non sono condizionati da If

Qui imposto la proprietà Max della barra:

Ncolo = 0
Msg = "Sviluppo superiore alla capacita' di memoria" & Chr$(13) & "Dimensione massima " & maxcolonne

ProgressBar1.Min = 0
ProgressBar1.Max = numeriPrimo * numeriSecondo

For i1 = 1 To numeriPrimo
DoEvents
For i2 = 1 To numeriSecondo
If (vettoreB(i2) <> vettoreA(i1)) Then


Qui invece imposto la barra:

Next i3
End If
ProgressBar1.Value = ProgressBar1.Value + 1
Next i2
Next i1


Il codice non l'ho provato in quanto mi manca tutta la parte di input dei valori negli array (e non avevo tempo di farlo), ma dovrebbe funzionare...

è perfetto e di una semplicità mostruosa
io con le combinazioni mi ero fatto le seghe mentali per far
funzionare la progress bar e invece.....

grazie ancora

adesso il prossimo passo è la riduzione
se trovo problemi riposto

ciao e grazie