Cómo usar VB para hacer un reloj
A continuación se muestra el código completo
Simplemente cópielo en un archivo de texto en blanco
Luego cambie la extensión txt a frm
Usted puede ejecutarlo directamente
VERSIÓN 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
StartUpPosition = 3 'Ventana predeterminada
Comenzar VB.CommandButton Comando1
Título = "Comando1"
Alto = 375
Izquierda = 3240
TabIndex = 0
Superior = 2520
Ancho = 1215
Fin
Inicio VB.Timer Timer1
Izquierda = 1800
Arriba = 1320
Fin
Comenzar VB.Label Label1
Alto = 375
Izquierda = 1440
TabIndex = 1
Arriba = 2520
Ancho = 1095
Fin
Inicio VB.Shape Shape1
Alto = 495
Izquierda = 360
Forma = 3 'Círculo
Superior = 2040
Ancho = 495
Fin
Inicio VB.Line Line2 p>
X1 = 240
X2
= 1800
Y1 = 720
Y2 = 720
Fin
Comenzar VB.Línea Línea1
Ancho de borde = 2
X1 = 360
X2 = 1920
Y1 = 360
Y2 = 360
Fin
Fin
Atributo VB_Name = "Form1"
Atributo VB_GlobalNameSpace = False
Atributo VB_Creatable = False
Atributo VB_PredeclaredId = True
Atributo VB_Exposed = False
'Línea1 representa la manecilla de la hora
'Línea2 representa la manecilla de los minutos
Dim X0 Como entero, Y0 como entero
Dim L como entero
Const Pi = 3,1415926
Subcomando privado1_Click()
Hacer p>
h = Int(Val(InputBox("Ingrese el número de horas que necesita:", "Modificar", Hora(Ahora))))
Bucle hasta h gt = 0 And h lt; 24
Do
m = Int(Val(InputBox("Ingrese la cantidad de minutos que necesita:", "Modificar", Minuto(Ahora))) )
Bucle hasta m gt; = 0 y m lt;
Do
s = Int(Val(InputBox("Ingrese el número de segundos necesitas:", "Modificar ", Segundo(Ahora))))
Bucle hasta s gt; = 0 Y s lt; 60
Etiqueta1 = Recortar(Str(h) ) amp; ":" amp; Trim(Str(m)) amp ":" amp; Trim(Str(s))
Fin Sub
Sub privado Form_Activate()
Para DU = 0 A 354 Paso 6 'Dibuja la segunda escala
xd = Cos(DU * Pi / 180) * (L - 100) X0
yd = Sin(DU * Pi / 180) * (L - 100) Y0
PSet (xd, yd), RGB(0, 0,
0)
Siguiente
Me.FillColor = RGB(200, 200, 200)
Para DU = 0 a 330 Paso 30 'Dibuja un dibujo de 5 segundos escala
xd = Cos(DU * Pi / 180) * (L - 100) X0
yd = Sin(DU * Pi / 180) * (L - 100) Y0
Círculo (xd, yd), 25
xd = Cos(DU * Pi / 180) * (L - 250) X0
yd = Sin(DU * Pi / 180) * (L - 250) Y0
ActualX = xd - 100
ActualY = yd - 100
Si DU gt; Escribir números
Imprimir DU/30 - 9
De lo contrario
Si DU = 270 Entonces CurrentX = CurrentX - 80
Imprimir DU/ 30 3
End If
Next
Me.FillColor = RGB(250, 100, 100) 'Dibuja una escala de 15 segundos
Para DU = 0 a 270 Paso 90
xd = Cos(DU * Pi / 180) * (L - 100) X0
yd = Sin(DU * Pi / 180 ) * (L - 100) Y0
Círculo (xd, yd), 40, RGB (0, 0, 255)
Siguiente
Fin Sub
Private Sub Form_Load()
L = 2000 'Referencia de longitud, también el radio del dial
Me.AutoRedraw = True
Me.Width = 4 * L
Me.Height = 3.5 * L
Me.FillColor = RGB(120, 250, 250)
Me.FillStyle = 0
X0 = Me.Ancho / 2 - 40
Y0 = Me.Alto / 2 - 400
Línea1.X1 = X0
Línea1.Y1 = Y0
Línea1.BorderWidth = 3
Línea2.X1 = X0
Li
ne2.Y1 = Y0
Line2.BorderWidth = 2
Shape1.Shape = 3 'Segunda mano
Shape1.FillColor = RGB(255, 0, 0 )
Forma1.FillStyle = 0
Forma1.Altura = L / 12
Forma1.Ancho = L / 12
Forma1. BorderStyle = 0
Círculo (X0, Y0), L 'Dial
Me.FillColor = RGB(250, 0, 0)
Me.Circle ( X0, Y0), L/40, RGB(255, 0, 0) 'Centro
Timer1.Interval = 1000
Llamar a Timer1_Timer
Command1.Caption = "Tiempo de modificación"
Comando1.Arriba = Me.Altura - L * 3 / 4
Comando1.Izquierda = Me.Ancho - L * 3 / 4
Comando1.Alto = L / 3
Etiqueta1.Arriba = Comando1.Arriba
Etiqueta1.Izquierda = Ancho / 4
Etiqueta1.Ancho = Ancho / 3
Label1.FontSize = 24
Label1.Height = Command1.Height
Label1.Caption = ""
End Sub< / p>
Private Sub Timer1_Timer()
Si Etiqueta1 = "" Entonces
t = Tiempo
De lo contrario
t = CDate(Label1) 1 / 24 / 60 / 60
Fin
DU = Segundo(t) * 6 - 90 'Hacer segunda mano
Forma1 .Top = Sin(DU * Pi / 180) * L * 0,85 Y0 - Forma1.Altura / 2
Forma1.Izquierda = Cos(DU * Pi / 180) * L * 0,85 X0 - Forma1.Ancho / 2
m = L * 0.7 'Hacer minutero
DU = Minuto(t) * 6 - 90 ' Segundo(T) * 6 / 60
Línea2. X2 = Cos(DU * Pi / 180) * m X0
p>
Línea2.Y2 = Sin(DU * Pi / 180) * m Y0
h = L * 0.6 'Hacer manecilla de hora
DU = (Hora(t) Mod 12) * 30 Minuto(t) * 6 / 12 - 90
Línea1.X2 = Cos(DU * Pi / 180) * h X0
Línea1.Y2 = Sin( DU * Pi / 180) * h Y0
Etiqueta1 = t
End Sub