Schrijvende klok: code
- In het formulier
- Als het formulier vergroot moet de tijd niet meer in de titelbalk staan:
Private Sub Form_Resize()
If Not Me.WindowState = vbMinimized Then Me.Caption = "Schrijvende klok"
End Sub
- En de Timer toont de tijd
Private Sub Timer1_Timer()
lblCijfers.Caption = Format(Now, "hh:nn:ss")
lblLetters.Caption = letters(Now)
If Me.WindowState = vbMinimized Then Me.Caption = lblLetters.Caption
End Sub
- In een module hebben we de functie om de conversie te doen.
Function letters(uur As Date) As String
Dim minuten As Integer
Dim uren As Integer
minuten = Format(uur, "n")
uren = Format(uur, "h") Mod 12
If minuten = 0 Then
letters = getal(uren) & " uur"
End If
If minuten > 0 And minuten < 15 Then
letters = getal(minuten) & " na " & getal(uren)
End If
If minuten = 15 Then
letters = "kwart over " & getal(uren)
End If
If minuten > 15 And minuten < 25 Then
letters = getal(minuten) & " na " & getal(uren)
End If
If minuten >= 25 And minuten < 30 Then
letters = getal(30 - minuten) & " voor half " & getal(uren + 1)
End If
If minuten = 30 Then
letters = "half " & getal(uren + 1)
End If
If minuten > 30 And minuten <= 35 Then
letters = getal(minuten - 30) & " na half " & getal(uren + 1)
End If
If minuten > 35 And minuten < 45 Then
letters = getal(60 - minuten) & " voor " & getal(uren + 1)
End If
If minuten = 45 Then
letters = "kwart voor " & getal(uren + 1)
End If
If minuten > 45 Then
letters = getal(60 - minuten) & " voor " & getal(uren + 1)
End If
End Function
Function getal(uur As Integer) As String
Dim inletters(29) As String
inletters(0) = "twaalf" 'voor de uren
inletters(1) = "één"
inletters(2) = "twee"
inletters(3) = "drie"
inletters(4) = "vier"
inletters(5) = "vijf"
inletters(6) = "zes"
inletters(7) = "zeven"
inletters(8) = "acht"
inletters(9) = "negen"
inletters(10) = "tien"
inletters(11) = "elf"
inletters(12) = "twaalf"
inletters(13) = "dertien"
inletters(14) = "veertien"
inletters(15) = "vijftien"
inletters(16) = "zestien"
inletters(17) = "zeventien"
inletters(18) = "achttien"
inletters(19) = "negentien"
inletters(20) = "twintig"
inletters(21) = "eenentwintig"
inletters(22) = "tweeëntwintig"
inletters(23) = "drieëntwintig"
inletters(24) = "vierentwintig"
inletters(25) = "vijfentwintig"
inletters(26) = "zesentwintig"
inletters(27) = "zevenentwintig"
inletters(28) = "achtenentwintig"
inletters(29) = "negenentwintig"
getal = inletters(uur)
End Function
[VB Web] - [hlrnet] - [copyright]