Εμφάνιση ενός μόνο μηνύματος
  #6  
Παλιά 29-11-12, 13:09
Αναστάσιος Αναγνωστάκης Ο χρήστης Αναστάσιος Αναγνωστάκης δεν είναι συνδεδεμένος
Όνομα: Αναστάσιος Πολ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 29-11-2012
Μηνύματα: 13
Προεπιλογή Χρονόμετρο αντίστροφης μέτρησης

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Καλησπέρα σε όλους!
Δημήτρη, σε μια φόρμα βάλε τα εξής:

  • Πλαίσιο κειμένου με όνομα: 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
Φρόντισε να συνδέσεις τα κουμπιά με τα αντίστοιχα συμβάντα που αναγράφονται στον παραπάνω κώδικα.(Ιδιότητες > συμβάν > με το κλικ > Διαδικασία συμβάντος).

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

Τάσος
Καλησπέρα,


έβαλα τον κώδικα και έκανα, ( ελπίζω ), ότι γράφεις, αλλά μου βγάζει το παρακάτω μνμ...

Compile error:
Method or data member not found

το εμφανίζει μόλις πατήσω start, και με πάει στην γραμμή κώδικα που έχω βάλει με κόκκινο.


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

ευχαριστώ...
Απάντηση με παράθεση