ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:354.85KB ,
资源ID:10592120      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10592120.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vb闹钟设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vb闹钟设计.docx

1、vb闹钟设计目 录摘 要 i第1章 概 述 11.1 引言 11.2 设计平台 1第2章 开发工具简介 22.1 VisualBasic6.0简介 22.2 运用的控件和主要对象 2第3章 设计实现 63.1画时钟表盘上的所有直线元素 63.2修改时针的形状 63.3计时器的Interval(间距)属性设置 63.4软件代码 7第4章 总 结 164.1 结论 164.2 心得体会 16参考文献 17第1章 概 述1.1 引言visual basic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求

2、我们越来越多地与计算机打交道,为了用户更加方便的,更加有舒适的心情,设计出一个比较舒心的时钟显示。1.2 设计平台VB全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。它继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户更加地使用舒心。通过这学期来Visual Basic的学习,我初步掌握了Visual Basic语言的最基本的知识,于是在张老师的指导下动手用Visual Basic编写了这款时钟软件。第2章 开发工具简介2

3、.1 VisualBasic6.0简介Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。2.2 运用的控件和主要对象 我们在设计过程中主要用到的控件有:Form,Comma

4、ndbutton,MsgBox,Label,Frame,PictureBox等控件。1、窗体(Form)窗体就是平时所说的窗口,它是VB编程中最常见的对象,也是程序设计的基础。各种控件对象必须建立在窗体上,即窗体是所有控件的容器。一个窗体对应一个窗体模块。2、 命令按钮(Commandbutton)命令按钮是VB应用程序中使用最多的控件之一,它常常用来接受用户的操作信息,激发相应的事件过程,是用户与程序交互的最简便的方法。3、 消息框(MsgBox)在Windows中,如果操作失误,通常会在屏幕上显示一个对话框,提示用户进行选择,然后系统根据选择确定其后的操作。VB提供了MsgBox函数就可以

5、实现此功能,它可以向用户传送信息,并可以接收用户在对话框上的选择,以次作为程序继续执行的依据。4、标签(Label)VB提供的标签控件只能显示文本,而不能对文本进行编辑。标签通常用于标注本身不具有Caption属性的控件。5、框架(Frame)框架主要用做控件的容器,也用于修饰界面。6、图片框(PictureBox)该控件可以用来显示图象,包括位图文件、图标文件、光标文件、元文件、增强的元文件、JPEG文件、GIF文件。7、Timer控件Windows 应用程序中常常要用到时间控制的功能,如在程序界面上显示当前时间,或者每隔多长时间触发一个事件,等等。而 Visual Basic 中的 Tim

6、er(时间)控制器就是专门解决这方面问题的控件。选中时钟控制器,将鼠标移到界面设计区,在窗体中拖出一个矩形就可以创建一个 Timer 控件了。跟其他控件不同的是,无论你绘制的矩形有多大,Timer 控件的大小都不会变外,Timer 控件只有在程序设计过程中看得见,在程序运行时是看不见的Timer事件:当Timer控件设置为有效时,计时总是从其Interval属性的设置值开始,每当计时时间到达时产生Timer事件,可以在该事件过程中编写代码,以高诉Visual Basic在每次计时时间到时该做什么。(1)Timer 控件的属性:Timer 控件可以使用 Name 属性与 Enabled 属性,但

7、最重要的是 Interval 即时间间隔属性。Interval 属性决定了时钟事件之间的间隔,以毫秒为单位,取值范围为 0 65535 ,因此其最大时间间隔不能超过 65 秒,即一分钟多一点的时间。如果把 Interval 属性设置为 1000 ,则表示每秒钟触发一个 Timer 事件。其语法格式:Timer.Interval = X ,其中,X 代表具体的时间间隔。(2)Timer 控件的 Timer (定时)事件:当一个 Timer 控件经过预定的时间间隔,将激发计时器的 Timer 事件。使用 Tim标签控件(Label)的主要事件:所谓的事件,其实就是用户对应用程序的操作,如第一章中用

8、鼠标点击命令按钮触发的 Click 事件。事件的作用在于触发程序的执行,如第一章中的 Click 事件改变了标签控件的 Caption 属性。标签控件的主要作用在于显示文本信息,但也支持一些为数不多的事件。I、Click 事件(鼠标单击):用鼠标点击标签时触发的事件,如改变标签的字体属性:Private Sub LblShow_Click()LblShow.FontName = 隶书End SubII、DbClick 事件(鼠标双击):鼠标双击引发的事件,如改变标签的可见性:Private Sub LblShow_DbClick()LblShow.Visible = FalseEnd Sub(

9、3)文件操作控件在一个应用程序中,对文件的处理是一个比较常用的操作,如打开文件、保存文件,等等。Visual Basic 提供了三个控件对磁盘文件夹与文件进行显示与操作,它们分别是:DriveListBox(磁盘列表框)控件、DirListBox(文件夹列表框)控件,以及 FileListBox(文件列表框)控件 。事件可以完成许多实用功能,如显示系统时钟、制作动画,等等(4)三个控件的连接:DriveListBox(磁盘列表框)控件DirListBox(文件夹列表框)控件FileListBox(文件列表框)控件I、在程序中,它们却是互不关连的,并不是只要在窗体中创建了它们,然后对某个控件(如

10、磁盘列表框)进行操作,其他控件就会自动显示相应的磁盘下的文件,这需要用程序进行实现。将磁盘列表框的操作赋值给文件夹列表框的 Path 属性,在磁盘列表框的 Change 事件中输入如下代码:Private Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd Sub、II、对文件夹列表框控件进行的操作,直接影响文件列表框所显示的内容:Private Sub Dir1_Change()File1.Path = Dir1.Path8、Label 控件任何一个 VB 程序都是由操作界面及与之相应的程序代码组成,而操作界面则是由诸如“命令按钮控件”、“标签控件”

11、等控件以及窗体共同组成。从本章开始,我们进入控件的学习过程。 Label(标签控件)是图形控件,主要作用在于显示文字信息,如大家比较熟悉的程序安装界面:在某个软件安装过程中,常常会显示一些帮助信息或与产品相关的介绍信息,而这些,大多是用标签控件制成的。与以后我们要学到的文本框控件(TextBox)不同的是,标签控件显示的文字不能直接进行修改,要修改的话只能在设计阶段进行;文本框既可以用来显示文本,还能够在文本框中输入文本。在 Visual Basic 工具箱中,标签控件的图标如图一所示。标签的默认名称(Name)和标题(Caption)为 LabelX(X为1、2、3,等等),规范的命名方式为

12、:LblX(X为自己定义的詞,如 LblShow 、LblRed ,等等)(1)标签控件的主要属性:I、Caption(标题)属性:此属性用来设置在标签上显示的文本信息,可以在创建界面时设置,也可以在程序中改变文本信息,如第一章的例子中,通过点击按钮改变标签显示的字样。如果要在程序中修改标题属性,代码规则如下:标签名称.Caption = 欲显示的文本LblShow.Caption = 跟我来学 VB 神童教程但是请注意,上面的代码应该写入供触发的控件对应的程序代码区。II、BorderStyle(边框)属性:本属性用来设置标签的边框类型,有两种值可选:0,代表标签无边框;1,代表标签有边框,

13、并且具有三维效果,如图二显示的两个标签:BorderStyle 属性可以在设计界面时指定 标签名.BorderStyle = 0/1(0或1,两者取一)击一下,标签有边框,再点一下,标签边框消除,再点一下,边框又出现,以此类推。回答、Font(字体)属性:本属性用来设置标签显示的字体,既可以在创建界面时设定,也可以在程序中改变。在创建界面时设定 在图四的设置界面中,除了可以选择字体,还可以设置显示文字是否为粗体、斜体、下划等。在程序中改变 Font 属性,程序代码书写规则如下:字体改变:标签名.FontName = 字体类型,其中,“字体类型”可以是中文,如“宋体”、“隶书”;也可以是英文名,

14、如“Arial”、“Times New Roman”,等等,不过,这些字体名称必须是电脑上有的。字体大小改变:标签名.FontSize = X ,其中,X 是阿拉伯数字,代表字体是几号字。如:LblShow.FontSize = 11 。粗体(FontBold)、斜体(FontItalic)、下划线(FontUnderline)、删除线(FontStrikethru)属性的设置值是代表真/假的逻辑判断值 True/False ,如下:LblShow.FontBold = True/FalseLblShow.FontItalic = True/False、Alignment(对齐)属性:此属性用

15、来设置标签上显示的文本的对齐方式,分别是:左对齐,0;右对齐,1;居中显示,2。可以在界面设置时设定, 也可以在程序中改变,代码如下:标签名.Alignment = 0/1/2 第3章 设计实现3.1画时钟表盘上的所有直线元素用Load命令建立原始Line控制的14个拷贝(因为表盘有12个点和时、分、秒共15个Line),该控制数组每一个实例的端点坐标属性设置为每条线在时钟表盘上的适当位置。这些拷贝中大多数只放置一次,而3个Line控制每秒钟更新一次,产生时钟指针移动的感觉。在应用程序代码中并没有直接擦除任何一条线。当我们改变每一个Line控制的端点时,每一根针在移动时擦除和重画的所有技术工作

16、都由VB来处理。 3.2修改时针的形状 通过调整代码中的属性设置,可以改变时钟的形状。例如:通过改变每一个Line控制的Borderwidth属性设置,可以建立更细或更粗的线。3.3计时器的Interval(间距)属性设置计时器的Interval属性设置为100,即为1/10秒。 程序的编写与执行 (1)新建工程 先新建一个工程(工程类型为标准EXE),然后用“工具箱”中的工具加入一个Timer1(计时器)和line1(直线),其index(指针)分别设置为空和、0。一、打开程序:点击桌面上的 Visual Basic 图标,在弹出的如图一的窗中选择“创建标准 EXE”按钮。图3.1 新建工程

17、窗口确定后的状态如下图。图3.2 创建的新工程下图即为编辑时钟软件的工程窗口,可执行为一个“标准 EXE”文件。具体代码如下。图3.3 时钟编辑窗口3.4软件代码1、主程序代码Private Sub Form_Load() Call PutWindowOnTop(Form1) Call drewfrm(Me.hWnd, App.Path + clockh.pfm) closewave = False Label1.Caption = Right(Format(Now, yy-mm-dd), 2) htoday = False Dim a As Integer, b As Integer, c

18、As Integer Dim inputdata As String Open App.Path + forever.dat For Input As 1 On Error Resume Next Do While Not EOF(1) Line Input #1, inputdata Select Case typetime(inputdata) Case 1 Clockf(a) = Mid$(inputdata, 5) a = a + 1 Case 3 Alertft(b) = Mid$(inputdata, 5, 5) alertfms(b) = Mid$(inputdata, 10)

19、b = b + 1 Case 4 If Mid$(inputdata, 11, 8) = Format(Now, yy-mm-dd) Then htoday = True Alertot(c) = Mid$(inputdata, 5, 5) alertoda(c) = Mid$(inputdata, 11, 8) alertoms(c) = Mid$(inputdata, 19) c = c + 1 End If End Select Loop alc = c - 1 Close #1End SubPrivate Sub Form_MouseDown(Button As Integer, Sh

20、ift As Integer, x As Single, y As Single) If Button = 2 Then PopupMenu MFile ElseIf Button = 1 Then Dim ret As Long ReleaseCapture ret& = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0) End IfEnd SubPrivate Sub Label1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Singl

21、e) Label1.ToolTipText = Format(Now, yyyy年mm月dd日hh:mm)End SubPrivate Sub Mclwav_Click() closewave = TrueEnd SubPrivate Sub Openwave_Click() closewave = FalseEnd SubPrivate Sub Showfrm_Click() Form2.Show Me.HideEnd SubPrivate Sub small_Click() Me.WindowState = 1End SubPrivate Sub Timer1_Timer() Call t

22、imemove(Format(Time$, hh:mm:ss) ts = ts + 1 If ts = 5 Then If closewave = False Then k = App.Path + clock.wav l = &H1 Or &H2 i = sndPlaySound(k, l) End If ts = 0 End If For i = 0 To 50 If Alertft(i) = Format(Time$, hh:mm) Then MsgBox alertfms(i), vbOKOnly + vbInformation + vbApplicationModal, 每日定时提醒

23、 Alertft(i) = hh:mm End If If Clockf(i) = Format(Time$, hh:mm) Then Clockf(i) = hh:mm ts = -10 k = App.Path + Cuckoo.wav l = &H1 Or &H2 i = sndPlaySound(k, l) ElseIf clockn(i) = Format(Time$, hh:mm) Then clockn(i) = hh:mm ts = -10 k = App.Path + Cuckoo.wav l = &H1 Or &H2 i = sndPlaySound(k, l) End I

24、f Next i If htoday = True Then For i = 0 To alc If Alertot(i) = Format(Time$, hh:mm) Then MsgBox alertoms(i), vbOKOnly + vbInformation + vbApplicationModal, 提醒你 Alertot(i) = hh:mm End If Next i End IfEnd Sub图3.4 时钟界面2、时钟界面子程序Private Sub Form_Load() Call PutWindowOnTop(Form2)End SubPrivate Sub Pictur

25、e1_DblClick() Form1.Show Unload MeEnd SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = 1 Then Dim ret As Long ReleaseCapture ret& = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0) End IfEnd Sub3、闹钟提醒设置图3.4 闹钟界面编辑窗口闹钟设置窗口的程序如下:Di

26、m forever As String, d As IntegerPrivate Sub Alerttxt_Click() Dim ls As Integer ls = Len(Alerttxt) Alerttxt.SelStart = 0 Alerttxt.SelLength = lsEnd SubPrivate Sub Command1_Click() Unload MeEnd SubPrivate Sub Command2_Click() If Timetxt Then Dim worktxt As String If Option1.Value = True Then worktxt

27、= 闹铃 Else worktxt = 提醒 End If If Option3.Value = True Then worktxt = worktxt + 每日 Else worktxt = worktxt + 今次 End If If Option2.Value = True Then If Option4.Value = True Then worktxt = worktxt + Timetxt + # + Datetxt + Alerttxt b = True Else worktxt = worktxt + Timetxt + Alerttxt End If Else worktxt

28、 = worktxt + Timetxt End If If Text1.Enabled = True Then If Text1.Text Then Text1.Text = Text1.Text + vbCrLf + worktxt Else Text1.Text = worktxt End If Open App.Path + forever.dat For Output As 1 Print #1, Text1.Text Close #1 forever = Text1.Text ElseIf Text2.Enabled = True Then If Text2 Then Text2.

29、Text = Text2.Text + vbCrLf + worktxt Else Text2.Text = worktxt End If End If End IfEnd SubPrivate Sub Form_Load() Dim inputdata As String Open App.Path + forever.dat For Input As 1 On Error Resume Next Line Input #1, inputdata forever = inputdata Do While Not EOF(1) Line Input #1, inputdata forever

30、= forever + vbCrLf + inputdata Loop Close #1 Dim sl As Integer If clockn(0) Then Text2.Text = 闹铃今次 + clockn(0) End If For sl = 1 To 50 If clockn(sl) Then Text2.Text = Text2.Text + vbCrLf + 闹铃今次 + clockn(sl) End If Next sl Text1.Text = forever Option4.Value = True Option2.Value = True Text1.Enabled = True Text2.Enabled = FalseEnd SubPrivate Sub Form_Unload(Cancel As Integer) If Text1 forever Then Open App.Path + forever.dat For Output As 1 Print #1, Text1.Text Close #1 End If Dim start As Integer, last As Integer

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1