请人设计一个倒计时程序,在电脑上使用

2025-04-14 00:24:26
推荐回答(1个)
回答1:

VB的代码:放置两个command(一个叫做cmdDel,另一个叫做cmdAdd)和一个Timer(叫做tmrDJS)
窗体的StartUpPosition属性设为2 - CenterScreen

并添加以下代码:

Private Sub cmdAdd_Click()
Dim sName As String, AllNum As Integer, TerminateDate As Date
sName = InputBox("倒计时的名字?")
TerminateDate = InputBox("截止时间?例如2009-10-20 3:23:19")
AllNum = GetSetting("倒计时", "倒计时列表", "倒计时总数", "0")
AllNum = AllNum + 1
SaveSetting "倒计时", "倒计时列表", "倒计时总数", AllNum
SaveSetting "倒计时", "倒计时列表", "时间" & Trim(Str(AllNum)), TerminateDate
SaveSetting "倒计时", "倒计时列表", "名字" & Trim(Str(AllNum)), sName
MsgBox "添加成功!", vbInformation
End Sub

Private Sub cmdDel_Click()
Dim Qx As Integer
Qx = InputBox("列表中的几个?")
Dim sDate As String, sName As String, AllNum As Integer, Qu As Integer
AllNum = GetSetting("倒计时", "倒计时列表", "倒计时总数", "0")
For i = 1 To AllNum
sDate = GetSetting("倒计时", "倒计时列表", "时间" & Trim(Str(i)), "0")
sName = GetSetting("倒计时", "倒计时列表", "名字" & Trim(Str(i)), "0")
If sDate <> "0" Then
Qu = Qu + 1
If Qu = Qx Then
If MsgBox("是要删除倒计时 " & sName & " 吗?", vbYesNo + vbQuestion) = vbYes Then
SaveSetting "倒计时", "倒计时列表", "时间" & Trim(Str(i)), "0"
End If
Exit For
End If
End If
Next i
End Sub

Private Sub Form_Load()
Height = 3570
Width = 5550
Caption = "倒计时"
tmrDJS.Interval = 500
cmdAdd.Left = 4200
cmdAdd.Top = 2520
cmdAdd.Height = 255
cmdAdd.Width = 1215
cmdAdd.Caption = "添加倒计时"
cmdDel.Left = 4200
cmdDel.Top = 2760
cmdDel.Height = 255
cmdDel.Width = 1215
cmdDel.Caption = "删除倒计时"
End Sub

Private Sub tmrDJS_Timer()
Cls
Dim DJS As Date, sDate As String, sName As String, AllNum As Integer, Printed As Boolean
Dim Kd As Double
AllNum = GetSetting("倒计时", "倒计时列表", "倒计时总数", "0")
For i = 1 To AllNum
sDate = GetSetting("倒计时", "倒计时列表", "时间" & Trim(Str(i)), "0")
sName = GetSetting("倒计时", "倒计时列表", "名字" & Trim(Str(i)), "0")
If sDate <> "0" Then
DJS = sDate
If DJS - Now <= 0 Then
Print sName; " 已经到了!"
Else
Kd = DJS - Now
Print "距离 "; sName; " 还有 ";
Print Int(Kd); " 天 ";
Kd = Kd - Int(Kd)
Print Int(Kd * 24); " 小时";
Kd = Kd - Int(Kd * 24) / 24
Print Int(Kd * 24 * 60); " 分钟";
Kd = Kd - Int(Kd * 24 * 60) / 24 / 60
Print Int(Kd * 24 * 60 * 60 + 0.5); " 秒"
End If
Printed = True
End If
Next i
If Not Printed Then Print "列表为空!"
End Sub