Gambas-it

Gambas3 => Programmazione => Topic aperto da: kicco - 15 Giugno 2023, 18:18:39

Titolo: Pulsante mantenuto premuto
Inserito da: kicco - 15 Giugno 2023, 18:18:39
 :ciao:
Conoscete un modo più furbo per reiterare una operazione quando il pulsante viene tenuto premuto?
Codice: [Seleziona]
Private i As Integer
Private bb As Boolean

Public Sub Button1_MouseDown()

    bb = True
    Inc i
    Print i
    Timer1.Start

End

Public Sub Button1_MouseUp()

    bb = False

End


Public Sub Timer1_Timer()

    If bb = True Then Button1_MouseDown

End
:ciao:
Titolo: Re:Pulsante mantenuto premuto
Inserito da: vuott - 15 Giugno 2023, 20:20:08
...sebbene non risponda pienamente alla tua domanda, io modificherei il tuo codice un po' così:
Codice: [Seleziona]
Private i As Integer
Private bb As Boolean = True

Public Sub Button1_MouseDown()

  Timer1.Start

End

Public Sub Button1_MouseUp()

  bb = False

End

Public Sub Timer1_Timer()

  If Not bb Then Timer1.Stop
   
  Inc i
  Print i

End
Titolo: Re:Pulsante mantenuto premuto
Inserito da: vuott - 15 Giugno 2023, 20:25:12
...o migliorando ancora la mia modifica:
Codice: [Seleziona]
Private i As Integer


Public Sub Button1_MouseDown()

  If Not Timer1.Enabled Then Timer1.Start

End

Public Sub Button1_MouseUp()

  Timer1.Stop

End


Public Sub Timer1_Timer()

  Inc i
  Print i

End
Titolo: Re:Pulsante mantenuto premuto
Inserito da: kicco - 16 Giugno 2023, 07:28:00
Grazie vuott!