Fatto, ho messo 10000 ms.
Si carica velocemente poi mi da errore sottolineando:
codice:progressbar1.value= val(progressbar1.value)+1
Fatto, ho messo 10000 ms.
Si carica velocemente poi mi da errore sottolineando:
codice:progressbar1.value= val(progressbar1.value)+1
Puoi postare il codice che utilizzi adesso??
Io l'ho provato da me e funziona tutto ...
Dunque, spiego tutto con calma.
Premettendo che devo realizzare un gioco spastico (esercizio scolastico) dove ho un menu, e ho una funzione che disegna 4 grafici di quattro aree diverse e l'utente deve indovinare, dato un valore, l'area giusta.
Ma, tralasciando questa spiegazione che non centra nulla e serve solo per fare più chiarezza, vengo al sodo:
se l'utente non risponde entro 10 secondi il software da automaticamente la risposta per errata. Ecco il perché del timer e della progressbar.
Il pulsante che avvia il gioco è contenuto in un menu, in modo tale che l'utente clicca dal menu "file" - "inizia a giocare" e parte il timer e i grafici. Il problema è che non capisco proprio dove sia questo maledetto errore.
Dunque, ho una progressbar dove non è contenuto nessun codice
ho un timer dove era contenuto il codice postato sopra, e che adesso ho trasferito nel pulsante del menu "inizia a giocare" perché altrimenti non mi legge il comando
[CODE] timer.start() [CODE]
Nella sub form load c'è il seguente codice
pulsante di menu "inizia a giocare"codice:Private Sub Form_Load() 'Setto i valori minimi e massimi della progress bar ProgressBar1.min = 0 ProgressBar1.max = 1000 End Sub
codice:Private Sub Timer1_Timer() Timer1.Enabled = True Dim i As Integer For i = 0 To 10000 Step 1000 If ProgressBar1.Value < 10000 Then ProgressBar1.Value = ProgressBar1.Value + i End If Next i If ProgressBar1.Value = 10000 Then tempo = 1 'MsgBox "E' finito il tempo! :(" End If End Sub
Mi sembra che hai fatto parecchia confusione quindi ti consiglio di procedere in questo modo:
Crei un timer Timer1 e nelle proprietà imposti: enabled = false (già di default è disabilitato) e interval = 1000 (1 secondo)
nell'evento Form_Load() imposti:
nel pulsante di menu "inizia a giocare" imposticodice:ProgressBar1.min = 0 ProgressBar1.max = 15 (numero dei secondi della durata)
nell'evento Timer1_Timer() imposticodice:ProgressBar1.Value = 0 Timer1.Enabled = True
codice:If ProgressBar1.Value < ProgressBar1.Max Then ProgressBar1.Value += 1 Else Timer1.Enabled = False MsgBox "E' finito il tempo!" End If
Grazie mille, adesso funziona perfettamente.
L'unica cosa è che ho dovuto procedere con una variante; invece di:
ho messocodice:ProgressBar1.Value += 1
codice:ProgressBar1.Value = Val(ProgressBar1.Value) + 1000
Ancora grazie mille, non so come ringraziarti. Gentilissimo.![]()