中易网

VB6.0制作电子表

答案:3  悬赏:10  
解决时间 2021-01-19 11:53
  • 提问者网友:夢醒日落
  • 2021-01-18 12:48
VB6.0制作电子表
最佳答案
  • 二级知识专家网友:青灯有味
  • 2021-01-18 13:15
汗!
楼主你的是做什么表呢
这么长、、、
给你个简单的,不用解释
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub

全部回答
  • 1楼网友:痴妹与他
  • 2021-01-18 16:31

电子时钟不需要那么多代码,非常简单的:
Dim P As Single, SJ, SHI As Integer, FEN As Integer, MIAO As Integer
Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = True
P = 3.1415926
End Sub
Private Sub Timer1_Timer()
SJ = Time
SHI = DatePart("H", SJ)
FEN = DatePart("N", SJ)
MIAO = DatePart("S", SJ)
If SHI >= 12 Then
SHI = SHI - 12
End If
Label5.Caption = FormatDateTime(SJ, 3)
Line2.X2 = 2760 + 1500 * Sin(P * (SHI * 30 + FEN / 2) / 180)
Line2.Y2 = 2760 - 1500 * Cos(P * (SHI * 30 + FEN / 2) / 180)
Line5.X2 = 2760 + 1920 * Sin(P * (FEN * 6 + MIAO / 10) / 180)
Line5.Y2 = 2760 - 1920 * Cos(P * (FEN * 6 + MIAO / 10) / 180)
Line1.X2 = 2760 + 2400 * Sin(P * MIAO * 6 / 180)
Line1.Y2 = 2760 - 2400 * Cos(P * MIAO * 6 / 180)
End Sub
  • 2楼网友:琴狂剑也妄
  • 2021-01-18 14:54

这是一个电子式+指针式表,他需要一些数学知识如cos,sin函数
你代码有些问题,我已帮你修改,顺便附上 注释 及 图
Dim alf(0 To 11) '定义12个刻度右方向水平偏转角
Dim pi As Double '定义π
Private Sub Form_Load()
pi = 3.1415926 '设置π值
End Sub
Private Sub Timer1_Timer()
rr = PicTime.Height / 2  '设置时针的旋转中心
ddate = Format(Now, "mm:dd:yy") '获得现在是 几月几号几年
ttime = Format(Now, "hh:mm:ss") '获得现在是 几时几分几秒
tMonth = Left(ddate, 2) '得到月份
tDay = Mid(ddate, 4, 2) '得到天数
tYear = Right(ddate, 2) '得到年数
hh = Left(ttime, 2) '得到小时
ss = Right(ttime, 2) '得到秒
mm = Mid(ttime, 4, 2) '得到月
TxtYear.Text = "20" & tYear '显示现在是20.。年
TxtMth.Text = tMonth '显示月
TxtDay.Text = tDay '显示天
LblTime.Caption = Time '得到现在的时间
nWidth = PicTime.Width - 40 '设置刻度的宽度为PicTime宽-40
nHourLen = nWidth * 4 / 18 '设置时针长度,可自定义
nMinLen = nWidth * 6 / 18 '设置分针长度,可自定义
nSecLen = nWidth * 8 / 18 '设置秒针长度,可自定义
alfsec = ((ss - 15) / 30) * pi '获得秒针右方向水平偏转角
alfmin = ((mm + ss / 60 - 15) / 30) * pi '获得分针右方向水平偏转角
alfhour = ((hh + mm / 60 + ss / 3600 - 15) / 6) * pi '获得时针针右方向水平偏转角
PicTime.Refresh '刷新
'---------------------以下是设置时钟刻度---------------------
For I = 0 To 11 ' 画12个刻度
alf(I) = I * 30 * pi / 180 '获得每一刻度右方向水平偏转角
PicTime.DrawWidth = 1 '设置刻度线宽为1像素
If I = 0 Or I = 3 Or I = 6 Or I = 9 Then '当刻度是0,3,6,9,时
PicTime.DrawWidth = 3 '设置刻度线宽为3像素
End If
PicTime.Line (rr + (rr - 100) * Cos(alf(I)), rr + (rr - 100) * Sin(alf(I)))-(rr + (rr - 300) * Cos(alf(I)), rr + (rr - 300) * Sin(alf(I))), RGB(255, 0, 255) '
'这句见图,
'以 rr + (rr - 100) * Cos(alf(I)), rr + (rr - 100) * Sin(alf(I))  为刻度初坐标,以  rr + (rr - 300) * Cos(alf(I)), rr + (rr - 300) * Sin(alf(I))
'为末坐标画一条 粉色线
Next I
'-----------------------以下是设置各针的旋转--------------------
PicTime.DrawWidth = 3 '设置时针的线条宽度为3像素
PicTime.Line (rr, rr)-(rr + nHourLen * Cos(alfhour), rr + nHourLen * Sin(alfhour)) '同上
PicTime.DrawWidth = 2 ''设置分针的线条宽度为2像素
PicTime.Line (rr, rr)-(rr + nMinLen * Cos(alfmin), rr + nMinLen * Sin(alfmin)) '同上
PicTime.DrawWidth = 1 ''设置秒针的线条宽度为1像素
PicTime.Line (rr, rr)-(rr + nSecLen * Cos(alfsec), rr + nSecLen * Sin(alfsec)) '同上
PicTime.DrawWidth = 5 '设置时钟中心点的大小为5像素
PicTime.PSet (rr, rr), RGB(255, 0, 255) '在时钟中心画上一个粉色点
End Sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息