Italian Piccolo intoppo con un Timer

PakoT52

Active Member
Licensed User
Longtime User
Ciao , ho provato a cercare nel forum dopo aver provato a risolvere io , ma niente ho fallito in entrambi i casi . Il mio problema è il seguente : Ho un timer , che viene inizializzato quando si clicca un bottone che fa visualizzare anche un panel che carica un layout , in questo layout c'è un Label , io devo fare un countdown in questo Label e ci sono riuscito , da 50 arriva a 0 poi quando arriva a 0 rende invisibile il panel e ho messo anche il comando Timer.Enabled = False , ma quando faccio di nuovo click sul bottone il timer non parte da 50 ma da 0 . Ho creato una variabile e ho assegnato il valore 50 e al Timer_Tick ho messo : K = 50 , k = k - 2 , Label1.Text = k . Io vorrei che ogni volta che clicco su quel button il countdown inizi da 50 . Grazie mille
 

PakoT52

Active Member
Licensed User
Longtime User
Questo è il bottone che cliccandolo deve aprire un Panel e avviare il timer
B4X:
Sub BtnR_Click
    Activity.RemoveAllViews
    Activity.LoadLayout("PrimoLy")
    V = V
    P = P + 5
    Label1.Text = P
    If V = 0 Then
    Pnlv.Initialize("")
    Pnlv.Visible = True
    Activity.AddView(Pnlv ,4%x, 4%x, 92%x, 94%y)
    Pnlv.SetLayout( 4%x, 4%x, 92%x, 94%y)
    Pnlv.LoadLayout("p1")
    Label2.Text = Secondi
    Timer2.Initialize("Timer2", 1000)
    Timer2.Enabled = True
    End If
End Sub
Questo è il Timer2_Tick :
B4X:
Sub Timer2_Tick
    Secondi = Secondi - 1
    Label2.Text = Secondi
    If Label2.Text = 0 Then
      Pnlv.Visible = False
      V = V + 1
      Timer2.Enabled = False
    End If
End Sub
Lo script funziona parte da 20 secondi ed arriva a 0 , solo che quando clicco nuovamente sul bottone non parte da 20 , ma da 0 e va in negativo
 

PakoT52

Active Member
Licensed User
Longtime User
Mentre aspettavo una risposta , ho provato a trovare la soluzione e ci sono riuscito , ho capito chi problema era la variabile 20 , che dopo la prima volta era 0 e non 20 , quindi al click del button ho messo che la variabile era 20 ed ho risolto . :)
 
Top