You are on page 1of 1

Cod Ceas VBA-PPT

Ceas digital
Option Explicit
Dim RunClk As Boolean ' variabila globala
Private Sub StartStop_Click()
RunClk = Not (RunClk) ' joaca rol de comutator la apasarea butonului
Do While RunClk = True ' incepe ciclul infinit cat timp variabila RunClk este True
DoEvents ' rulare secventiala/pas cu pas a codului
' afisare ora si data in formele ora_s si data_s
Shapes("ora_s").TextFrame.TextRange.Text = Format(TimeValue(Now()), "hh:mm:ss")
Shapes("data_s").TextFrame.TextRange.Text = Format(DateValue(Now()), "dd.mm.yyyy")
Loop
End Sub

Ceas analogic
Option Explicit
Dim RunClk As Boolean ' variabila globala
Private Sub RunPause_Click()
Dim sec As Integer
Dim min As Integer
Dim ore As Integer
Dim alfa_s As Double
Dim alfa_m As Double
Dim alfa_o As Double
RunClk = Not (RunClk) ' joaca rol de comutator la apasarea butonului
Do While RunClk = True ' incepe ciclul infinit cat timp variabila RunClk este True
DoEvents ' rulare secventiala/pas cu pas a codului
'extragere valoare sec, min si ora
sec = Second(TimeValue(Now()))
min = Minute(TimeValue(Now()))
ore = Hour(TimeValue(Now()))
'calculare unghiuri ace in grade
alfa_s = 6 * sec
alfa_m = 6 * min + (sec / 10)
alfa_o = 30 * ore + (min / 2) + (sec / 120)
'miscarea acelor
Shapes("secundar").Rotation = alfa_s
Shapes("minutar").Rotation = alfa_m
Shapes("orar").Rotation = alfa_o
'afisare ora si data in formele ora_s si data_s
Shapes("ora_s").TextFrame.TextRange.Text = Format(TimeValue(Now()), "hh:mm:ss")
Shapes("data_s").TextFrame.TextRange.Text = Format(DateValue(Now()), "dd.mm.yyyy")
Loop
End Sub

You might also like