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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于visual basic瓦斯报警监控系统.docx

1、基于visual basic瓦斯报警监控系统*大学课程设计基于VB的瓦斯报警监控系统单 位 专 业 学 号 学生姓名 指导教师 完成日期2010 年 09月15 日摘要计算机技术的发展促进了程序语言的发展,特别是面向对象程序设计语言的出现,极大的改进了传统的程序设计方法。Visual basic 是一个功能强大的应用程序开发工具,它具有可视化的界面设计技术、面向对象的程序设计方法。事件驱动的编程机制。支持动态数据交换(DDE)技术和对象的链接与嵌入(OLE)技术,支持数据库的访问,支持多媒体和网络开发等特点。VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序

2、的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。近几年煤矿事件频发 ,而矿难多与瓦斯浓度过高有关,因此对煤矿瓦斯浓度的监控并采取必要措施避免矿难的发生已刻不容缓。瓦斯报警监控系统是基于visual basic语言的瓦斯浓度监控系统,它能有效监测瓦斯浓度并能够及时报警。论文主要围绕visual basic语言的体系结构,介绍了瓦斯监控系统的总体分析与设计,包括用户管理、功能模块分析、数据获取和数据库设计。最后,利用dat

3、a report对报表打印进行了实现,并作了详细描述,主要采用图片与代码结合的方式详细地叙述了系统功能的实现。关键词:瓦斯监控系统,visual basic,数据库,控件,data report目录摘要 21系统功能需求分析 41.1系统概述 41.2组成及各模块功能 41.3运行环境 42系统设计 42.1设计思想 42.2流程图 43 系统实现 53.1 源代码 53.1.1 用户登录 53.1.2用户注册 63.1.3用户密码修改 63.1.4 绘制实时动态曲线 63.1.5 datagrid控件和数据库 63.2 界面抓图和系统使用 63.2.1 开始界面 63.2.2 用户登录界面

4、63.2.3 用户注册界面 63.2.4 用户密码修改界面 63.2.5 动态数据曲线界面 63.2.6 采用datagrid控件显示数据 63.2.7 报表打印 64 总结 65 参考文献 65.1 visual basic程序设计(第二版), 王学军 张玉梅 中国铁道出版社 65.2 Visual Basic 6.0绘制实时曲线 ,编程爱好者博客http:/ 61系统功能需求分析1.1系统概述瓦斯监控系统基于visual basic 语言设计,是集数据提取,数据描绘,数据处理,数据实现于一体的监控瓦斯浓度的系统,并能实现瓦斯浓度超标报警的功能。系统引入了vb的基本功能及模块,成功运用acc

5、ess数据库和data report报表。1.2组成及各模块功能 Access实现了数据的存储、提取功能,构成了该系统的核心部分,用户的管理和瓦斯浓度的监测都用到了该组件。Vb庞大的控件和模块为该系统提供了支持,data report实现了报表的打印,使得瓦斯浓度数据更加直观的展现并能够打印。1.3运行环境 该系统既可以在visual basic程序中运行,也可以转换成exe格式,能够在任意环境下不需安装运行。2系统设计2.1设计思想近几年瓦斯事故频繁发生,而基于visual basic语言能够实现瓦斯浓度的监控。2.2流程图瓦斯报警监控系统用户管理数据处理数据库用户删除用户密码修改用户登录报

6、表制作实时曲线绘制随即函数监控报警数据获取数据打印用户注册3 系统实现3.1 源代码3.1.1 用户登录与数据库链接,实现了用户名和密码的验证登陆Dim trytimes As IntegerPrivate Sub Command1_Click() If Text1.Text = Or Text2.Text = Then MsgBox 用户名或密码不能为空,请重新输入!, vbOKOnly + vbExclamation, 警告 Text1.SetFocus Else Adodc1.RecordSource = select * from 用户表 where 用户名= & Text1.Text

7、 & and 密码= & Text2.Text & Adodc1.Refresh If Adodc1.Recordset.EOF = True Then MsgBox 用户名或密码输入错误,请重新输入!, vbOKOnly + vbExclamation, 警告 Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Text1.SetFocus trytimes = trytimes + 1 If trytimes = 3 Then MsgBox 您已经三次尝试本系统,均不成功,系统将关闭, vbOKOnly + vbExclamation,

8、 警告 Unload Me End If Else Me.Hide Form6.Show End If End IfEnd SubPrivate Sub Command2_Click() EndEnd SubPrivate Sub Command3_Click() Form2.Show Form2.Text1.SetFocusEnd SubPrivate Sub Command4_Click() Me.Hide Form3.ShowEnd SubPrivate Sub Timer1_Timer()End SubPrivate Sub Command5_Click()Me.HideForm6.S

9、howEnd Sub3.1.2用户注册采用数据库实现了用户的注册Private Sub Command1_Click() If Text1.Text = Then MsgBox 请输入用户名!, vbOKOnly + vbExclamation, 信息提示 Text1.SetFocus Else Adodc1.RecordSource = select * from 用户表 where 用户名= & Text1.Text & Adodc1.Refresh If Not Adodc1.Recordset.EOF Then MsgBox 用户名已存在,请重新输入用户名!, vbOKOnly + v

10、bExclamation, 信息提示 Text1.SetFocus Text1.Text = : Text2.Text = : Text3.Text = Else If Text2.Text Text3.Text Then MsgBox 两次输入密码不一样,请确认!, vbOKOnly + vbExclamation, 警告 Text2.SetFocus Text2.Text = : Text3.Text = Else Adodc1.RecordSource = select * from 用户表 With Adodc1.Recordset Adodc1.Recordset.AddNew Ad

11、odc1.Recordset.Fields(用户名) = Text1.Text Adodc1.Recordset.Fields(密码) = Text2.Text Adodc1.Recordset.Update Adodc1.Recordset.Close End With MsgBox 添加用户成功!, vbOKOnly + vbExclamation, 添加用户 Me.Hide Form1.Show End If End If End If End SubPrivate Sub Command2_Click() Me.Hide Form1.ShowEnd Sub3.1.3用户密码修改数据库的

12、应用实现了用户密码的修改Private Sub Command1_Click()If Text1.Text = Then MsgBox 请输入用户名!, vbOKOnly + vbExclamation, 信息提示 Text1.SetFocusElse Adodc1.RecordSource = select * from 用户表 where 用户名= & Text1.Text & and 密码= & Text2.Text & Adodc1.Refresh If Adodc1.Recordset.EOF = True Then MsgBox 用户名或密码输入错误,请重新输入!, vbOKOnl

13、y + vbExclamation, 警告 Text1.SetFocus Text1.Text = : Text2.Text = : Text3.Text = : Text4.Text = Else If Text3.Text Text4.Text Then MsgBox 密码输入不正确,请确认, vbOKOnly + vbExclamation, 信息提示 Text3.SetFocus Text3.Text = : Text4.Text = Else Adodc1.RecordSource = select * from 用户表 where 用户名= & Text1.Text & Adodc

14、1.Refresh Adodc1.Recordset.Fields(密码) = Text3.Text Adodc1.Recordset.Update MsgBox 密码修改成功!, vbOKOnly + vbExclamation, 密码修改 Text1.Text = : Text2.Text = : Text3.Text = : Text4.Text = Me.Hide Form1.Show End If End IfEnd IfEnd SubPrivate Sub Command2_Click() Me.Hide Form1.ShowEnd Sub3.1.4 绘制实时动态曲线采用数据库,p

15、icture box控件,line方法实现实时动态曲线的描绘,采用随机函数模拟瓦斯浓度Option ExplicitDim DataFromCom As Integer 从串口读过来的实时值Dim DataFromComLast As Integer 上次的串口值Dim TimeCount As IntegerDim a As Integer 从串口读过来的实时值Dim b As Integer 上次的串口值Dim c As IntegerDim d As Integer 从串口读过来的实时值Dim e As Integer 上次的串口值Dim f As IntegerPrivate Sub

16、PicScale(picX As PictureBox) 调整图像框的坐标系picX.Scale (0, picX.ScaleHeight)-(picX.ScaleWidth, -picX.ScaleHeight)End SubPrivate Sub PicMidleLine(picX As PictureBox) 在图像框中画一条中线picX.Line (0, 0)-(picX.ScaleWidth, 0), vbGreen 画出中线End SubPrivate Sub DrawRealLine(picX As PictureBox, TIMECOUNTX As Integer, DataF

17、romComX As Integer, DataFromComLastX As Integer, ax As Integer, bx As Integer, cx As Integer, dx As Integer, ex As Integer, fx As Integer)If TIMECOUNTX = 0 ThenpicX.Line (TIMECOUNTX - 1) * 10, DataFromComLastX)-(TIMECOUNTX * 10, DataFromComX), vbWhiteEnd IfIf ax = 0 ThenpicX.Line (ax - 1) * 10, cx)-

18、(ax * 10, bx), vbRedEnd IfIf dx = 0 ThenpicX.Line (dx - 1) * 10, fx)-(dx * 10, ex), vbYellowEnd IfEnd SubPrivate Sub Command1_Click()Unload MeForm4.ShowEnd SubPrivate Sub Command2_Click()Unload MeForm1.Showend SubPrivate Sub Pic_Click()End SubPrivate Sub Timer1_Timer()DataFromComLast = DataFromComc

19、= bf = eRandomizeDataFromCom = 3000 * Rnd + 1000Randomizeb = 3000 * Rnd + 1000Randomizee = 3000 * Rnd + 1000If DataFromCom 3900 ThenMsgBox 一区瓦斯浓度超标,请采取措施, vbOKOnly, 警告 End If If b 3900 ThenMsgBox 二区瓦斯浓度超标,请采取措施, vbOKOnly, 警告 End If If e 3900 ThenMsgBox 三区瓦斯浓度超标,请采取措施, vbOKOnly, 警告 End Ifa = a + 5d =

20、 d + 5TimeCount = TimeCount + 5DrawRealLine Pic, TimeCount, DataFromCom, DataFromComLast, a, b, c, d, e, f 画出实时的曲线End SubPrivate Sub Timer2_Timer()Label3.Caption = Hour(Now) & : & Minute(Now) & : & Second(Now)End SubPrivate Sub Timer3_Timer() Adodc1.RecordSource = select * from 瓦斯浓度表 where 监测点= & Te

21、xt1.Text & Adodc1.RecordSource = select * from 瓦斯浓度表 where 时间= & Hour(Now) & : & Minute(Now) & : & Second(Now) & Adodc1.RecordSource = select * from 瓦斯浓度表 where 瓦斯浓度= & DataFromCom & ” Adodc1.Refresh Adodc1.RecordSource = select * from 瓦斯浓度表 With Adodc1.Recordset Adodc1.Recordset.AddNew Adodc1.Recor

22、dset.Fields(时间) = Hour(Now) & : & Minute(Now) & : & Second(Now) Adodc1.Recordset.Fields(监测点) = Text1.Text Adodc1.Recordset.Fields(瓦斯浓度) = DataFromCom Adodc1.Recordset.Update End WithEnd SubPrivate Sub Timer4_Timer()Adodc1.RecordSource = select * from 瓦斯浓度表 where 监测点= & Text2.Text & Adodc1.RecordSour

23、ce = select * from 瓦斯浓度表 where 时间= & Hour(Now) & : & Minute(Now) & : & Second(Now) & Adodc1.RecordSource = select * from 瓦斯浓度表 where 瓦斯浓度= & b & Adodc1.Refresh Adodc1.RecordSource = select * from 瓦斯浓度表 With Adodc1.Recordset Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(时间) = Hour(Now) & : & Minute

24、(Now) & : & Second(Now) Adodc1.Recordset.Fields(监测点) = Text2.Text Adodc1.Recordset.Fields(瓦斯浓度) = b Adodc1.Recordset.Update End WithEnd SubPrivate Sub Timer5_Timer()Adodc1.RecordSource = select * from 瓦斯浓度表 where 监测点= & Text3.Text & Adodc1.RecordSource = select * from 瓦斯浓度表 where 时间= & Hour(Now) & :

25、 & Minute(Now) & : & Second(Now) & Adodc1.RecordSource = select * from 瓦斯浓度表 where 瓦斯浓度= & e & Adodc1.Refresh Adodc1.RecordSource = select * from 瓦斯浓度表 With Adodc1.Recordset Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(时间) = Hour(Now) & : & Minute(Now) & : & Second(Now) Adodc1.Recordset.Fields(监测

26、点) = Text3.Text Adodc1.Recordset.Fields(瓦斯浓度) = e Adodc1.Recordset.Update End WithEnd Sub3.1.5 datagrid控件和数据库Private Sub Command1_Click()DataReport1.ShowEnd SubPrivate Sub Command2_Click()Me.HideForm6.ShowEnd Sub3.2 界面抓图和系统使用3.2.1 开始界面使用photoshop图片处理软件制作3.2.2 用户登录界面登录界面由用户名、密码、登录按钮、退出按钮、注册按钮、修改密码按钮组

27、成。登录时写入用户名和密码单击登录按钮进行登录,修改密码和注册新用户直接按相应的按钮。3.2.3 用户注册界面注册界面由用户名、密码、确认密码组成,注册用户是输入用户名和密码,确认密码和密码要相同,然后单击注册。3.2.4 用户密码修改界面用户密码修改界面由用户名、原密码、密码、确认密码、确认键组成。输入用户名和原来密码 ,再输入新密码,单击确认键。3.2.5 动态数据曲线界面动态函数曲线界面由pictures box控件、打印报表、返回键组成。在pictures box中以实时动态函数曲线的形式展示了瓦斯浓度。独有的监控系统让使用者轻松发现瓦斯浓度超标情况 ,采取有效措施。单击打印报表键能够

28、实现瓦斯浓度数据的打印。3.2.6 采用datagrid控件显示数据在瓦斯浓度表上清晰的显示出来各个监测点在各个时间的瓦斯浓度 ,为报表的打印做好了基础。单击打印报表即可进行报表的打印。3.2.7 报表打印datareport控件和dataenvironment控件的结合,实现报表打印,相应数据清晰显示。关闭报表时只需关闭报表窗口即可 。4 总结选题时,瓦斯报警监控系统让我眼睛一亮,这是一个具有超级现实意义的系统,有很强的实用型,引起了我的兴趣,毫不犹豫的选择了它。咋一接触,发现它并没有开始想象的让人心动,它的核心需要数据库知识,需要报表打印,这都是从来没有学过的,而最为困难的是实现数据已动态

29、曲线形式体现。我暗自为自己的选择后悔,但他的困难又激发了我征服她它的欲望,对他的的编程就如同是一条荆棘之路。每一点都需要学习因为从未接触过数据库、报表、实时曲线,从头开始。年前学弟基础也有部分遗忘,让我的编程难上加难。让我一度不知所措、急躁不安。前几天仅仅完成了用户的管理部分,后面的硬骨头毫无进展。仅仅实时动态曲线的知识就让我查阅了两天。初步学会了line方法和picture box控件的使用。我班的国伟一步一步脚踏实地地做,不会的就查书,在我之前就做好了用户管理的数据库,让我新生敬意,也让我很是惭愧,感觉自己太不用功了。第一次阶段性检查,我做的不好,成绩不高,我暗下决心一定要努力做的尽可能完美,取得一个较好的成绩。因此我采用了不同于其他两个同学的动态实时曲线。15号下午,我完成了程序的设计,对自己的设计颇为满意。很不幸,晚上我选的那台机器竟然有病毒,1k快捷方式病毒把我的文件都给变成快捷方式了。我满怀信心的用1k快捷杀毒软件查杀了我的U盘,但是我的大部分文件都被删除了,设计的程序就在其中 。我顿时紧张起来,这可是我花了9天时间做的啊,最重要的是老师还要检查,而我第一阶段检查的成绩很差。我尝试着在网络上查找一些可以恢复文件的方法,最终我用金山U盘专杀把我的文件给修复了,不过是下午之

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

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