Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 19-04-10, 19:21
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα σε όλους!
Δημήτρη, σε μια φόρμα βάλε τα εξής:

  • Πλαίσιο κειμένου με όνομα: txtDuration με την ιδιότητα ενεργοποιημένο στο Όχι
    και με μάσκα εισαγωγής: 00:00:00;0;_
  • Πλαίσιο κειμένου με όνομα: TimeShow
  • Κουμπί με όνομα: cmdSetTimer με λεζάντα " > Start"
  • Κουμπί εναλλαγής με όνομα: cmdPause με λεζάντα " II Pause"
  • Κουμπί με όνομα: cmdStop με λεζάντα " [ ] Stop"
Ο κώδικας πίσω από τη φόρμα είναι ο παρακάτω:

Κώδικας:
  Option Compare Database
Option Explicit
Private Const FormatTime = "hh:mm:ss"
Dim Duration As Date, ZeroTime As Date, SeqTime As Date, IsPaused As Boolean

Private Sub cmdPause_Click()
    IsPaused = Me.cmdPause
    If IsPaused Then
        Me.cmdPause.Caption = "> Resume"
    Else
        Me.TimerInterval = 1000
        Me.cmdPause.Caption = "II Pause"
    End If
End Sub

Private Sub cmdSetTimer_Click()
    If IsNull(Me.txtDuration) Then
        Me.txtDuration.Locked = False
        Me.txtDuration.SetFocus
        Exit Sub
    End If
    If IsPaused Then
        IsPaused = False
    Else
        Me.txtDuration.Locked = True
        Duration = Me.txtDuration
        Me.TimeShow = Format(Duration, FormatTime)
        ZeroTime = TimeSerial(0, 0, 0)
        SeqTime = TimeSerial(0, 0, 1)
    End If
    Me.TimerInterval = 1000
End Sub

Private Sub cmdStop_Click()
    Me.TimerInterval = 0
    Me.txtDuration.Locked = False
End Sub

Private Sub Form_Load()
    Me.txtDuration.Locked = False
End Sub

Private Sub Form_Timer()
    If IsPaused Then
        Me.TimerInterval = 0
        Exit Sub
    End If
    Duration = Duration - SeqTime
    If Duration <= ZeroTime Then
        Me.TimeShow = Format(0, FormatTime)
        Me.TimerInterval = 0
        Me.txtDuration.Locked = False
        MsgBox "End of time!"
        Exit Sub
    End If
    Me.TimeShow = Format(Duration, FormatTime)
End Sub
Φρόντισε να συνδέσεις τα κουμπιά με τα αντίστοιχα συμβάντα που αναγράφονται στον παραπάνω κώδικα.(Ιδιότητες > συμβάν > με το κλικ > Διαδικασία συμβάντος).

Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 20-04-10 στις 23:27.
Απάντηση με παράθεση