Differenze tra le versioni di "Uso dello ''Spinner''"
Riga 17: | Riga 17: | ||
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
− | + | With Spinner1 | |
− | + | .Label = True | |
− | + | .Value = 0 | |
− | + | .Start | |
+ | End With | ||
− | + | With Timer1 | |
− | + | .Delay = 100 | |
− | + | .Start() | |
− | + | End With | |
'''End''' | '''End''' | ||
Riga 32: | Riga 33: | ||
'''Public''' Sub Timer1_Timer() | '''Public''' Sub Timer1_Timer() | ||
− | + | If s > 1 Then | |
− | + | With Spinner1 | |
− | + | .Stop() | |
− | + | .Delete() | |
− | + | End With | |
− | + | Timer1.Stop() | |
− | + | Return | |
− | + | Endif | |
− | + | Spinner1.Value = s | |
− | + | s += 0.01 | |
'''End''' | '''End''' | ||
− | |||
In quest'altro esempio verrà utilizzata la funzione ''Wait'' al posto del ''Timer'', e l'oggetto ''Spinner'' sarà avviato al di fuori dell'apertura del ''Form'' principale del programma, ma cliccando su un tasto: | In quest'altro esempio verrà utilizzata la funzione ''Wait'' al posto del ''Timer'', e l'oggetto ''Spinner'' sarà avviato al di fuori dell'apertura del ''Form'' principale del programma, ma cliccando su un tasto: | ||
− | ''' Public''' Sub Form_Open() | + | '''Public''' Sub Form_Open() |
Spinner1.Stop | Spinner1.Stop | ||
− | End''' | + | '''End''' |
Riga 61: | Riga 61: | ||
Dim b As Byte | Dim b As Byte | ||
Dim s As Single | Dim s As Single | ||
− | + | ||
− | + | With Spinner1 | |
− | + | .Label = True | |
− | + | .Value = 0 | |
− | + | .Start | |
− | + | For b = 0 To 100 | |
− | + | .Value = s | |
− | + | s += 0.01 | |
− | + | Wait 0.01 | |
− | + | Next | |
− | + | .Stop | |
− | + | .Delete | |
− | + | End With | |
− | |||
− | |||
− | |||
− | |||
'''End''' | '''End''' |
Versione delle 14:19, 3 apr 2021
Lo Spinner è un oggetto grafico GUI avente aspetto circolare che ruota in continuazione di 360° e che rappresenta un'attesa che termini un processo.
Lo Spinner può essere utilizzato senza o con l'indicazione in rappresentazione percentuale del tempo sin a quel momento passato rispetto al termine del processo. Ovviamente potrà anche indicare, ad esempio, la quantità di byte caricati sino a quel momento rispetto alla totale dimensione da caricare.
Per ottenere anche l'indicazione della percentuale bisognerà porre a vero la proprietà .Label dello Spinner:
Spinner1.Label = True
e impostare il valore della percentuale con un valore in virgola mobile, ad esempio:
Spinner1.Value = 0.33 ' Verrà mostrato: 33%
Esempi pratici
Mostramo di seguito un semplice esempio didattico dell'uso dell'oggetto Spinner, con il quale si farà soltanto incrementare la percentuale, indicata nello Spinner, mediante un Timer. Si porrà sul Form l'icona dell'oggetto Spinner, nonché quella dell'oggetto speciale Timer. Poi si imposterà il seguente codice:
Private s As Single Public Sub Form_Open() With Spinner1 .Label = True .Value = 0 .Start End With With Timer1 .Delay = 100 .Start() End With End Public Sub Timer1_Timer() If s > 1 Then With Spinner1 .Stop() .Delete() End With Timer1.Stop() Return Endif Spinner1.Value = s s += 0.01 End
In quest'altro esempio verrà utilizzata la funzione Wait al posto del Timer, e l'oggetto Spinner sarà avviato al di fuori dell'apertura del Form principale del programma, ma cliccando su un tasto:
Public Sub Form_Open() Spinner1.Stop End Public Sub Button1_Click() Dim b As Byte Dim s As Single With Spinner1 .Label = True .Value = 0 .Start For b = 0 To 100 .Value = s s += 0.01 Wait 0.01 Next .Stop .Delete End With End