PROGRAMA CALENDARIO PERPÉTUO
Se introducen dos botones, dos combobox, 7 labels i luego una matriz de 36 labels
El código será el siguiente:
Private Sub Combo1_Change()
If Combo1.Text <>
"" And Combo2.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub
Private Sub Combo1_Click()
If Combo1.Text <>
"" And Combo2.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub
Private Sub Combo1_LostFocus()
If Combo1.Text <>
"" And Combo2.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub
Private Sub Combo2_Change()
If Combo1.Text <>
"" And Combo2.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub
Private Sub Combo2_Click()
If Combo1.Text <>
"" And Combo2.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub
Private Sub Combo2_LostFocus()
If Combo1.Text <>
"" And Combo2.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub
Private Sub Command1_Click()
Dim numdias
As Integer
Dim nummes
As Integer
Dim diasemana
As Integer
Dim diames
As Integer
Dim pos As
Integer
Dim d As
Integer
For d = 0 To 36
Dias(d).Appearance = 1
Dias(d).Caption = ""
Dias(d).Font = "Arial"
Dias(d).FontBold = True
Dias(d).FontSize = 26
Dias(d).Alignment = 2
Next
diasmes = 0
Select Case Combo1.Text
Case "Enero"
numdias = 31
nummes = 1
Case "Febrero"
If Val(Combo2.Text)
Mod 4 = 0 Then
numdias = 29
Else
numdias = 28
End If
nummes = 2
Case "Marzo"
numdias = 31
nummes = 3
Case "Abril"
numdias = 30
nummes = 4
Case "Mayo"
numdias = 31
nummes = 5
Case "Junio"
numdias = 30
nummes = 6
Case "Julio"
numdias = 31
nummes = 7
Case "Agosto"
numdias = 31
nummes = 8
Case "Septiembre"
numdias = 30
nummes = 9
Case "Octubre"
numdias = 31
nummes = 10
Case "Noviembre"
numdias = 30
nummes = 11
Case "Diciembre"
numdias = 31
nummes = 12
End Select
fecha = CDate("1/"
+ Str(nummes) +
"/" + Combo2.Text)
diasemana = Weekday(fecha, 2)
pos = diasemana
For d = diasemana
To (numdias + diasemana)
If diasmes
< numdias Then
Dias(d - 1).Appearance = 0
diasmes = diasmes + 1
If pos = 6 Then
Dias(d - 1).ForeColor = vbBlue
ElseIf pos = 7 Then
Dias(d - 1).ForeColor = vbRed
pos = 0
Else
Dias(d - 1).ForeColor = vbBlack
End If
Dias(d - 1).Caption = diasmes
pos = pos + 1
End If
Next
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Combo1.AddItem "Enero"
Combo1.AddItem "Febrero"
Combo1.AddItem "Marzo"
Combo1.AddItem "Abril"
Combo1.AddItem
"Mayo"
Combo1.AddItem "Junio"
Combo1.AddItem
"Julio"
Combo1.AddItem "Agosto"
Combo1.AddItem "Septiembre"
Combo1.AddItem "Octubre"
Combo1.AddItem "Noviembre"
Combo1.AddItem "Diciembre"
Dim x As
Integer
For x = 1900 To 2100
Combo2.AddItem Str(x)
Next
Command1.Enabled = False
End Sub