实验四 VB小综合--倒计时牌
VB小程序

1、VB定时器'*************************************************************'新建一个窗体,放两个控件:label和timer'*************************************************************Public hor As LongPublic minu, sec As IntegerPrivate Sub Form_Load()'设置计时器时间间隔为1秒。
'考虑到Sub Timer1_Timer()中判断等操作要花时间,所以Timer1.Interval设为994 Timer1.Interval = 994Dim longTime, tmp As Long'********************************longTime = 65'时间值,要你自己从数据库取,我就不写了!'********************************'初始化显示时间hor = CLng(longTime / 3600 - 0.5)'小时数tmp = longTime - 3600 * hor '剩余秒数minu = CLng(tmp / 60 - 0.5) '分钟数tmp = tmp - 60 * minu'剩余秒数sec = tmp'秒数Label1.Caption = CStr(hor) + ":" + Format(CStr(minu), "##00") + ":" + Format(CStr(sec), "##00") End SubPrivate Sub Timer1_Timer()If sec = 0 ThenIf minu = 0 ThenIf hor = 0 ThenExit SubElsehor = hor - 1End Ifminu = 59Elseminu = minu - 1sec = 59End IfElsesec = sec - 1End IfLabel1.Caption = CStr(hor) + ":" + Format(CStr(minu), "##00") + ":" + Format(CStr(sec), "##00") End Sub2、VB倒计时Dim h, m, s As IntegerPrivate Sub Command1_Click()Label1.Visible = FalseText1.Visible = TrueIf Command1.Caption = "倒计时" Then Timer1.Enabled = TrueCommand1.Caption = "停止"Command2.Enabled = FalseElseTimer1.Enabled = FalseCommand1.Caption = "倒计时"Command2.Caption = "重设倒计时" Command2.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()If Command2.Caption = "重设倒计时" Then Call againCommand1.Enabled = TrueEnd IfEnd SubPrivate Sub Command3_Click()a = MsgBox("你确定要退出嗎")EndEnd SubPrivate Sub Form_Load()ClsText1.Text = ""a = MsgBox("以下是一個倒計時程序,請按以下要求輸入你要倒计的时间")h = Val(InputBox("请输入倒计时的,小時数,若无填0", "小時/输入", 0))m = Val(InputBox("请输入倒计时的,分钟数,若无填0", "小時/输入", 0))s = Val(InputBox("请输入倒计时的,秒数,若无填0", "小時/输入", 0))Label1.Caption = "你输入的时间是:" & Format(h, "00") & ":" & Format(m, "00") & ":" & Format(s, "00") & "如果沒有错误请点击倒计时按纽"Text1.Visible = FalseEnd SubPrivate Sub Timer1_Timer()If s > 0 Thens = s - 1End IfIf s < 1 And m > 0 Thenm = m - 1s = 60End IfIf m < 1 And s = 0 And h > 0 Thenh = h - 1m = 60End IfIf h < 0 Thenh = 0End IfIf m < 0 Thenm = 0End IfText1.Text = Format(h, "00") & ":" & Format(m, "00") & ":" & Format(s, "00")If h = 0 And m = 0 And s = 0 ThenText1.Text = "時間到了"Command1.Caption = "倒计时"Command1.Enabled = FalseTimer1.Enabled = FalseCommand2.Enabled = TrueEnd IfEnd SubSub again()ClsText1.Text = ""a = MsgBox("以下是一個倒計時程序,請按以下要求輸入你要倒计的时间")h = Val(InputBox("请输入倒计时的,小時数,若无填0", "小時/输入", 0))m = Val(InputBox("请输入倒计时的,分钟数,若无填0", "小時/输入", 0))s = Val(InputBox("请输入倒计时的,秒数,若无填0", "小時/输入", 0))Label1.Caption = "你输入的时间是:" & Format(h, "00") & ":" & Format(m, "00") & ":" & Format(s, "00") & "如果沒有错误请点击倒计时按纽"Text1.Visible = FalseLabel1.Visible = TrueEnd Sub3、VB应该怎样取得本机上网用的动态IP应该是电信局动态分配给宽带用户的那种动态IP。
利用VB制作可设定时间的倒计时器

Prv t Deca e iae l r Fun to ci n S t i do e W n wPos Li ” us r ” b e 32
( Va wn n , By lh dAsLo g
.3 Va W n lsrAfe n , Va n , Jy l h d n et tr AsLo g By l AsLo g X _ Va o g By l X AsLo g By l AsL n , Va n , Y C
个 重置按钮 可将 程序整 个运行 过程重新 开始 ,供 多次 重复
4 窗 体 加 载 . 2
Prv t ub Fo m L a iaeS r od0
_
使 用。同时 ,在 进行到最后 3 秒 时软 件会发 出一声警 报声 ; O
最后 1 0秒 ,警报声 每秒 一次 直 至结束 ,用 来提 示参 与者 时
( ) 设 置 3个 Tme 控 件 。Tm r 来 控 制 倒 计 时 , 6 i r iel用 Tme 3 i r f)用来激发警报声。 2
存 放 5个标 签 ;F2用 做 时 间输 入框 ,其 中存 放 2个 文 本 框 和 r 2 标签 。 个
End I f I fS= -1 The n
()添加 3 按钮 ,用作 “ 4 个 开始 ” “ 置” “ 出”命 重 退
令。
m =m 一 1 :S= 5 9 End I f
一
By lc n ,B Va wF a s As L n ) As Va y As Lo g y l lg o g
Lo ng Cons tSW P NOM O VE : & H 2
_
2 界面概 述
该软件主要利用标签 、按 钮 、计时器 、图像 框 、文本框 、 框架 等控件来制作 。在程序 的运行 时 ,首先 在文 本框 中输 入
VB实现的倒计时类代码详解

VB实现的倒计时类代码详解本⽂所述为⽤VB制作倒计时程序⽤到的⼀个Module类代码,是基于控制台的倒计时程序,可供VB初学者或者VB爱好者参考学习,当然读者也可以将其拷贝代码到VB⼯程⾥⾯直接使⽤,不过需要⾃⼰创建相关的代码,对于初学者来说,也是很容易看懂的⼀段代码。
具体功能代码如下:Module Module1Sub Main()Dim a As DateDim h, m, s As IntegerDim n, i As LongDim x, z As LongDim y As LongConsole.WriteLine("本程序为倒计时程序,请分部输⼊需要倒数的⼩时数、分钟数、秒数")Console.WriteLine("请输⼊计时的⼩时数(⼤于等于0的整数):")h = Console.ReadLine()Console.WriteLine("请输⼊计时的总分钟数(⼤于等于0并且⼩于60的整数):")m = Console.ReadLine()Console.WriteLine("请输⼊计时的秒数(⼤于等于0的并且⼩于60的整数):")s = Console.ReadLine()Console.WriteLine("当前系统时间为:{0}", h)a = Now()Console.WriteLine("当前系统时间为:{0}", a)Console.WriteLine(" ")Console.WriteLine(" **************倒计时开始***************** ")Console.WriteLine(" **************倒计时开始***************** ")Console.WriteLine(" **************倒计时开始***************** ")Console.WriteLine(" **************倒计时开始***************** ")z = 0x = 60For i = 0 To h * 3600 + m * 60 + sFor n = 0 To 6000000For y = 0 To 25z = z + 1NextNextIf (h <= 0) And (m <= 0) And (s <= 0) Then Exit ForIf s > 0 Thens = s - 1Console.WriteLine(" 剩余:{0}⼩时{1}分{2}秒", h, m, s)If (h <= 0) And (m <= 0) And (s <= 0) ThenConsole.WriteLine("倒计时完毕,随意输⼊字符将退出程序:")Exit ForEnd IfEnd IfIf s = 0 ThenIf m > 0 Thenm = m - 1s = 59Console.WriteLine(" 剩余:{0}⼩时{1}分{2}秒 ", h, m, s)End IfIf m = 0 And h > 0 And s = 0 Thenh = h - 1m = 59s = 59Console.WriteLine(" 剩余:{0}⼩时{1}分{2}秒 ", h, m, s)If (h <= 0) And (m <= 0) And (s <= 0) ThenConsole.WriteLine("倒计时完毕,随意输⼊字符将退出程序:")Exit ForEnd IfEnd IfEnd IfNextConsole.Read()End SubEnd Module。
倒计时钟课程设计

倒计时钟课程设计一、课程目标知识目标:1. 学生能理解倒计时钟的基本概念,掌握其工作原理和应用场景。
2. 学生能运用所学的数学知识,进行倒计时钟的时间计算和设置。
3. 学生了解倒计时钟在日常生活和科技领域中的重要性。
技能目标:1. 学生通过实际操作,培养动手能力和问题解决能力,学会制作简单的倒计时钟模型。
2. 学生掌握时间管理技巧,学会合理分配时间,提高学习效率。
3. 学生能够运用信息技术工具,进行倒计时钟的相关计算和设计。
情感态度价值观目标:1. 学生培养对时间观念的重视,树立珍惜时间、合理安排生活的态度。
2. 学生在团队协作中,学会尊重他人,培养合作精神和沟通能力。
3. 学生通过学习倒计时钟,激发对科学技术的兴趣,培养创新意识和探索精神。
课程性质:本课程为小学五年级科学课的实践活动,旨在通过倒计时钟的制作和运用,提高学生对时间管理的认识,培养实际操作能力和科学素养。
学生特点:五年级学生具有一定的数学基础和动手能力,对新鲜事物充满好奇心,喜欢探索和实践。
教学要求:结合学生特点,注重实践操作,引导学生主动参与,培养合作能力和创新精神。
在教学过程中,关注学生的个体差异,因材施教,确保每位学生都能达到预期的学习成果。
通过教学评估,及时了解学生的学习进度,调整教学策略,提高教学质量。
二、教学内容本章节依据课程目标,结合课本内容,组织以下教学大纲:1. 倒计时钟的基本概念与原理- 介绍倒计时钟的定义、作用和应用场景。
- 讲解倒计时钟的工作原理,涉及时间的计量单位及转换。
2. 倒计时钟的制作与操作- 引导学生运用所学的数学知识,进行倒计时计算。
- 指导学生动手制作简单的倒计时钟模型,体验实际操作过程。
3. 时间管理与生活应用- 讲解时间管理的重要性,引导学生珍惜时间,合理安排生活。
- 分析倒计时钟在日常生活、学习、工作中的实际应用。
4. 信息技术工具的运用- 介绍倒计时钟相关的信息技术工具,如电子表格、编程软件等。
设计毕业倒计时牌教案

设计毕业倒计时牌教案教案标题:设计毕业倒计时牌教案教学目标:1. 学生能够了解倒计时牌的设计原理和制作过程。
2. 学生能够运用所学知识设计并制作个性化的毕业倒计时牌。
3. 学生能够展示和分享自己设计制作的毕业倒计时牌。
教学准备:1. PowerPoint演示文稿。
2. 模板和制作倒计时牌所需的材料,如卡纸、彩色纸、剪刀、胶水等。
3. 学生个人电脑或平板电脑。
教学过程:引入:1. 使用PowerPoint演示文稿介绍倒计时牌的概念和用途,引发学生对设计毕业倒计时牌的兴趣和动机。
探究:2. 分发模板和制作倒计时牌所需的材料,让学生自由选择颜色和材料。
3. 指导学生按照模板的要求剪切和折叠卡纸,制作出倒计时牌的主体。
4. 引导学生设计并制作倒计时牌上的数字和装饰物,可以使用彩色纸、贴纸、绘画等方式进行装饰。
5. 鼓励学生尝试创新和个性化设计,例如添加个人照片、写下毕业感言等。
展示和分享:6. 学生展示和分享自己设计制作的毕业倒计时牌,可以通过班级展示、小组展示或个人展示的方式。
7. 学生互相欣赏和评价他人的设计,并提出改进建议。
8. 鼓励学生解释自己设计的灵感和意义,分享制作过程中的困难和收获。
总结:9. 回顾本节课学习的内容和目标,检查学生是否达到了预期的学习效果。
10. 强调学生通过设计制作毕业倒计时牌培养了创造力、动手能力和团队合作精神。
11. 鼓励学生将所学的设计技巧和思维应用到其他领域,激发他们对设计和创造的兴趣。
拓展活动:12. 鼓励学生将制作的毕业倒计时牌带回家,继续倒计时并记录毕业前的重要时刻和感受。
13. 邀请学生参加学校或社区的毕业展览,展示和分享自己设计制作的毕业倒计时牌。
评估:14. 观察学生在制作过程中的参与程度和创意发挥。
15. 评价学生在展示和分享环节中的表达能力和对他人作品的评价能力。
教学延伸:16. 引导学生利用电脑或平板电脑使用设计软件制作倒计时牌,进一步培养他们的数字设计和技术能力。
如何在VB程序中设计一个倒计时器

如何在VB程序中设计一个倒计时器
一、介绍
倒计时器是指当事件发生后,计算从该事件起至其中一预定时刻的倒
推时间,有许多应用。
例如,在大型体育活动中,要实现对比赛的倒计时,可以帮助参赛者和观众对赛事的进展情况进行掌握,从而获得一个良好的
比赛体验。
本文将讲述如何在VB程序中设计一个倒计时器,可以帮助用
户进行计时管理,便于相关的任务安排和管理。
二、倒计时器的设计
1、设计倒计时器的界面
在程序的设计过程中,需要设计一个能够展示倒计时剩余的时间数的
界面,比如可以使用Label或者TextBox控件来表现出相关的倒计时信息,这样可以更好的为用户提供便捷的操作流程,比如:
Private Sub Form_Load
'设置初始倒计时的时间
Text1.Text=1200
End Sub
2、编写倒计时器的逻辑
在程序的设计过程中,需要编写出一个能够控制倒计时的逻辑,具体
的就是要在每一段时间内使用Timer控件每次减1,直至倒计时的时间等
于0,这样就可以达到倒计时的效果,比如:
Private Sub Timer1_Timer
'每次减1
Text1.Text=Text1.Text-1
'当倒计时为0时提示
If Text1.Text = 0 Then
MsgBox "时间到!"
'停止计时器
Timer1.Enabled = False
End If
End Sub
三、总结
以上就是如何在VB程序中设计一个倒计时器的基本设计过程。
vb制造倒计时程序

vb制造倒计时程序这个是一个制作一个倒计时程序的代码。
程序运行时,始终位于在任何窗口的最前面,双击窗体结束应用程序。
程序运行结果如图54-1所示。
可以在窗体上单击鼠标右键,在弹出的菜单中选择“设置倒计时”,设置界面如图54-2所示。
图54-1 运行结果图54-2 设置倒计时界面技术要点●保持窗体最前●倒计时●TimeSerial ()函数●SetWindowPos()API函数实现过程■新建项目打开Visual ,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“ReverseCount”,然后选择保存路径。
单击“确认”。
■添加控件、菜单和窗体为当前窗体添加两个Label控件和两个Timer控件。
其中一个Timer控件控制一个Label 控件在上方一直循环移动;另一个Timer控件控制时间的显示。
添加一个ContextMenu控件并新建菜单“设置倒计时”和“退出”。
利用菜单“项目|添加Windows窗体”,为当前项目添加一个窗体Form2,给Form2添加四个Label控件,用于说明之用;两个Button按钮和三个TextBox控件。
最后通过菜单“项目|添加模块”为当前项目添加一个模块。
■设置属性切换到“属性栏”,对窗体及窗体上的控件进行设置属性。
详细情况如表54-1和表54-2所示。
窗体Form1及控件的属性值窗体Form2及控件的属性值添加代码Module Module1' 这是在模块中添加的代码Public hours As ShortPublic minutes As ShortPublic seconds As ShortPublic revtime As Date'此API函数用来使某个窗口位于所有窗口之上Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByValhWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx AsInteger, ByVal cy As Integer, ByVal wFlags As Integer) As IntegerEnd Module' 下面这些代码是在窗体Form1中添加的' 双及窗体,结束应用程序Private Sub Form1_DoubleClick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.DoubleClickMe.Close()End Sub' 启动程序时,使程序位于任何窗体的上方Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs AsSystem.EventArgs) Handles MyBase.LoadMe.TopMost = TrueEnd Sub' 开始倒计时,并显示出来Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs AsSystem.EventArgs) Handles Timer1.Tickrevtime = DateAdd(Microsoft.VisualBasic.DateInterval.Second, -1, revtime)Label2.Text = Format(revtime, "hh") & ":" & Format(revtime, "mm") & ":" & Format(revtime, "ss")End SubPrivate Sub MenuItem1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem1.ClickForm2.DefInstance.ShowDialog()End SubPrivate Sub MenuItem2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem2.ClickMe.Close()End Sub' 下面这些代码是在窗体Form2中添加的Private Sub Button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button1.Clickhours = Val(Text1.Text)minutes = Val(Text2.Text)seconds = Val(Text3.Text)' 将输入转化为时间格式revtime = TimeSerial(hours, minutes, seconds)bel2.Text = Format(revtime, "hh") & ":" & Format(revtime,"mm") & ":" & Format(revtime, "ss")Form1.DefInstance.Timer1.Enabled = TrueForm2.DefInstance.Hide()End SubPrivate Sub Button2_Click(ByVal eventSender As System.Object, ByVal eventArgs AsSystem.EventArgs) Handles Button2.ClickMe.Close()End Sub运行程序单击菜单“调试|启动”或单击图标运行程序。
倒计时牌设计课程设计

倒计时牌设计课程设计一、课程目标知识目标:1. 学生能够理解倒计时牌的基本原理和功能。
2. 学生掌握倒计时牌设计的要素,包括数字显示、时间计算和基本电路连接。
3. 学生了解倒计时牌在实际生活中的应用。
技能目标:1. 学生能够运用所学的数学和科学知识,设计并制作一个简单的倒计时牌。
2. 学生通过小组合作,提高问题解决能力和团队协作能力。
3. 学生能够运用信息技术工具,进行倒计时牌的设计和演示。
情感态度价值观目标:1. 学生培养对科学技术的兴趣,激发创新意识。
2. 学生认识到倒计时牌在生活中的重要性,增强社会责任感。
3. 学生在小组合作中,学会尊重他人,培养团结互助的品质。
分析课程性质、学生特点和教学要求:本课程为小学五年级科学课的拓展内容,结合数学和信息技术学科。
学生已具备基本的数学计算能力和简单的电路知识。
课程要求学生动手实践,培养创新能力,同时注重团队协作。
课程目标分解:1. 知识目标:通过讲解和示范,使学生掌握倒计时牌的基本原理和设计要素。
2. 技能目标:通过小组合作,让学生在设计制作过程中,提高问题解决能力和动手能力。
3. 情感态度价值观目标:通过实际操作和成果展示,激发学生对科学的兴趣,培养其创新精神和团队精神。
二、教学内容本课程依据课程目标,结合教材内容,组织以下教学大纲:1. 倒计时牌原理介绍(第1课时)- 数字显示原理- 计时器工作原理- 倒计时牌的应用场景2. 倒计时牌设计要素(第2课时)- 数字显示设计:七段显示管原理与制作- 时间计算方法:日期与时间的换算- 基本电路连接:电路元件的认识与使用3. 制作倒计时牌(第3-4课时)- 小组合作设计倒计时牌方案- 动手制作倒计时牌:焊接电路、编写程序- 成果展示与评价4. 倒计时牌在实际生活中的应用(第5课时)- 探讨倒计时牌在生活中的应用案例- 分析倒计时牌的优势与不足- 拓展倒计时牌的创意应用教学内容安排与进度:1. 第1课时:导入倒计时牌原理,激发学生兴趣。
vb倒计时源程序代码

Module Module1Sub Main()Dim a As DateDim h, m, s As IntegerDim n, i As LongDim x, z As LongDim y As LongConsole.WriteLine("本程序为倒计时程序,请分部输入需要倒数的小时数、分钟数、秒数")Console.WriteLine("请输入计时的小时数(大于等于0的整数):")h = Console.ReadLine()Console.WriteLine("请输入计时的总分钟数(大于等于0并且小于60的整数):")m = Console.ReadLine()Console.WriteLine("请输入计时的秒数(大于等于0的并且小于60的整数):")s = Console.ReadLine()Console.WriteLine("当前系统时间为:{0}", h)a = Now()Console.WriteLine("当前系统时间为:{0}", a)Console.WriteLine("")Console.WriteLine(" **************倒计时开始***************** ")Console.WriteLine(" **************倒计时开始***************** ")Console.WriteLine(" **************倒计时开始***************** ")Console.WriteLine(" **************倒计时开始***************** ")z = 0x = 60For i = 0 To h * 3600 + m * 60 + sFor n = 0 To 6000000For y = 0 To 25z = z + 1NextNextIf (h <= 0) And (m <= 0) And (s <= 0) Then Exit ForIf s > 0 Thens = s - 1Console.WriteLine(" 剩余:{0}小时{1}分{2}秒", h, m, s)If (h <= 0) And (m <= 0) And (s <= 0) ThenConsole.WriteLine("倒计时完毕,随意输入字符将退出程序:")Exit ForEnd IfEnd IfIf s = 0 ThenIf m > 0 Thenm = m - 1s = 59Console.WriteLine(" 剩余:{0}小时{1}分{2}秒", h, m, s)End IfIf m = 0 And h > 0 And s = 0 Thenh = h - 1m = 59s = 59Console.WriteLine(" 剩余:{0}小时{1}分{2}秒", h, m, s)If (h <= 0) And (m <= 0) And (s <= 0) ThenConsole.WriteLine("倒计时完毕,随意输入字符将退出程序:")Exit ForEnd IfEnd IfEnd IfNextConsole.Read()End Sub End Module。
倒计时牌设计

《计算机原理及接口技术》课程综合实验报告题目倒计时牌设计学院电子与控制工程学院专业建筑设施智能技术班级320601学生姓名学号指导教师前言微机原理和接口技术是一门实践性强的学科,其中很多的原理、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
在进行课程设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。
本次设计的基于单片的倒计时器相较传统机械式倒计时器具有可以灵活可调、性价比高等优点,有在现实生活中得到广泛应用的发展潜力。
本课程设计由共同设计。
摘要本次设计采用的是8255A、8253、5255、数码管以及按键开关组成的一个实现具有天、时、分、秒倒计功能的倒计时器。
电路具有时间显示功能,能在八位数码管每隔1秒钟,计时器减1。
有外部键盘能输入初始值,在倒计时为整数小时出现声光报警目录一.引言本次计算机原理及接口技术课程综合实验我们的课题是:倒计时牌设计。
综合性实验设计能够很好地培养学生综合运用所学知识的能力,提高学生解决实际问题的能力;培养学生查阅资料,使用工程设计标准、手册及编写设计技术的能力;培养学生初步掌握设计开发产品的能力,了解微机控制系统的一般设计方法;提高学生的计算机绘图能力。
倒计时牌的设计应该满足以下要求:(1)显示倒计时天数以及小时、分钟、秒(各2位)。
(2)参数可手动设置(3)每当剩余时间为整数个小时时,声光报警提示设计基于Protues仿真的8086、8253、8255等和EMU8086汇编完成设计要求。
二.设计方案阐述1、方案整体思想本系统设计以8086微处理器作为CPU,用8253做定时计数器产生时钟脉冲,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断,接LED显示倒计时天数以及小时、分钟、秒(各2位)和扩展调整键盘。
如何在VB程序中设计一个倒计时器

如何在V B程序中设计一个倒计时器(总3页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March时钟程序设计1 任务描述创建一个倒计时的简单应用程序。
功能是:当在文本框内输入倒计时的分钟数后,单击“开始”按钮就开始倒计时,倒计时结束时,弹出“时间到!”的信2 界面设计添加的控件有:一个标签一个文本框一个命令按钮一个计时器控件设置对象属性:Form1窗体: Caption——”倒计时器”Label1控件:Caption——”请输入倒计时的分钟数”、AutoSize——TrueCommand1控件:Caption——”开始”Text1控件:Alignment——”2-Center”Timer1控件:Intervel——”1000”3 代码设计1.代码编辑器“通用”部分代码:Dim m As Long ’声明一个变量控件代码:'使控件计时器开始工作= True'将分钟数转换为秒数,并保存在变量m中m = Val * 60'改变标签控件的标题= "现在开始倒计时"'使命令按钮不可见= False控件代码:Private Sub Timer1_Timer()'当=true时,本程序每秒自动执行一次'每运行一次,就将m变量的值减1秒m = m -1If m < 0 Then '如果倒计时结束,则= False '关闭计时器MsgBox "时间到!", 0, "倒计时"= "请输入倒计时的分钟数"= "" '清空文本框= True '使命令按钮可见Else '否则显示倒计时数= mEnd IfEnd Sub4 保存和运行程序1. 保存工程(1)单击“文件”菜单中的“保存工程”或单击工具栏上的“保存工程”按钮,系统弹出“文件另存为”对话框,提示用户输入窗体文件名。
倒计时计时器课程设计

倒计时计时器课程设计一、课程目标知识目标:1. 学生能理解倒计时计时器的基本原理,掌握其制作方法;2. 学生能运用所学的数学知识,设计出符合实际需求的倒计时计时器;3. 学生了解倒计时计时器在日常生活和科技领域的应用。
技能目标:1. 学生通过动手实践,提高电子制作和编程能力;2. 学生能够运用所学的知识和技能,解决实际问题,如设定特定时间的倒计时;3. 学生在团队协作中,提高沟通与表达能力,培养创新精神和实践能力。
情感态度价值观目标:1. 学生对倒计时计时器产生兴趣,激发探究科学技术的热情;2. 学生在动手实践过程中,培养耐心、细心和自信的品质;3. 学生通过团队合作,学会分享与互助,培养集体荣誉感。
分析课程性质、学生特点和教学要求,本课程针对中学生设计,以实践性、探究性和创新性为特点。
课程内容紧密结合教材,注重培养学生的动手能力、逻辑思维能力和团队协作精神。
通过本课程的学习,使学生能够将理论知识与实践相结合,提高解决实际问题的能力。
课程目标分解为具体学习成果,便于教学设计和评估,助力学生全面发展。
二、教学内容1. 引入倒计时计时器的概念,介绍其工作原理和基本构成,关联教材中电子技术基础章节;- 计时器的发展历程;- 倒计时计时器的电路组成和功能;- 倒计时计时器在实际应用中的优势。
2. 详细讲解倒计时计时器的制作过程,包括电路设计、编程及调试,对应教材中电子制作实践章节;- 选择合适的微控制器和电子元件;- 设计倒计时程序,学习基础编程语言;- 电路焊接与测试,确保计时器的准确性。
3. 探讨倒计时计时器的实际应用,结合教材中电子技术在生活中的应用章节;- 日常生活中的倒计时应用案例;- 倒计时计时器在科技项目中的重要作用;- 学生设计自己的倒计时应用场景。
4. 安排实践环节,让学生动手制作属于自己的倒计时计时器,强化理论与实践的结合;- 分组合作,明确分工;- 指导学生进行电路设计和编程;- 组织作品展示,分享制作过程和经验。
电子倒计时课程设计

电子倒计时课程设计一、课程目标知识目标:1. 学生能够理解电子倒计时的基本概念,掌握其工作原理和应用场景。
2. 学生能够运用电子元件和相关电路知识,设计并搭建一个简单的电子倒计时装置。
3. 学生能够解释电子倒计时装置中各元件的功能和相互关系。
技能目标:1. 学生能够运用所学知识,进行电路图的绘制和电路搭建。
2. 学生能够通过实际操作,掌握电子倒计时装置的调试和故障排查方法。
3. 学生能够提高动手实践能力,培养团队协作精神和问题解决能力。
情感态度价值观目标:1. 学生对电子技术产生兴趣,增强对科学的热爱和好奇心。
2. 学生在实践过程中,培养耐心、细心和勇于尝试的精神。
3. 学生通过合作学习,学会尊重他人、倾听意见,形成良好的沟通能力。
4. 学生认识到电子技术在生活中的广泛应用,增强社会责任感和创新意识。
课程性质:本课程为电子技术实践课程,结合理论知识,强调学生的动手能力和创新能力。
学生特点:六年级学生具有一定的电子元件知识和电路基础,好奇心强,喜欢动手操作。
教学要求:注重理论与实践相结合,引导学生主动探索,关注学生的个体差异,提高学生的综合素养。
将课程目标分解为具体的学习成果,以便在教学设计和评估中逐一落实。
二、教学内容本课程教学内容紧密围绕课程目标,结合课本相关章节,确保科学性和系统性。
1. 电子倒计时基本概念:讲解电子倒计时的定义、原理和应用场景,涉及课本第三章第二节内容。
2. 电子元件及电路知识:介绍电子倒计时装置中常用的电子元件,如集成电路、晶体管、电阻、电容等,并讲解其功能和相互关系,结合课本第二章内容。
3. 电路图绘制与搭建:指导学生绘制电子倒计时电路图,学习电路搭建方法,参考课本第四章电路设计部分。
4. 实践操作:组织学生分组进行电子倒计时装置的制作,包括电路搭建、调试和故障排查,实践课本第五章实验操作内容。
5. 装置功能拓展:引导学生思考如何对电子倒计时装置进行功能拓展,如增加报警功能、显示功能等,激发学生创新能力。
一个用VB编写的倒计时程序

代码如下:
Dim n As Integer Dim t As String
Private Sub Command1_Click() If Text1.Text = "" Then Exit Sub End If
'计时开始
t = Val(Text1.Text) Timer1.Enabled = True Label1.Caption = "剩余时间:" & t & "分钟"
End If
End Sub
Private Sub Timer2_Timer() Label2.Caption = "现在时间:" & Time
End Sub 运行效果如下图
End Sub
Private Sub Command2_Click() End
End Sub
'退出程序
Private Sub Timer1_Timer() n=n+1 Label1.Caption = "剩余时间:" & t - n & "分钟"
If n = t Then Beep MsgBox "时间到", vbExclamation + vbOKOnly Timer1.Enabled = False n=0
程序的窗体内含有两个timer控件一个文本框控件两个命令按钮控件四个标签控件
一个用 VB编写的倒计时程序
程序的窗体内含有两个Timer控件,一个文本框控件,两个命令按钮控件,四个标签控件。其中Timer1的Interval属性设置为 60000,也就是一分钟响应一次,Timer1的Interval属性设置为500,也就是每0.5秒响应一次。Label1显示剩余时间,Label2
vb课程设计计时器

vb课程设计 计时器一、课程目标知识目标:1. 学生理解计时器的功能与作用,掌握计时器的基本概念。
2. 学生掌握Visual Basic(VB)中实现计时器功能的相关语法和编程方法。
3. 学生了解计时器在现实生活中的应用场景,并能结合实际需求设计计时器程序。
技能目标:1. 学生能够运用VB编程语言,独立编写具有计时功能的程序。
2. 学生通过动手实践,培养解决问题的能力和逻辑思维能力。
3. 学生能够对计时器程序进行调试和优化,提高程序的性能和稳定性。
情感态度价值观目标:1. 学生培养对编程的兴趣和热情,激发创新意识。
2. 学生通过合作学习,培养团队协作精神和沟通能力。
3. 学生在编程实践中,体验科技带来的乐趣,增强自信心和成就感。
课程性质:本课程为信息技术课程,旨在让学生掌握VB编程中计时器功能的应用。
学生特点:六年级学生具备一定的计算机操作能力和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:注重理论与实践相结合,引导学生主动探究,激发学生的学习兴趣,培养其编程能力和逻辑思维。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 计时器原理介绍:计时器的工作原理、分类以及在计算机编程中的应用。
- 相关教材章节:第五章第三节“计时器与定时器”2. VB中实现计时器功能的相关语法和控件:- Timer控件的使用方法- Timer事件(如:Timer_Tick)的处理- 相关教材章节:第五章第四节“使用Timer控件”3. 设计与编写计时器程序:- 程序设计思路与流程图绘制- 编写计时器程序代码,实现倒计时、正计时等功能- 相关教材章节:第五章第五节“计时器程序设计”4. 计时器程序调试与优化:- 程序调试方法与技巧- 优化程序性能,提高计时精度- 相关教材章节:第五章第六节“程序调试与优化”5. 计时器应用实例分析:- 分析现实生活中的计时器应用案例- 结合实际需求设计具有特色的计时器程序- 相关教材章节:第五章实例分析“计时器应用实例”教学内容安排与进度:第一课时:计时器原理介绍,学习Timer控件的使用方法第二课时:编写计时器程序,实现基本计时功能第三课时:计时器程序调试与优化,分析应用实例第四课时:学生展示作品,总结反馈,巩固提高教学内容科学系统,注重理论与实践相结合,引导学生主动探究,培养其编程能力和逻辑思维。
VB编辑时钟控件+倒计时+闹钟+背景图片+背景音乐

Private Sub Check1_Click()WindowsMediaPlayer1.Controls.pauseEnd SubPrivate Sub Check2_Click()WindowsMediaPlayer1.Controls.playEnd SubPrivate Sub Check3_Click()WindowsMediaPlayer1.Controls.stopEnd SubPrivate Sub Command1_Click()Timer1.Interval = 1000Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Timer2.Enabled = TrueTimer2.Interval = 1000End SubPrivate Sub Form_Load()Picture1.Picture = LoadPicture(App.Path & "\images\" & "tp1.jpg") End SubPrivate Sub Timer1_Timer()Static X!, Y!, Z!, a%, b%, c%, q%, w%, E%Const n = 3.141592653Command1.Visible = FalsePicture1.ClsPicture1.Scale (-1000, 1000)-(1000, -1000)Picture1.Circle (0, 0), 900Dim l As DoubleDim r As DoubleFor i = 0 To 60l = (1 - Sin(i / 60 * 2 * 3.1415926)) * 900 - 900r = (1 - Cos(i / 60 * 2 * 3.1415926)) * 900 - 900Picture1.DrawWidth = 3Picture1.PSet (l, r)Picture1.DrawWidth = 4Next iPicture1.PSet (0, 0)Picture1.CurrentX = -100: Picture1.CurrentY = 850Picture1.FontSize = 25Picture1.Print "12"Picture1.CurrentX = -40: Picture1.CurrentY = -690Picture1.Print "6"Picture1.CurrentX = -850: Picture1.CurrentY = 80Picture1.Print "9"Picture1.CurrentX = 700: Picture1.CurrentY = 100Picture1.Print "3"Picture1.FontSize = 18Picture1.CurrentX = 360: Picture1.CurrentY = 740Picture1.Print "1"Picture1.CurrentX = 650: Picture1.CurrentY = 450Picture1.Print "2"Picture1.CurrentX = 630: Picture1.CurrentY = -320Picture1.Print "4"Picture1.CurrentX = 360: Picture1.CurrentY = -600Picture1.Print "5"Picture1.CurrentX = -430: Picture1.CurrentY = 740Picture1.Print "11"Picture1.CurrentX = -750: Picture1.CurrentY = 440Picture1.Print "10"Picture1.CurrentX = -700: Picture1.CurrentY = -360Picture1.Print "8"Picture1.CurrentX = -370: Picture1.CurrentY = -610Picture1.Print "7"Picture1.DrawWidth = 1X = Second(Time) * 2 * n / 60Y = Minute(Time) * 2 * n / 60Z = Hour(Time) * 2 * n / 12Picture1.Line (0, 0)-(800 * Sin(X), 800 * Cos(X))Picture1.Circle (700 * Sin(X), 700 * Cos(X)), 50Picture1.Line (0, 0)-(600 * Sin(Y), 600 * Cos(Y)), QBColor(5)Picture1.Line (0, 0)-(400 * Sin(Z), 400 * Cos(Z)), QBColor(12)h = Year(Now)i = Month(Now)j = Day(Now)k = Hour(Now)l = Minute(Now)m = Second(Now)Label10.Caption = h & "-" & i & "-" & jLabel11.Caption = k & ":" & l & ":" & mu = Weekday(Now)Select Case uCase 1Label8.Caption = "一"Case 2Label8.Caption = "二"Case 3Label8.Caption = "三"Case 4Label8.Caption = "四"Case 5Label8.Caption = "五"Case 6Label8.Caption = "六"Case 7Label8.Caption = "日"End SelectEnd SubPrivate Sub Timer2_Timer()Dim z1, z2, z3, z4, z5, z6, z7, z8, z9, z10%z1 = V al(Text1.Text)z2 = V al(Text2.Text)z3 = V al(Text3.Text)z4 = V al(Text4.Text)z5 = V al(Text5.Text)z6 = V al(Text6.Text)date1 = DateSerial(z1, z2, z3)date2 = DateSerial(Year(Now), Month(Now), Day(Now))z7 = DateDiff("d", date2, date1)time1 = TimeSerial(z4, z5, z6)time2 = TimeSerial(Hour(Now), Minute(Now), Second(Now)) z8 = DateDiff("h", time2, time1)z9 = DateDiff("n", time2, time1) - z8 * 60z10 = DateDiff("s", time2, time1) - z9 * 60 - z8 * 3600If z2 > 12 Or z3 > 31 Or z4 > 23 Or z5 > 59 Or z6 > 59 Then q = MsgBox("输入有误,请重新输入", , "出错")Print qEnd IfIf z10 < 0 Thenz9 = z9 - 1z10 = 60 + z10End IfIf z9 < 0 Thenz8 = z8 - 1z9 = 60 + z9End IfIf z8 < 0 Thenz7 = z7 - 1z8 = 24 + z8End IfLabel14.Caption = z7 & "天" & z8 & "小时" & z9 & "分" & z10 & "秒"If z7 = 0 And z8 = 0 And z9 = 0 And z10 = 0 ThenMsgBox "时间到", , "倒计时"WindowsMediaPlayer1.URL = App.Path & "\music\" & "dd.mp3" Timer2.Enabled = FalseEnd IfEnd SubPrivate Sub tp1_Click()Picture1.Picture = LoadPicture(App.Path & "\images\" & "tp6.jpg") End SubPrivate Sub tp2_Click()Picture1.Picture = LoadPicture(App.Path & "\images\" & "tp2.jpg") End SubPrivate Sub tp3_Click()Picture1.Picture = LoadPicture(App.Path & "\images\" & "tp3.jpg") End SubPrivate Sub tp4_Click()Picture1.Picture = LoadPicture(App.Path & "\images\" & "tp4.jpg") End SubPrivate Sub tp5_Click()Picture1.Picture = LoadPicture(App.Path & "\images\" & "tp5.jpg") End SubPrivate Sub yy1_Click()WindowsMediaPlayer1.URL = App.Path & "\music\" & "He's a Pirate.mp3" End SubPrivate Sub yy2_Click()WindowsMediaPlayer1.URL = App.Path & "\music\" & "apologize.mp3" End SubPrivate Sub yy3_Click()WindowsMediaPlayer1.URL = App.Path & "\music\" & "Heartbeats.mp3" End Sub。
西工大软件技术试验报告 VB实验四:倒计时牌

软件技术实验报告实验序号 4 名称倒计时牌班级08051101 学号2011302058姓名辛航博实验内容及完成情况:设计一个具有实际应用价值的动态倒计时牌。
要求目标时间(即倒计时截至时间)的年、月、日、时、分、秒和倒计时主题可以根据不同主题由用户动态设定,并且在此设定基础上在屏幕上显示距离相关主题(如新年)到达之时还有n年、n天和n秒(其中的三个n各不相同,且随着程序运行动态变化),以北京时间作为主要显示板块。
程序中除了刚运行时给出一次当前标准时间值(或读出系统当前时间)外,在程序运行期间应在自己独立的用户时钟控制下,而不受外界输入影响和系统时间的束缚。
1)根据实验设计需要在窗体上放上若干所需的标签控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件等,并设置各控件的必要属性值。
2)在程序中用时钟控件不断触发系统时间与预设定时间时间截止点的时间差:分别计算当前时间和预设定时间截止点之间相差的整年数、当前时间到时间截止点还差的不足一年的天数和当前时间到时间截止点之间相差的不足一天的秒数并分别显示之。
3)程序中调用系统时间综合使用了“Now”函数和“Format”函数,其完整形式为:Format(Now, “hh:mm:ss”)Format(Now,“mm/dd/yy”)前者可以按照“小时:分钟:秒”的形式返回当前时间;后者可以按照“月/日/年”的形式返回。
4)为保证应用程序的灵活性,应在倒计时牌上设有暂停、继续、时间校正和结束运行等特殊要求的激发点。
5)按照需要构筑程序框架并编写应用程序。
实验中遇到的问题及解决方法:时钟属性没有设置正确,“开始”按钮运行时出错。
认真检查后得以改正。
实验中所涉及的知识及技术:标准控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件的使用。
对各个控件必要属性的设置。
实验中的创新及功能扩充:为保证应用程序的灵活性,应在倒计时排上设置暂停、继续等激发点。
倒计时牌 课程设计

信息科学与技术学院微机原理与接口技术课程设计报告题目名称:倒计时牌学生姓名:高兴奇学号:200411113专业年级:04电信(2)班指导教师:刘恩博时间:2006-12-30一、任务与要求1.能实现日历功能2.能实现倒计时功能(显示天、时、分、秒)扩展功能:实现倒计时的时间人为设定二、功能设计宏定义:置光标位置(setf)————定义光标定位宏清屏(clearscreen)————用于将屏幕清成指定的前景背景色输入(input)————定义输入宏程序:主程序模块:根据选择显示日历的时间,或倒计时时间系统时间子程序:取得时间,并将时间存于数据段的。
系统日期子程序:取得日期星期,并将日期星期信息存于数据。
显示子程序:通过数据段的数字,将时间显示成数码管的形式。
延时子程序:通过检测61h端口,实现延时一秒。
减一秒子程序:执行延时程序后,时间减少一秒。
减一天子程序:若时间00:00:01减少一秒,则执行减一天的操作。
输出子程序————输出指定的字符串。
y定义clearscreen宏,使用BIOS的06号功能---清屏或上卷;定义setf宏,使用BIOS的02号功能---制光标位置;定义input宏,使用BIOS的01号功能---输入字符。
显示系统当前时间与日期,使用DOS的2A号功能取系统日期和2C号功能取系统时间。
定义数据段Disptime存放系统时间,Dispdata存放系统日期。
年存在ch中,月存在dh中,日存在dl中。
将年份除以10,得到它的每一位,每一位加30h,求取它的ASCII码,并将其送到指定的存储位置中。
求取时间的方法与日期相同。
五、程序段data segmentDisptimedb 00,00,":",00,00,":",00,00,"$"Dispdatadb 00,00,00,00,"-",00,00,"-",00,00," ","$",00,"$"Dispdata_1 db 32h,30h,31h,31h,".",31h,32h,".",30h,38h," ","$",00,"$"xingqidb "MON","$","TUE","$","WEN","$","THU","$","FRI","$","SUT","$","SUN","$" show_weldb "welcome to my program!!!",0dh,0ah,"$"show_menudb "Settime:sBegin:eQuit:q","$"show_menu_1db "Settime:sChange:cQuit:q","$"show_resetdb "The reset time is:","$"flag db 0tab_1db 0b4h,0a0h,0b5h,50htab_2db 00h,04htab_3 db 31d,29d,31d,30d,31d,30d,31d,30d,31dshuzidb " _ ",0dh,0ah,"$"db "| |",0dh,0ah,"$"db "|_|",0dh,0ah,"$"db " ",0dh,0ah,"$"db " |",0dh,0ah,"$"db " |",0dh,0ah,"$"db " _ ",0dh,0ah,"$"db " _|",0dh,0ah,"$"db "|_ ",0dh,0ah,"$"db " _ ",0dh,0ah,"$"db " _|",0dh,0ah,"$"db " _|",0dh,0ah,"$"db " ",0dh,0ah,"$"db "|_|",0dh,0ah,"$"db " |",0dh,0ah,"$"db " _ ",0dh,0ah,"$"db "|_ ",0dh,0ah,"$"db " _|",0dh,0ah,"$"db " _ ",0dh,0ah,"$"db "|_ ",0dh,0ah,"$"db "|_|",0dh,0ah,"$"db " _ ",0dh,0ah,"$"db " |",0dh,0ah,"$"db " |",0dh,0ah,"$"db " _ ",0dh,0ah,"$"db "|_|",0dh,0ah,"$"db "|_|",0dh,0ah,"$"db " _ ",0dh,0ah,"$"db "|_|",0dh,0ah,"$"db " _|",0dh,0ah,"$"data endssetf macro dh1,dl1 ;定义光标定位宏push axpushbxpush dxmov ah,2hmov bh,0hmov dh,dh1mov dl,dl1int 10hpop dxpopbxpop axendmclearscreen macro ch1,cl1,dh1,dl1,bh1;定义清屏宏mov ah,6mov al,0mov ch,ch1mov cl,cl1mov dh,dh1mov dl,dl1mov bh,bh1int 10hendm;----------主程序---------------code segment para 'code'assumecs:code,ds:data,es:datamainproc farpush dsxorax,axpush axmovax,datamovds,axcallkaijisetf 0bh,1bhmovdx,offsetshow_welcall outputsetf 0eh,19hmovdx,offsetshow_menucall outputcallgetdatacallgettimecallchange_gtyxunhuan:mov ah,01hint 21hcmpal,'e'jz begincmpal,'c'jz changecmpal,'s'jzsettimecmpal,'q'jz quitchange: jmp change_1settime: clearscreen 00h,00h,18h,4fh,0fh setf 09h,14hmovdx,offsetshow_resetcall outputmov ah,01hint 21hand al,0fhmov [Disptime],alint 21hand al,0fhmov [Disptime+1],alint 21hint 21hand al,0fhmov [Disptime+3],alint 21hand al,0fhmov [Disptime+4],alint 21hint 21hand al,0fhmov [Disptime+6],alint 21hand al,0fhmov [Disptime+7],aljmp beginquit: jmp nextbegin: jmp begin_1change_1:setf 0bh,16hpushbxmovbl,[flag]cmp bl,0hjz ccmovdx,offsetDispdatacall outputmov [flag],0hjmp next_1cc: movdx,offset Dispdata_1call outputmov [flag],1hnext_1: pop bxjmp abegin_1:clearscreen 00h,00h,18h,4fh,02h clearscreen 05h,10h,0dh,35h,68hclearscreen 06h,12h,0ch,33h,04hsetf 0eh,14hmovdx,offset show_menu_1call outputsetf 0bh,16hmovdx,offsetdispdatacall outputsetf 0bh,24hmovdx,offsetxingqipush axpushbxmov bl,4hmov al,[dispdata+0eh]sub al,30hdec almulbladddx,axcall outputpopbxpop axA: setf 07h,13hcalldispcall delayCall dec_1smov ah,0bhint 21hinc aljnz Ajmpxunhuannext:RETmainendp;------------gettime子程序--------- gettimeproc nearpushbxpush axmov bl,0ahmov ah,2chint 21hmov ax,0moval,chdivblmov [Disptime],almov [Disptime+1],ahmov ax,0moval,cldivblmov [Disptime+3],almov [Disptime+4],ahmov ax,0moval,dhdivblmov [Disptime+6],almov [Disptime+7],ahpop axpopbxretgettimeendp;------------getdata子程序--------- getdataproc nearpush cxpush dxpush axpushbxmov ah,2ahint 21hpush axpush dxmov bx,1000d movax,cxmov dx,0hdivbxor al,30hmov [Dispdata],al movax,dxmov bl,100ddivblor al,30hmov [Dispdata+1],al moval,ahmov ah,0mov bl,0ahdivblor al,30hor ah,30hmov [Dispdata+2],al mov [Dispdata+3],ah pop dxmov ax,0moval,dhdivblor al,30hor ah,30hmov [Dispdata+5],al mov [Dispdata+6],ah mov ax,0moval,dldivblor al,30hor ah,30hmov [Dispdata+8],al mov [Dispdata+9],ah pop axor al,30hcmp al,30h jnzjieshu_getmov al,37hjieshu_get:mov [Dispdata+0eh],al mov [Dispdata_1+0eh],alpopbxpop axpop dxpop cxretgetdataendp;-----delay子程序----- delayproc nearpushbxpush axpush cxmov bl,75dwaitf2: mov cx,6632dwaitf1:inal,61hand al,10hcmpal,ahje waitf1movah,alloop waitf1decblcmp bl,0jnz waitf2pop cxpop axpopbxretdelayendp;-----dec_1s子程序-----dec_1sproc nearpush axmov al,[Disptime+7]dec almov [Disptime+7],alcmp al,00hjnz bbmov [Disptime+7],09mov al,[Disptime+6]dec almov [Disptime+6],alcmp al,00hbb: jnz returnmov [Disptime+6],05hmov al,[Disptime+4]dec almov [Disptime+4],alcmp al,00hjnz returnmov [Disptime+4],09hmov al,[Disptime+3]dec almov [Disptime+3],alcmp al,00hjnz returnmov [Disptime+3],05hmov al,[Disptime]cmp al,00hjz b_4mov al,[Disptime+1]dec almov [Disptime+1],alcmp al,00hjnz returnmov [Disptime+1],03hmov al,[Disptime]dec almov [Disptime],aljmp returnb_4: mov al,[Disptime+1] dec almov [Disptime+1],alcmp al,00hjnz returnmov [Disptime],2hmov [Disptime+1],03hcall dec_1ssetf 0bh,16hmovdx,offsetdispdatacall outputreturn: pop axretdec_1sendp;-----output子程序----- outputproc nearpush axmov ah,09hint 21hpop axretoutputendp;-----change_gty子程序----- change_gtyproc nearpush axpushbxpush cxpush dxmov ah,0hmov al,[Dispdata+3]sub al,32hmov bx,365dmulbxmovcx,axmov al,[Dispdata+5]sub al,30hmov bl,10dmulbladd al,[Dispdata+6]sub al,30hcmp al,1hjz next1add cx,31dcmp al,2hjz next1add cx,29dcmp al,3hjz next1add cx,31dcmp al,4hjz next1add cx,30dcmp al,5hjz next1add cx,31dcmp al,6hjz next1add cx,30dcmp al,7hjz next1add cx,31dcmp al,8hjz next1add cx,31dcmp al,9hjz next1add cx,30dcmp al,0ahjz next1add cx,31dcmp al,0bhjz next1add cx,30dnext1: mov al,[Dispdata+8] sub al,30hmov bl,10dmulbladd al,[Dispdata+9]sub al,31hmov ah,0haddcx,axmovax,cxsub ax,21cmp ax,0jns goonadd cx,8hmovax,cxmov bl,0ahdivblor ax,3030hmov [Dispdata_1+8],almov [Dispdata_1+9],ah goon: pop dxpop cxpopbxpop axretchange_gtyendp;-----kaiji子程序----- kaijiproc nearclearscreen 05h,0fh,13h,40h,30h clearscreen 06h,11h,12h,3eh,0fh retkaijiendp;-----disp子程序----- dispproc nearmov al,[Disptime]mov bl,12hmulblmovdx,offsetshuziadddx,axcall outputsetf 08h,13hadd dx,06hcall outputsetf 09h,13hadd dx,06hcall outputsetf 07h,16hmov al,[Disptime+1]mulblmovdx,offsetshuziadddx,axcall outputsetf 08h,16hadd dx,06hcall outputsetf 09h,16hadd dx,06hcall outputsetf 08h,1ahmov dl,1Ehmov ah,02hint 21hsetf 09h,1ahmov dl,1fhint 21hsetf 07h,1chmov al,[Disptime+3]mulblmovdx,offsetshuziadddx,axcall outputsetf 08h,1chadd dx,06hcall outputsetf 09h,1chadd dx,06hcall outputsetf 07h,1fhmov al,[Disptime+4] mulblmovdx,offsetshuzi adddx,axcall outputsetf 08h,1fhadd dx,06hcall outputsetf 09h,1fhadd dx,06hcall outputsetf 08h,23hmov dl,1Ehmov ah,02hint 21hsetf 09h,23hmov dl,1fhint 21hsetf 07h,25hmov al,[Disptime+6] mulblmovdx,offsetshuzi adddx,axcall outputsetf 08h,25hadd dx,06hcall outputsetf 09h,25hadd dx,06hcall outputsetf 07h,28hmov al,[Disptime+7] mulblmovdx,offsetshuzi adddx,axcall outputsetf 08h,28hadd dx,06hcall outputsetf 09h,28hadd dx,06hcall outputretdispendpcode endsend main六、心得体会在对《微型计算机技术及其应用》这本书的学习后,使我了解了计算机的基本结构与组成,但是在学完之后,对于这门课程的具体应用却知之甚少。
高考倒计时VB

“高考倒计时”程序设计文档一、程序名称:高考倒计时二、程序功能1:显示当前时间、高考时间、剩余时间三、程序设计1:标签控件:Label12:文本控件:Text13:定时器控件:Timer1四、程序实现1:窗体加载:Sub Form_Load( )2:最大化:Me.WindowState = vbMaximized3:根据窗口宽度、高度设置字体大小:F = Me.ScaleX(Me.ScaleWidth, Me.ScaleMode, 3) / (S0 * 2 + S1 + S2)H = Me.ScaleY(Me.ScaleHeight, Me.ScaleMode, 3) / 124: 默认时间为计算机当前年份的6月7日:If nStr = "" ThenY = Format(Date, "yyyy") I = DateDiff("s", Now, Y & "-6-7 9:00:00") If I < 0 Then Y = Y + 1 nStr = Y & "-6-7 9:00:00"5:计时器:Timer1_Timer()五、程序运行六、程序代码Dim ctStr As StringPrivate Sub Form_Load()Dim I As Long, Y As Long, nStr As StringctStr = Trim(GetSetting("xUnTime", "xOpt", "xCap", ""))If ctStr = "" Then ctStr = "高考" '默认标题Text1.Font.Bold = TrueLabel1(0).AutoSize = True: Label1(0).Font.Bold = TrueLabel1(0).BackStyle = 0For I = 1 To 5Load Label1(I): Label1(I).Visible = TrueNextMe.BackColor = &HFF8888Label1(0).ForeColor = &HFF0000Label1(0).ToolTipText = "单击可修改标题"nStr = Trim(GetSetting("xUnTime", "xOpt", "xTime", ""))If nStr = "" Then '默认时间:为计算机当前年份的6月7日Y = Format(Date, "yyyy")I = DateDiff("s", Now, Y & "-6-7 9:00:00")If I < 0 Then Y = Y + 1nStr = Y & "-6-7 9:00:00"End IfText1.MaxLength = 20: Text1.Text = nStrTimer1.Enabled = True: Timer1.Interval = 1000Me.WindowState = vbMaximized '最大化End SubPrivate Sub Form_Unload(Cancel As Integer)SaveSetting "xUnTime", "xOpt", "xCap", ctStrSaveSetting "xUnTime", "xOpt", "xTime", Text1.TextEnd SubPrivate Sub Label1_Click(Index As Integer)'用户修改标题If Index <> 0 Then Exit SubDim nStr As StringnStr = Trim(InputBox("请输入倒计时事件的标题:", "倒计时- 设置标题", ctStr))If Right(nStr, 3) = "倒计时" Then nStr = Trim(Left(nStr, Len(nStr) - 3))If nStr = "" Then Exit SubctStr = nStrCall Form_ResizeEnd SubPrivate Sub Text1_Change()Call Timer1_TimerCall Form_ResizeEnd SubPrivate Sub Form_Resize()Dim I As Long, H As Single, F As Single, W1 As SingleDim S0 As Single, S1 As Single, S2 As Single, L1 As Single, L2 As SingleS0 = 0S1 = 5 + LenB(StrConv(ctStr, vbFromUnicode))If S1 < 9 Then S1 = 9S2 = 0.5 + LenB(StrConv(Text1.Text, vbFromUnicode))If S2 < 16.5 Then S2 = 16.5F = Me.ScaleX(Me.ScaleWidth, Me.ScaleMode, 3) / (S0 * 2 + S1 + S2) '根据窗口宽度设置字体大小H = Me.ScaleY(Me.ScaleHeight, Me.ScaleMode, 3) / 12 '根据窗口高度设置字体大小If F > H Then F = HF = F - 1If F < 3 Then F = 3Text1.Font.Size = Fhh = Text1.Font.SizeSet Me.Font = Text1.FontW1 = Me.TextWidth("A")L1 = (Me.ScaleWidth - W1 * (S1 + S2)) * 0.5L2 = L1 + W1 * S1Text1.Width = W1 * S2Label1(0).Font.Size = F * 1.5For I = 1 To Label1.UBoundLabel1(I).Font.Size = FNextH = Label1(1).Height * 0.5'标题Me.Caption = ctStr & "倒计时"Label1(0).Caption = ctStr & "倒计时"Label1(0).Move (Me.ScaleWidth - Label1(0).Width) * 0.5, (Me.ScaleHeight - H * 12) * 0.4'当前时间Label1(1).Caption = "当前时间"Label1(1).Move L1, Label1(0).Top + H * 4.5: Label1(2).Move L2, Label1(1).Top'高考时间Label1(3).Caption = ctStr & "时间"Label1(3).Move L1, Label1(1).Top + H * 3Text1.Appearance = 0Text1.Move L2, Label1(3).Top, Text1.Width, Label1(3).Height'剩余时间Label1(4).Move L1, Label1(3).Top + H * 3: Label1(4).Caption = "剩余时间"Label1(5).Move L2, Label1(4).Top: Label1(5).ForeColor = 255End SubPrivate Sub Timer1_Timer()Dim D As Long, H As Long, M As Long, S As LongOn Error GoTo cuoLabel1(2).Caption = NowS = DateDiff("s", Now, CDate(Text1.Text))If S < 1 Then Label1(5).Caption = "时间到": Exit SubD = S \ 86400 '3600 * 24S = S Mod 86400: H = S \ 3600S = S Mod 3600: M = S \ 60S = S Mod 60Label1(5).Caption = D & "天" & H & "时" & M & "分" & S & "秒"Exit Subcuo:Label1(5).Caption = "输入的时间错误" End Sub。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四小综合--倒计时牌
实验要求:
设计一个具有实际应用价值的动态倒计时牌。
要求目标时间(即倒计时截至时间)的年、月、日、时、分、秒和倒计时主题可以根据不同主题由用户动态设定,并且在此设定基础上在屏幕上显示距离相关主题(如奥运会)到达之时还有n年、n天和n 秒(其中的三个n各不相同,且随着程序运行动态变化),以北京时间作为主要显示板块。
程序中除了刚运行时给出一次当前标准时间值(或读出系统当前时间)外,在程序运行期间应在自己独立的用户时钟控制下,而不受外界输入影响和系统时间的束缚。
实验步骤:
1)根据实验设计需要在窗体上放上若干所需的标签控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件等,并设置各控件的必要属性值。
2)在程序中用时钟控件不断触发系统时间与预设定时间时间截止点的时间差:分别计算当前时间和预设定时间截止点之间相差的整年数、当前时间到时间截止点还差的不足一年的天数和当前时间到时间截止点之间相差的不足一天的秒数并分别显示之。
3)程序中调用系统时间综合使用了“Now”函数和“Format”函数,其完整形式为:
Format(Now, “hh:mm:ss”)
Format(Now,“mm/dd/yy”)
前者可以按照“小时:分钟:秒”的形式返回当前时间;后者可以按照“月/日/年”的形式返回。
4)为保证应用程序的灵活性,应在倒计时牌上设有暂停、继续、时间校正和结束运行等特殊要求的激发点。
5)按照需要构筑程序框架并编写应用程序。
实验四参考代码:
•Dim nYear As Long, nDay As Long, tYear As Long, tDay As Long
•Dim nSec As Long, tSec As Long
•Dim strNow1 As String, strNow2 As String
•Dim strEnd1 As String, strEnd2 As String
‘nYear,nDay,nSec为当前年和当前年距离年底的天数以及当前天已经过去的秒数,
‘tYear,tDay,tSec为预设定时间截止点的年,该年元月
1日到时间截止点的天数以及时间截止点当天零点到截止时间的秒数
•Private Sub Command1_Click()
•Timer1.Enabled = True
End Sub
•Private Sub Command2_Click()
•Timer1.Enabled = False
•End Sub
•Private Sub Command3_Click()
•Timer1.Enabled = False
•Label2.Caption = "0"
•Label4.Caption = "000"
•Label6.Caption = "00000000"
•End Sub
•Sub showDay()
•Label4.Caption = (tDay - nDay) Mod 365
•End Sub
•Sub showYear()
•Label2.Caption = tYear - nYear - 1+ (tDay + nDay) \ 365
•End Sub
•Sub showSecond()
•nSec = 86400 - nSec + tSec
•If nSec > 86400 Then
• nSec = nSec - 86400
• nDay = nDay + 1
•End If
•Label6.Caption = nSec
•End Sub
•Private Sub Command4_Click()
•End
•End Sub
•Private Sub Form_Load()
•strEnd1 = InputBox$("请输入倒计时截止日期:(格式:月-日-年)")
•strEnd2 = InputBox$("请输入倒计时截止时间:(格式:时:分:秒)")
•Label1.Caption = "距离" + Right(strEnd1, 4) + "
年" + Left(strEnd1, 2) + "月" + Mid(strEnd1, 4, 2) + "日" + "还有:"
•tYear = Val(Right(strEnd1, 4))
•tDay = (Val(Left(strEnd1, 2)) - 1) * 30 + Val(Mid(strEnd1, 2))
•tSec = Val(Left(strEnd2, 2)) * 3600 +
Val(Mid(strEnd2, 4, 2)) * 60 + Val(Right(strEnd2,
2))
•End Sub
•Private Sub Timer1_Timer()
•strNow1 = Format(Now, "mm/dd/yyyy")
•strNow2 = Format(Now, "hh:mm:ss")
•nYear = Val(Right(strNow1, 4))
•If nYear Mod 4 = 0 And nYear Mod 100 <> 0 Or nYear Mod 400 = 0 Then
• nDay = 366 - (Val(Left(strNow1, 2) - 1) * 30 + Val(Mid(strNow1, 4, 2)))
•Else
• nDay = 365 - (Val(Left(strNow1, 2) - 1) * 30 + Val(Mid(strNow1, 4, 2)))
•End If
•nSec = Val(Left(strNow2, 2)) * 3600 +
Val(Mid(strNow2, 4, 2) - 1) * 60 +
Val(Right(strNow2, 2))
•showSecond
•showDay
•showYear
•End Sub。