Olisi tarkoitus saada ohjelma sammumaan 30 sekunnin kuluttua, jos käyttäjä ei kerkiä sitä ennen painamaan ei tms. Apuja
Private Declare Sub Sleep Lib "kernel32"(ByVal dwMilliSeconds As Long) 'määritellään prossua syömätön odotus Dim PoistuLoopista As Boolean Private Sub Form_Load() PoistuLoopista = False Me.Show a = Timer + 30 'allaoleva looppi tarkistaa ja tarkistaa, että onko painiketta painettu (30 sekuntia ja sitten lopettaa) Do Until Timer > a Sleep 10 DoEvents If PoistuLoopista Then Exit Sub Loop End 'lopetetaan End Sub Private Sub cmdEi_Click() PoistuLoopista = True End If
Timerillä (tarvitset Timer1:n):
Dim Painettu As Boolean Private Sub Form_Load() Timer1.Interval = 30000 End Sub Private Sub Timer1_Timer() If Not Painettu Then End End Sub Private Sub Namiska_Click() Painettu = True End Sub
VB:n vanhaa "kunnon" timeriä käytettäessä koodia varmaan saisi kutistettua hieman.
Nyt on myös Timeriä käyttävä versio.
kiitos
Aihe on jo aika vanha, joten et voi enää vastata siihen.