Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Dette kommer nå imidlertid an på hva du ønsker å starte og stoppe, men en kan vel illustrere prinsippet ved et lite eksempel.

 

En simpel stoppeklokke kan oppnås ved å, etter behov, starte og stoppe en Timer (en kontroll som kontinuerlig, etter et visst intervall, kjører en hendelsesprosedyre) som oppdaterer den forløpte tiden. Legg inn to knapper ved navn cmdStart og cmdStop, en Timer-kontroll med navn tmrCount og en Label med navn lblTime. La cmdStops Enabled-egenskap være satt til False og tmrCounts Interval-egenskap være satt til 10 (millisekunder - du kan også øke dette om ønskelig) og Enabled til False. Avslutningsvis legger du inn følgende kode i kodevinduet:

' Lagrer tiden stoppeklokken sist ble startet

Dim LastStarted As Date

 

Private Sub cmdStart_Click()

    UpdateState True

End Sub

 

Private Sub cmdStop_Click()

    UpdateState False

End Sub

 

Private Sub tmrCount_Timer()

    ' Viser forløpt tid i merknadsboksen

    lblTimer.Caption = CDate(Now - LastStarted)

End Sub

 

Public Sub UpdateState(ByVal Running As Boolean)

 

    ' Dersom vi starter telleren, må vi også lagre sist gang den ble startet

    If Running Then

        LastStarted = Now

    End If

 

    ' Disse på være påskrudd når telleren kjører

    tmrCount.Enabled = Running

    cmdStop.Enabled = Running

   

    ' Vi skal ikke kunne starte tellerne når den allerede kjører

    cmdStart.Enabled = Not Running

 

End Sub

For øvrig, forsøk å forstå koden, ikke bare kopier den. Den er kun ment for å eksemplifisere fremgangsmåten/kodemønsteret, ikke for å servere deg løsningen. Endret av aadnk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...