PDA

View Full Version : [VB2010] - ProgressBar per Sub


lucausa75
09-07-2011, 13:35
Salve ragazzi,

vorrei associare ad una ProgressBar una sub in modo che la ProgressBar avanzi fino a che tutta la sub non termini...

Mi aiutate?
Grazie

jamby93
20-07-2011, 11:16
Salve ragazzi,

vorrei associare ad una ProgressBar una sub in modo che la ProgressBar avanzi fino a che tutta la sub non termini...

Mi aiutate?
Grazie
Ciò che cerchi non è possibile "automaticamente", bisognerebbe vedere che compito svolge questa sub e come inserire le righe di codice necessarie per l'avanzamento della progressbar (ex: se fosse presente un ciclo di qualsiasi tipo si potrebbe mettere l'aggiornamento del value all'interno del ciclo).
Altrimenti, l'unica altra possibilità (che sconsiglio) sarebbe quella di definire un tempo tipico per la sub e utilizzare un timer che aggiorni la progressbar esponenzialmente in funzione del tempo passato.

lucausa75
20-07-2011, 12:55
Ciò che cerchi non è possibile "automaticamente", bisognerebbe vedere che compito svolge questa sub e come inserire le righe di codice necessarie per l'avanzamento della progressbar (ex: se fosse presente un ciclo di qualsiasi tipo si potrebbe mettere l'aggiornamento del value all'interno del ciclo).


Ottima idea a cui avevo pensato ma purtroppo non ho alcun ciclo

Altrimenti, l'unica altra possibilità (che sconsiglio) sarebbe quella di definire un tempo tipico per la sub e utilizzare un timer che aggiorni la progressbar esponenzialmente in funzione del tempo passato.

Non piace nemmeno a me questa soluzione che definire troppo "posticcia" :eek:

Ho provato invece ad utilizzare un timer che fa avanzare la progressbar che non appena raggiunge il suo valore Max riparte da zero.
Con questa soluzione c'è un problema infatti la progressbar è come bloccata e anche se metto un DoEvents questo pare non abbia alcun effetto.
Potresti aiutarmi?
Grazie

WarDuck
20-07-2011, 13:11
C'è qualcosa che non quadra.

L'utente ha davvero bisogno di essere informato sull'avanzamento su una funzione che non ha alcun ciclo all'interno?

Le cose sono 3:

- questa funzione chiama altre funzioni che hanno cicli
- questa funzione è ricorsiva
- questa funzione non chiama altre funzioni e non ha cicli

A meno che tu ti trova nelle prime due condizioni, secondo me non ha alcun senso parlare di progress bar.

lucausa75
20-07-2011, 13:21
C'è qualcosa che non quadra.

L'utente ha davvero bisogno di essere informato sull'avanzamento su una funzione che non ha alcun ciclo all'interno?

Le cose sono 3:

- questa funzione chiama altre funzioni che hanno cicli
- questa funzione è ricorsiva
- questa funzione non chiama altre funzioni e non ha cicli

A meno che tu ti trova nelle prime due condizioni, secondo me non ha alcun senso parlare di progress bar.


...la progressbar mi serve perchè deve dare l'idea dell'avanzamento del tempo durante un processo di copia da una cartella all'altra

WarDuck
20-07-2011, 13:50
...la progressbar mi serve perchè deve dare l'idea dell'avanzamento del tempo durante un processo di copia da una cartella all'altra

Ah ecco... immagino allora che tu usi una funzione di Copia già fatta, ovvero quella delle librerie?

Se non erro Windows mette a disposizione anche una funzione di Copia che trasmette l'informazione relativa al progresso.

lucausa75
20-07-2011, 14:01
Ah ecco... immagino allora che tu usi una funzione di Copia già fatta, ovvero quella delle librerie?

Se non erro Windows mette a disposizione anche una funzione di Copia che trasmette l'informazione relativa al progresso.


...potresti darmi qualche diritta su questa libreria?