ZomerWinterdagen: code
- We zetten vandaag in de vakken.
Private Sub Form_Load()
udDag.Value = Format(Now, "dd")
udMaand.Value = Format(Now, "mm")
txtJaar.Text = Format(Now, "yyyy")
End Sub
- Als de UpDowns veranderen, verandert de tekst. Bij de maand bouwen we beperkingen in op
de maand.
Private Sub udMaand_Change()
Dim jaar As Integer
If txtJaar.Text = "" Then
jaar = CInt(Format(Now, "yyyy"))
Else
jaar = CInt(txtJaar.Text)
End If
Select Case udMaand.Value
Case 1, 3, 5, 7, 8, 10, 12
udDag.Max = 31
Case 4, 6, 9, 11
udDag.Max = 30
Case 2
If jaar Mod 400 = 0 Then
udDag.Max = 29
Else
If jaar Mod 100 = 0 Then
udDag.Max = 28
Else
If jaar Mod 4 = 0 Then
udDag.Max = 29
Else
udDag.Max = 28
End If
End If
End If
End Select
End Sub
- We berekenen als een van de teksten verandert
Private Sub txtDag_Change()
bereken
End Sub
Private Sub txtJaar_Change()
udMaand_Change
bereken
End Sub
Private Sub txtMaand_Change()
bereken
End Sub
- De eigenlijke berekening gebeurt zo:
Sub bereken()
If txtJaar.Text = "" Then Exit Sub
If txtMaand.Text = "" Then Exit Sub
If txtJaar.Text = "" Then Exit Sub
Dim datum As Date
Dim zomervgl As Date
Dim wintervgl As Date
datum = CDate(txtDag.Text & "/" & txtMaand.Text & "/"
& txtJaar.Text)
zomervgl = CDate("21/06/" & txtJaar.Text)
wintervgl = CDate("21/12/" & txtJaar.Text)
Label1.Caption = txtDag.Text & "/" & txtMaand.Text & "/"
& txtJaar.Text & " is even lang dan " &
Format(DateAdd("d", -DateDiff("d", zomervgl, datum), zomervgl),
"dd/mm")
Label2.Caption = txtDag.Text & "/" & txtMaand.Text & "/"
& txtJaar.Text & " is even lang dan " &
Format(DateAdd("d", -DateDiff("d", wintervgl, datum), wintervgl),
"dd/mm")
End Sub
[VB Web] - [hlrnet] - [copyright]