VB6

2024-07-11

VB6(精选9篇)

VB6 篇1

在工业控制系统中, 当数据采集完成后, 往往需要更直观的显示与控制。利用VB6.0编程实现实时数据曲线的绘制与显示, 可动态地监视某些关键参数值的变化情况与走向趋势, 以便观测。

1.绘制实时曲线的思路

实时数据曲线是数据轴和时间轴的关系曲线, 反映实时数据的大小, 并随时间变化实时更新。选择PictureBox作为绘制实时曲线的容器, 采用Line方法将各数据点绘制成首尾相接的直线, 就可实现数据曲线的绘制。

一屏数据显示完后, 结合PictureBox的CLS方法, 自动清屏, 重新绘制曲线, 即可实现数据曲线的连续显示问题。通常当前点在曲线的最右端显示, 当数据曲线到达图片框的右边缘时, 整个曲线动态地向左移动。对于显示较长的数据曲线可添加水平滚动条控件, 通过滚动条来查看数据曲线的其它部分。

2.实时数据曲线的绘制

要实现实时数据曲线的绘制, 首先应进行数据采样, 借助Timer控件, 定期将串口或其他仪器中监测到的数据送往PictureBox, 定时器定时时间到, 触发定时器事件, 进行数据点的采集, 具体实现如下:

2.1设置界面

打开VB6.0中文版, 新建一个工程, 在窗体中添加pictureBox控件。修改PictureBox的一些属性参数, 其中必须将pictureBox的atuoredraw属性设置成True, 才可以在图片框内绘制曲线。然后添加Timer控件及其它所需控件, 界面就基本设置好了。

2.2重新建立坐标系

图片框的默认坐标系, 是以其左上角为坐标原点的, 不符合我们的画线要求。采用Scale方法在PictureBox中建立合适的坐标系, 其语法如下:

Picture.scale (x1, y1) - (x2, y2)

其中 (x1, y1) 为PictureBox的左上角坐标, (x2, y2) 为右下角坐标。根据实际需要确定左上角和右下角的坐标值, 得到合适的坐标系。

绘制曲线前需将绘图范围及坐标轴刻度设定好, 然后根据测量数据及采样时间绘制实时数据曲线。为了降低绘图的复杂性, 并能控制图片背景, 可利用shape控件, 选取该控件的矩形作为绘图范围, 以矩形的左边线为纵坐标, 下边线为横坐标。用line方法绘制坐标系中的网格线, 并标记好刻度, 界面将更为美观且读数方便。

另外, 可在曲线图的中间设置一条基准线, 用一个过程

PicMidleLine () 来实现:

Private Sub PicMidleLine (picX As PictureBox)

picX.Line (0, 0) - (picX.ScaleWidth, 0) '画基准线

End Sub

2.3采用line方法绘制曲线

用VB6.0提供的line方法, 在PictureBox中画出连续的实时曲线。使用line方法的语法格式如下:

picture.line (x1, y1) - (x2, y2)

其中 (x1, y1) 为所画曲线的起点坐标, (x2, y2) 为终点坐标。

定义好变量, 在PictureBox中将此次采集的数据点与上次采集的数据点用Line方法连起来。程序代码如下:

For i=1 To num-1

X1= (i-1) :Y1=datatemp (i-1)

X2=i:Y2=datatemp (i)

Picture1.Line (X1, Y1) - (X2, Y2) '绘制数据曲线

Next i

3.结束语

在VB6.0中, 可以用PictureBox结合Timer定时器控件, 将从硬件电路通过串口传输来的数据绘制成一条实时曲线。改变Timer控件的interval值就可改变数据的采样周期。如果计算机上没有和串口相连的设备, 还可用Timer控件来模拟从串口读取的数据。

参考文献

[1]刘炳文.Visual Basic程序设计教程[M].北京:清华大学出版社, 2006.

[2]隋晏, 张学胜, 姚伟力等.VB环境中平面曲线的绘制与坐标轴刻度的标注[J].福建电脑, 2008, 5:70-71.

[3]关维娟, 陈清华.利用VB编程实现实时数据曲线绘制[J].信息技术, 2005, 10:76-78.

[4]沈祥玖.VB程序设计 (第2版) [M].北京:高等教育出版社, 2009.

VB6 篇2

下面主要介绍一下有源数据库连接。首先要注册数据源名称(DSN),通过配置ODBC环境进行数据源注册。

数据源分三类:

(1)用户DSN:只有创建数据源的用户才可以使用他们自己创建的数据源而且只能在当前计算机上使用。

(2)系统DSN:任何使用计算机的用户和程序都可以使用,

(3)文件DSN:除了具有系统DSN的功能外,还能被其他用户在其他计算机上使用。

首先,我们选择创建文件DSN,并单击添加。

www.2cto.com

其次,在创建新数据源中选择SQL Server驱动程序。

第三步,输入想要保存此链接的文件数据源的名称。

第四步,选择服务器

然后,设置登录认证

如下选项可以根据需要选择

最后,进行测试数据源。

显示成功,点击确定,文件DSN设置成功!

ODBC(Open Database Connectivity)开放数据库互联,是一种接口规范。利用ODBC可以在应用程序中同时访问多个数据库系统,ODBC最大优点是能以统一的方式处理所有的数据库。

VB6 篇3

[关键词]虚拟实验 PLC Visual Basic6.0

(一)引言

目前,PLC已被广泛地应用到机械、治金、化工、电力、轻纺、煤炭工业等各个领域中。由于可编程控制器在工业自动化领域的重要位置,使得“可编程控制器原理及应用”这门课程在高等院校、高职学院、中职学校电专业中普遍开设。而实验是辅助课堂教学的重要环节,对工程类课程的学习尤为重要。在PLC实验教学过程中,需要让学生了解各种工业场合的控制流程,针对各种工业控制对象,验证学生所编制的PLC程序是否正确。由于受到体积、价格等诸多客观条件的限制,很难在实验室配置较全面的各种工业控制对象,因而制约了实验的数量和质量。

随着虚拟技术和计算机的飞速发展,利用计算机仿真软件来完成实验成为一种全新的实验手段。实验内容不受实验室仪器设备、实验材料的限制,既可以很方便地更新、增加实验内容,又解决了实验经费不足问题,有效地提高了PLC的教学效果。

(二)PLC 虚拟实验系统

虚拟实验是在计算机系统中采用虚拟现实技术实现的各种虚拟实验环境。它是在计算机仿真基础上发展起来的一项应用技术。PLC虚拟实验系统如图1所示。其中虚线框部分为计算机虚拟实验装置,它包括硬件(信号适配器)和软件(由Visual Basic 6.0来完成)两个基本要素。计算机虚拟实验装置与PLC、控制台等一起构成PLC虚拟实验系统。

本虚拟实验系统只与PLC的输入端口、输出端口的点数和电气特性有关,与PLC串口通讯协议无关。其基本思想是:在计算机上用软件Visual Basic 6.0设计虚拟控制对象;根据对控制对象的具体要求,编写PLC程序;当PLC按程序要求动作时,通过信号适配器将PLC的输入端口、输出端口的信号转换为计算机可以接收的串行信息;通过串行口RS-232把相应的动作命令发送到计算机,驱动相应的软件系统,在计算机上就可以观察被控虚拟对象的动作过程。

软件的作用是用计算机仿真技术实现控制对象结构、动作、性能。本软件采用当前流行的面向对象编程工具--Visual Basic6.0来完成。

Visual Basic6.0语句生成器和快速提示帮助,使用户不必记忆成千上万的属性和方法,在较短的时间内就能开发出功能强大的应用程序。种类繁多、功能强大的多媒体控件,能帮助用户在较短时间内用较少的语句编写出图文声像并茂的多媒体程序。因此,我们利用Visual Basic6.0来开发PLC的虚拟控制对象,能丰富教学内容,开阔学生视野,增强教学效果。下面介绍使用Visual Basic 6.0软件,以三层电梯控制系统作为控制对象为例,设计控制对象图形界面的制作过程。

三层电梯控制系统.frm由三部分组成。左侧部分显示电梯在楼中电梯间的运动状态以及所处的位置;中间部分为电梯外部部件和实现电梯门的开门或关门;右侧部分为电梯内部控制面板的各部件。三部分有机地配合,形成了一个完整的三层电梯系统,见图2。

图2中,控制面板楼层呼叫按钮、开门按钮、关门按钮和外部上或下意向呼叫按钮共九个按钮,利用命令按钮控件的“MouseDown”、“MouseUp”事件来实现。按钮在用户按下时,引发“MouseDown”事件,通过MSComm控件输出一控制代码、信号适配器的相应端口接通,给PLC输入端口提供一个“1”信号;用户抬起时,引发“MouseUp”事件,通过MSComm控件输出一控制代码、信号适配器的相应端口断开,给PLC输入端口提供一个“0”信号。

控制面板的楼层呼叫灯和外部各层上或下意向呼叫灯,是通过分别改变其命令按钮控件的BackColor属性实现的。当呼叫灯对应的信号适配器输入端口有信号时,相应的命令按钮控件的背景颜色变为红色;当呼叫灯对应的信号适配器输入端口无信号时,相应的命令按钮控件的背景颜色变为图2中的颜色。

楼层指示灯、上行或下行指示灯利用标签控件的属性ForeColor来实现。当呼叫灯对应的信号适配器输入端口有信号时,相应的标签控件的文字颜色变为红色;当呼叫灯对应的信号适配器输入端口无信号时,相应的标签控件的文字颜色变为图2中的颜色。

电梯、电梯门是用图片框控件来描述的,电梯的上升或下降、电梯门的开门或关门用定时器控件改变图片控件的Top属性、Left属性和Width属性来实现的。电梯的上升、下降、开门、关门各用一个定时器控件,功能的实现只需设置定时器控件的Enabled属性:True、False。

楼层行程开关、开门或关门行程开关分别利用电梯、电梯门图片框控件的Top属性、Left属性与某一定值比较的结果实现的。当图片框控件和Top属性、Left属性等于各自设定的值时,通过MSComm控件输出一控制代码、信号适配器的相应端口接通;当图片框控件的Top属性、Left属性偏离各自设定值一个值时,通过MSComm控件输出一控制代码、信号适配器的相应端口断开。

电梯、电梯门还设置上上行和下行限位、开门和关门限位,以防教学实验中电梯、电梯门图片框控件移出屏幕或程序出现错误。描述电梯上升下降和开门关门过程的控制代码(略)。

(三)虚拟实验系统的应用

在教学过程中,学生除了通过虚拟对象了解实际生产过程,还必须自编PLC程序来验证程序的正确与否。此时,计算机界面上的工作过程则完全由学生编制的程序控制。针对某个控制对象编写PLC程序,当PLC按程序要求动作时,通过信号适配器将PLC的输入端口、输出端口的信号转换为计算机可以接收的串行信息;通过串行口RS-232把相应的动作命令发送到计算机,驱动相应的软件系统,在计算机上就可以观察被控虚拟对象的动作过程。

运用Visual Basic6.0,结合三层电梯控制系统实际运行原理,可以设计出较为美观的虚拟演示画面和以PLC驱动的监视画面,使其能真实的表现三层电梯控制系统的工作过程,同时可以验证学生自编的PLC程序的正确与否。最终使得设计的虚拟实验对象能够用于教学,给学生更多的PLC实际设计机会。

(四)结论

本文的创新点在于将计算机技术应用到教学中来,开发的虚拟实验系统既能真实的表现实际生产系统的工作过程,同时又可以验证学生的实际编程能力。系统具有功能全、成本低、效率高、可扩展性和可开发性强、工程实用性强等优点,可广泛应用于PLC教学中。它可以解决实验教学过程中遇到的各种困难,节约了实验经费,提高了实验的安全性,丰富学生的工程实践经验,使学生在理论和实际动手能力都得到提高,有效地提高学生培养的质量。因此,非常值得推广。

参考文献:

[1]单士源等.一种对虚拟对象进行控制的系统设计[J].微计算机信息,2003,(11).

[2]范逸之,陈立元.Visual Basic 与RS-232 串行通讯控制(最新版)[M].北京:清华大学出版社,2002.

VB6 篇4

以上这些限制都是可以方便安全地绕过的。实际上,从可能性上说,利用MSFlex Grid控件进行数据库或二维表编辑浏览能使程序员对数据实现比标准数据控件更灵活的控制,只是要付出更大的编程工作量罢了。

1 利用MSFlex Grid控件显示数据

从一开始微软就没有要将MSFlex Grid控件当作标准数据库浏览编辑控件。提供这个控件的目的是为了让程序员有一种方便灵活的手段显示所有能以二维表形式组织起来的数据,因此“数据连接(Data Bound)”功能实际上相当于“免费赠品”,难怪只支持ADO数据对象了。明白这一点就可以知道,理论上只要是VB程序能够读/写的数据库数据,都可利用MSFlex Grid控件来显示、编辑。

MSFlex Grid控件中显示的数据都存放在属性“Text Matrix”中,这个属性是一个二维字符串数组,利用两个参数:行号(Row Index)和列号(Col Index)来访问数组中的数据,数组的大小由属性“Rows”和“Cols”指定,只要正确地设定了数组大小并填上数据,MSFlex Grid控件就能按要求显示数据。

通过编写一个能读取和编辑一个Accesss2000格式数据库的程序作为说明示例。由于VB6.0是在1998年推出的,所以没有提供支持Access 2000数据格式的DAO驱动控件,因此无法用标准的Data Bound Grid控件显示和编辑Access 2000数据库。但VB6.0中提供了通用ADO数据控件,利用它6.0版的VB程序仍然能读取Access 2000数据库。只要可以获得数据,显示数据的工作MSFlex Grid控件是胜任愉快的。

图1是本例程序主窗口Form的布局。在实现中,使用了一个标准ADO数据控件(名称为ADODC1)来负责数据库数据的读取。数据读入之后就将它们填写到MSFlex Grid控件中显示,按照惯例,这些处理在窗口的Load事件中进行。

窗口Load事件的处理代码如下:

说明:

(1)程序要读取的数据库名称为“AUDIT.MDB”,位于路径“E:FMBASICAUDIT_PRJTEST”中。在上面代码中直接用ADO数据控件来读取Access 2000数据库,为此首先要设定ADODC1控件的Connection String属性和Recordset属性,然后在调用它的Refresh方法,数据读入后包含在名为rst SSPHB的ADO Recordset对象中。关于使用ADO数据控件操纵数据库的具体方法,可参考VB 6.0在线帮助系统中的相关部分。

(2)在填写数据之前要预先设置MSFlex Grid控件的Rows(总行数)和Cols(总列数)两个属性,这个动作确定了Text Matrix二维表的大小。上面代码中因为第一列要用来显示字段名所以需要有一个固定行,同时在本程序中MSFlex Grid控件还包含两个固定行。这些设定可以通过为属性Fixed Rows和Fixed Cols社定相应值来完成。

(3)上面的代码只适用于字符型和数值性的数据库数据,并且这些数据都不能为“空”。对于逻辑型的数据需要特殊处理。

(4)变量b Flag是一个标志,它的作用将在后面说明。

2 编辑数据

经过上面的处理,Access 2000数据库中的数据能够显示在MSFlex Grid控件中了,这还不够,程序还要为用户提供编辑这些数据的功能。MSFlex Grid控件不允许编辑修改显示的数据,但可以通过特殊的技术处理来绕过这个限制。想法是当用户用鼠标选择了MSFLex Grid控件中的某个单元格(Cell)时,将一个编辑控件(Text Control或Check Box)移动到这个单元格中,装入相应的数据让用户编辑;用户改变“输入焦点”时再将被修改的数据写回到MSFlex Grid控件中以保证显示的正确性。MSFlex Grid控件提供的事件使这样的控制成为可能。当用户选中某个单元格时会引发一个Enter Cell事件,在这个事件中可以为编辑控件装入初始数据并将它移动到MSFlex Grid控件中;当用户改变选中的单元格时会引发一个Leave Cell事件,这时将被修改的数据写回MSFlex Grid控件中。为了满足编辑文本和数值数据的需要,引入一个文本编辑控件(Text Control)到程序的主界面中,控件的名称为Text1,默认它的Visible属性为FALSE(不可见)。

图2是添加了编辑控件之后的程序主界面。

事件Enter Cell的处理代码:

说明:

(1)移动到MSFlex Grid控件中的编辑控件在不需要编辑时是不可见的,因此它们的Visible属性的初始值应该是FALSE。

(2)移动文本编辑控件是通过改变文本控件左上角的位置坐标来实现的,同时还需要调整文本控件的大小使它能精确地放入MSFlex Grid控件的单元格中。MSFlex Grid控件的“当前选中单元格”的宽度和高度分别由属性Cell Height和Cell Width记录,这个单元格相对于MSFlex Grid控件左上角的坐标分别由属性Cell Left和Cell Top记录。

(3)MSFlex Grid控件的“当前选中单元格”中的数据在MSFlex Grid控件的Text属性中保存。

(4)Leave Cell事件中的代码负责将编辑控件从“当前选中单元格”中移出,同时将被修改的数据写回MSFlex Grid控件中,然后隐藏文本编辑控件。

(5)由于文本编辑控件是程序员移动到MSFlex Grid控件中的,所以在MSFlex Grid控件滚动时这些文本编辑控件的位置不会自动调整,必须要程序员手工调整,因此还要处理Scroll事件。但是通过实验发现没有办法在滚动后获得MS-Flex Grid控件“当前选中单元格”的最新相对位置,所以程序只是简单地将文本编辑控件“移出”MSFlex Grid控件。

(6)请特别注意标志b Flag,这个标志的作用是保证初始化时上面三个事件的处理代码都不执行。为什么要这么做呢?原因是在实践中发现当赋值那些位于显示范围之外的单元格时也会引发Enter Cell和Leave Cell事件,不知这是不是VB 6.0版的一个bug。这时候执行这两个事件中的代码会引起错误,为此要在MSFlex Grid控件初始化时禁止Enter Cell和Leave Cell中的代码运行。

3 逻辑字段的处理

数据库中的文本或数值数据MSFlex Grid控件可以直接显示,但逻辑字段就不行。MSFlex Grid控件只能直接显示数据库中用来记录逻辑值的数值“0”或“1”,另外逻辑字段应该用单选按钮(Check Box控件)而不是文本控件来编辑,如果可能的话最好也用单选按钮的形式来显示。

可以用在MSFlex Grid控件的单元格中显示图片的方法实现以单选按钮形式显示逻辑值的要求。MSFlex Grid控件可以为每个单元格指定在其中显示的图片,当然,在显示图片的时候单元格中应该不显示文字,否则就冲突了。

本例中使用的图片是通过对屏幕硬拷贝结果进行剪切获得的,最少需要两个:“真值”和“假值”,复杂情况下需要包括“被禁止的真值”和“被禁止的假值”。图片可以是任何VB能够识别的格式,采用最通用的“位图(Bit Map)”格式。

这些位图可以用分立文件的形式保存,对此可使用LoadPicture函数来装入图片,但更好的方法是通过一个“资源文件(Resource file)”来集中相关的图片用Load Res Picture函数读入它们。资源文件VB 6本身无法生成,但可以用VC的集成开发界面生成,注意保存时一定要存为“32-bit resource file(32位资源文件)”格式,否则VB 6无法识别。资源文件要通过“Add file(添加文件)”的方式加入到工程中。

以“单选按钮”形式显示逻辑字段的代码段如下:

在主窗口的Load事件中:

移动编辑控件到MSFlex Grid的单元格中,新的Enter Cell事件处理代码:

MSFlex Grid控件的滚动事件(Scroll)有些奇怪,理论上当输入焦点在单元格中时,滚动之前应该先有一个Leave Cell事件,但实际证明没有,因此在滚动事件中要进行一些特殊处理。

说明:

(1)为了实现对逻辑字段的编辑,在主窗口Form中加入了一个单选按钮,它的名称为Check1。这是主窗口的设计图参见图3。

(2)主窗口load事件中的代码用来以单选按钮形式显示逻辑字段的值。首先判断当前显示字段是否是逻辑字段,如果是就根据值装入相应图片。程序中用函数Load Res Picture来装入图片,代码中使用的resource id(资源标示)是在VC中生成资源文件时设定的。在MSFlex Grid控件的某个单元格中显示图片只要对属性Cell Picture正确赋值就行了,要注意这个属性指出的是“当前选中单元格”中显示的图片,当前选中单元格是MSFlex Grid控件的属性Col和Row指出的单元格。

(3)Enter Cell事件中的代码用来移动编辑控件到“当前选中单元格中”,做法大致类似于移动文本控件时的做法。给单选按钮控件的左上角坐标加上常数10是因为单选按钮控件无法同当前选中单元格严格对齐。

(4)Leave Cell事件中的代码用来从MSFLex Grid中移出编辑控件以和进行其他善后工作。注意,对应于逻辑字段的Text Matrix分量中保存的是空字符串""(必须这样做,否则会破坏输出显示),因此逻辑字段的数据直接从数据库中取得并且直接写回数据库。

4“固定列”和“固定行”

图4是实用固定列和固定行显示数据的情况。

MSFlex Grid控件中可以显示“固定行”和“固定列”。固定行总是显示在最上面,固定列总是显示在最左边,固定行适合显示数据库字段名称,固定列可以用来显示记录标记。固定行和固定列不会因为横向滚动和纵向滚动而隐藏,这个特性使它们非常有用,在许多实际应用中要求表格中某些数据不会随列滚动而隐藏,这些数据就很适合显示在固定列上,如图4所示。

MSFlex Grid控件中显示多少固定行和多少固定列是由属性Fixed Rows和Fixed Cols来确定的。

5 列宽度的调整

像上面那样使用MSFlex Grid控件是不能够允许用户调整列宽度的。原因是由于无法捕获列宽度调整事件和相应信息,所以不能正确地调整相应编辑控件的位置和大小。在禁止用户手动调整列宽度时就需要通过程序来调整列宽度,使其达到最佳。这可以通过操纵属性Col Width来做到,注意,这个属性是用一维数组的形式组织的。

6 注意事项

如果用户首先选中一个单元格后将输入焦点切换到除MSFlex Grid控件之外的其他控件时不会引起Leave Cell事件。因此应该考虑在每一个可接受输入控件的Click事件中都加入保存编辑控件(文本编辑控件和单选按钮)中数据到MSFL ex Grid中的代码。

摘要:VB 6.0企业版提供的MSFlexGrid控件能够大大提高VB程序的数据显示能力。本文结合数据库编程的实例详细解释了这个功能强大的控件的使用,对数据库编程具有实际应用意义。

用VB6开发瓦斯数据管理软件 篇5

瓦斯数据管理软件采用加密的Access2000数据库, 用VB6开发。软件开发过程中主要解决了数据的串口通信问题、与数据库的接口问题。

1 瓦斯数据管理软件的主要功能

该软件包括设备设置、设备查询、数据采集、数据查询、数据备份、用户管理和密码修改等7个功能模块。

1) “数据采集”模块。将存储在设备内的瓦斯检测数据采集到计算机上, 并按检测时间的倒序显示出来;根据需要还可打印出来。如果设备已经通过“设备设置”模块登记到计算机数据库, 则显示其登记的有关信息;并将瓦斯数据存储到数据库里。

2) “数据查询”模块。按条件 (如设备ID号, 或瓦斯检测日期范围, 或瓦斯值) 查询瓦斯数据。查询到的瓦斯数据可打印统计出来;也可导出为XLS电子表格文件, 用户按自己所需格式对文件进行编辑后再打印出来。

3) “设备设置”模块。将设备登记到计算机数据库;对设备参数 (包括设备ID号、设备的时钟等) 进行修改。

4) “设备查询”模块。按条件 (如设备ID号, 或登记日期范围) 查询登记设备的有关信息;将查询到的设备信息打印统计出来。

5) “数据备份”模块。完成数据库的备份工作。

6) “用户管理”模块。由系统管理员 (admin用户) 完成用户的添加、删除, 以及修改用户的帐号、密码和权限等工作。

7) “密码修改”模块。登录用户可修改自己的密码。

2 计算机与设备的数据传输

2.1 串口通信原理

MSComm控件提供了2种处理通信的方法: (1) 事件驱动方式, 使用MSComm控件的On Comm事件来捕获和处理通信事件和错误, 然后通信程序根据MSComm控件的Comm Event属性值来执行不同的操作。 (2) 查询方式, 通过检查MSComm控件的Comm Event属性值来检测通信事件和错误。软件采用了MSComm控件的事件驱动方式来实现瓦斯数据采集。

光干涉式数显甲烷测定器的通信协议是:数据传输速率为9 600 bit/s, 8位数据位, 1位停止位, 无奇偶校验位。当设备与计算机串口相连, 且设备打开电源后, 设备会不停地向计算机串口发送设备连接字符串“Join”, 并持续10 s, 等待计算机的回应。这时如果计算机也发送设备连接字符串“Join”, 设备接收到连接指令则显示“Lint”, 表示通信连接成功。连接成功后5 s内, 如果计算机不再发送连接指令, 将断开设备通信连接。读取瓦斯检测数据的指令是:

命令符:″*Data″

返回:

每条瓦斯检测数据由16个字节组成, 具体的数据结构是:

2.2 瓦斯数据采集程序

用MSComm控件的事件驱动方式实现瓦斯数据采集的程序如下:

3 用Adodc控件来访问加密的Access2000数据库

3.1 数据库接口技术

VB可以用4种方法打开数据库, 并对其进行相关的操作: (1) 数据控件 (Data) 和数据绑定; (2) 数据访问对象 (DAO) ; (3) 远程数据对象 (RDO) ; (4) Active X数据对象 (ADO) 。其中ADO是VB6新增的对象, 是基于OLEDB数据库访问接口之上的技术, 通过ODBC的方法同数据库接口, 是一个更简单的对象模型, 更易使用。与Active X数据对象 (ADO) 相对应的Adodc控件可以打开数据库中的表, 使用SQL查询或存储过程和视图产生记录集。还可以将数据传递给数据绑定控件Data Grid显示出来。

3.2 用Adodc控件访问加密的Access2000数据库 (密码是“090417”) 程序

4 试验数据及结论

用该软件对3台光干涉式数显甲烷测定器进行了数据采集试验, 并对采集到的数据进行了各个功能模块的测试工作, 软件的主要功能窗口见图1—3。

VB6 篇6

随着计算机的快速发展, 在当前各高校普遍推行的学分制条件下, 学生上课教室的流动性使得班级概念相对弱化, 班主任、辅导员、班干部对学生的上课情况的了解和掌握较非学分制条件下有所削弱, 同时部分教师淡化课堂考勤, 导致一些学生利用学分制条件下课堂考勤监控不严而长期旷课。学分制课堂教学的新特点使传统的课堂考勤制度遇到严峻的挑战。

我院的学生考勤工作还是原始的操作, 但平时考勤, 都是由主任或任课老师在教室按照班级点名簿逐个点名。教务部门要想了解学生准确的出勤情况, 往往需要各任课老师或班主任将出勤情况进行统计汇总, 时间很长;同时, 由于文、理、工、管、经济、艺术等专业不同, 初中起专、高起专和初中起中专等层次不同, 班级多、人数多, 学生出勤记录数据检索也比较困难;而且纸质点名簿的保存也很不方便。

由于传统的学生考勤是人工记录和操作, 需要大量的人力与大量的纸张, 为了方便学生管理, 使用Visual Basic 6.0编写的一个应用程序, 节约资源, 提高学生管理工作效率。研究一种学生考勤系统的实现方法。

2、设计思路

先写出系统设计的需求分析图, 根据需求进行系统功能设计, 系统的核心是与数据库中各个表联系, 每个表的修改都将影响其他的表, 当完成对数据库的操作系统自动完成数据库的修改。

学生考勤管理系统是用Visual Basic6.0+A-DO+ACCESS2000来开发的整个系统, 在系统主要实现以下功能, 用户管理, 分为4个等级用户, 超级管理, 教师, 学生管理人员, 学生。

超级管理员的权限设置, 数据库的恢复与备份, 查看数据库修改记录情况, 添加删除普通用户, 更改普通用户的权限等级。

教师的查看学生考勤基本纲领情况, 分为详细的学年、学期和学科等的查询, 快速的实现学生考勤查询, 登记与修改学生考勤情况, 打印输出班级, 年级和专业等的考勤情况, 统计考勤的一个学期的情况并计算出相关课程的平时成绩。

学生管理人员, 能够浏览学生考勤的所有信息, 对学生的信息添加与修改管理, 查询学生的所有课程的考勤成绩, 查询条件为学生的学号、姓名、课程、年级、专业、学期、任课教师等, 实现学生信息查询, 添加、修改和删除考勤情况, 处理学生的异动情况, 能够进行学生考勤分类查询与统计, 生成统计表, 打印输出所需的考勤情况结果。

学生的功能为, 查询本人的考勤情况, 查询条件分为, 学年, 学期, 考勤成绩。

数据库设计如下21张表的设计:

2.1班级表:班级编号 (自动编号2) , 班级 (字符型20) , 班级代码 (字符型6) 。

2.2班主任姓名表:班主任编号 (自动编号2) , 班主任姓名 (字符型20) , 班主任姓名代码 (字符型6) 。

2.3教师表:教师编号 (自动编号2) , 教师姓名 (字符型20) , 教师姓名代码 (字符型6) , 系别 (字符型20) , 职称 (字符型20) , 教龄 (数字型2) , 电话 (字符型20) 。

2.4课程类型表:编号 (自动编号2) , 课程类型 (字符型30) , 课程类型代码 (字符型6) 。

2.5课程名称表:编号 (自动编号2) , 课程名称 (字符型30) , 课程名称代码 (字符型6) , 课程类型 (字符型20) 。

2.6年份表:编号 (自动编号2) , 年份 (字符型10) , 年份代码 (字符型6) 。

2.7年级表:编号 (自动编号2) , 年级 (字符型10) , 年级代码 (字符型6) 。

2.8年份表:编号 (自动编号2) , 年份 (字符型10) , 年份代码 (字符型6) 。

2.9缺勤记录人表:编号 (自动编号2) , 缺勤记录人 (字符型10) , 缺勤记录人代码 (字符型6) 。

2.10缺勤节数表:编号 (自动编号2) , 缺勤第几节数 (字符型10) , 备注 (备注) 。

2.11缺勤年份表:编号 (自动编号2) , 缺勤年份 (字符型10) , 缺勤年份代码 (字符型6) 。

2.12缺勤情况表:编号 (自动编号2) , 学号 (字符型10) , 姓名 (字符型6) , 系别 (字符型20) , , 专业 (字符型20) , 班级 (字符型20) , 学期 (字符型10) , 缺勤课程名称 (字符型20) , 缺勤年份 (字符型20) , 缺勤月份 (数字型2) , 缺勤节数 (数字型2) , 缺勤周数 (数字型2) , 缺勤类型 (字符型20) , 缺勤的任课老师 (字符型20) , 缺勤原因 (字符型20) , 学生班主任 (字符型20) , 上课地点 (字符型20) , 缺勤记录人 (字符型20) , 年级 (字符型2) , 缺勤情况备注 (备注) 。

2.13缺勤原因表:编号 (自动编号2) , 缺勤原因 (字符型10) , 缺勤原因代码 (字符型6) 。

2.14上课地点表:编号 (自动编号2) , 上课地点 (字符型10) , 上课地点代码 (字符型6) 。

2.15系别表:编号 (自动编号2) , 系别 (字符型10) , 系别代码 (字符型6) 。

2.16学期表:编号 (自动编号2) , 学期 (字符型10) , 学期代码 (字符型6) 。

2.17学生库表:编号 (自动编号2) , 学号 (字符型10) , 姓名 (字符型20) , 系别 (字符型20) , , 专业 (字符型20) , 班级 (字符型20) , 入学时间 (字符型20) , 联系电话 (字符型20) 。

2.18用户表:编号 (自动编号2) , 用户 (字符型10) , 密码 (字符型6) , 权限 (字符型6) 。

2.19月份表:编号 (自动编号2) , 月份 (字符型10) , 月份代码 (字符型6) 。

2.20周数表:编号 (自动编号2) , 周数 (字符型10) , 周数代码 (字符型6) 。

2.21专业表:编号 (自动编号2) , 专业 (字符型10) , 专业代码 (字符型6) 。

系统功能结构图:

3、程序的实现

4、程序打包

经过反复调试无错误的情况下, 在WindowsXP系统中进行程序的安装与卸载测试, 具有界面友好、易于操作、简便实用的特点。通过学院的学生考勤工作地实际运用, 系统运行良好, 稳定可靠。

5、最后总结

由于本人的水平有限, 设计的程序还存在很多的不足, 例如网络功能没能完善, 但是在今后的时间中不断完善本程序, 使程序成为安全可靠, 实现了学生考勤的无纸化、自动化和科学化的管理, 大大的提高了工作效率。

参考文献

[1]秦乐乐, 蒋佳, 崔连生.基于VB的学生信息管理系统的设计与实现[J].河北工业科技, 2006, 23 (4) :206—209.

[2]Microsoft《VB.NET程序设计语言》, 高等教育出版社, 2004

[3]孔长征, VB.NET编程实例教程, 北京希望电子出版社, 2002

VB6 篇7

根据相关市场调研,计算机软件设计、维护、管理等相关岗位需要应聘者具备软件和网站设计能力。VB6.0语言特点是简单有趣,因此其为学生学习程序设计的入门语言最佳选择。

2 课程教学设计

2.1 校企合作整合课程内容

校企合作是提高高职院校教学实践水平的一条捷径,我系和永城通胜科技公司建立有长期合作关系,其工程师被我系外聘为兼职教师。由专职和兼职教师共同完成课程教学大纲、教学计划、教学进度、教学项目的制定,保证了教学内容和企业要求零距离。其中基于VB课程开发的主要项目有:计算器、万年历、打字游戏、文件操作、投票系统、QQ、文字处理软件、论坛、学生管理系统。

2.2 教材和参考书

教材的选取对学生学习至关重要,基于高职教育特点和学生情况,我选取了国家高职高专“十一五规划教材”,其内容生动易懂,适合初学者。另外,我系计算机教研室和通胜科技公司合作编写了VB实训教材,目前正在试用阶段。

2.3 教学条件

实践教学条件是课程实施的物理条件,必须保证充分的实训条件,否则一切教学改革都是空谈。我系有具备软件设计功能实验室三个,计算机185台,软件配置整齐,可以充分满足教学和实训需要。另外计算机应用技术专业的合作企业通胜科技公司是一家以电脑、网络、软件开发、网站设计为主要业务的公司,是我系计算机专业的实训基地之一。以上实训条件基本可以满足相关的教学需要。

2.4 教学方法设计

2.4.1 学情分析及对策

以下是我系08级计算机应用技术专业学生的学情分析:(1)学生基础不好(对策:讲授演示详细);(2)多数学生自主学习能力不强(对策:项目化教学);(3)多数学生对编程不感兴趣(对策:加大实训力度)。

2.4.2 教学实施(四化一原则)教学实施坚持四化一原则即:教

学组织项目化、授课过程公司化(上课过程模拟公司化运做)、指导老师合作化、考核方式多样化。一个原则:以实训为主,基础知识够用为度。让学生在练中形成概念,在练中培养技能,在练中产生兴趣和自信,在练中迸发激情,基础知识以满足项目开发为度,从而达到突出技能教育这一高职教育目的[1]。

2.4.3 教学示例———投票系统的开发计划学时:四个学时;实

训地点:校内实训基地m302。

教学目标:通过项目的设计,让学生掌握ADO对象的使用方法,能用ADO设计网络数据库软件。

实施步骤:

(1)演示和介绍投票系统(正在用的软件或者以前同学优秀作品)30分钟。

(2)关键知识点ADO对象模型的详细演示讲解。30到60分钟。

(3)对投票系统的设计要求和进程做具体安排,学生进入开发阶段,约2个学时(期间老师要监控整个项目开发过程,适时进行干预,帮助,调整,引导)。

(4)老师检查项目开发情况,学生上交作品(20分钟)。基础知识讲授采用四步教学法:

原则:密台阶,缓进度。第一步是精讲实例,详细分析算法;第二步是让学生阅读老师给出的程序例子,然后写出结果;第三步是让学生做程序填空题或程序改错题,巩固知识的掌握;第四步是给出例题的近似题目,让学生自己独立做。

2.4.4 考核方式

本课程的评价采用平时成绩加期末实训成绩方式。其中平时成绩包括考勤、作业成绩,占40%,期末实训成绩包括作品质量、答辩分数等,占到60%。

3 教学效果

3.1 双证书通过率

2008级计算机应用技术专业学生(一班、二班)的全国计算机等级考试二级通过率是92%;2008级计算机应用技术专业学生(一班、二班)参加全国软考,程序员的通过率是64.5%。

3.2 学生对课程教学的评价

本课程的教学在学院组织的学生调查中,多年来的评价一直都是优秀。另外有多名学生的作品获得永城市和河南省的相关大赛各种奖项多部。

4 展望

4.1 进一步落实“校企合作”的办学模式和“工学结合”的人才培养模式,进一步推进和相关软件企业进行深层次的校企合作。

4.2 完善双证书教学,继续推进软考系列资格认证考试和国家计算机等级二级、三级考试。

4.3 开发和完善该课程的网络资源。

4.4 继续完善校企合作开发教材。

参考文献

[1]纪兆华,于占江,于静红.VB程序设计教学的研究[J].吉林大学学报(信息科学版),2005年S2期:99-100.

VB6 篇8

关键词:煤矿,瓦斯监测,报警,界面,串行通信,数据库,VB6.0

0 引言

目前, 由于瓦斯造成的煤矿灾害事故占到煤矿总事故的70%~80%, 因此各种瓦斯报警器应运而生, 与之对应的瓦斯监控界面也相继产生。一般的监控界面是由组态软件完成的, 鉴于组态软件的成本较高, 本文介绍一种基于VB6.0开发的瓦斯监测报警界面的设计。

1 界面的组成结构及基本功能

瓦斯监测报警界面主要由2个部分组成:串行通信模块和瓦斯浓度处理模块。瓦斯浓度处理模块包括瓦斯数据的数据库保存、实时曲线显示、历史曲线显示、预警曲线显示和数据报表显示。其结构如图1所示。

瓦斯监测报警界面的主要功能:首先利用VB6.0的串口通信控件MSComm通过某种瓦斯报警器对现场的瓦斯数据进行采集并保存在Access数据库中;其次将现场的瓦斯数据以实时曲线的形式显示当前一定时间内的瓦斯浓度, 以便于随时监测当前矿井中的瓦斯浓度, 同时可以历史曲线的形式显示过去一段时间内的瓦斯浓度, 以便于查询以往矿井中的瓦斯含量进行研究分析;提供数据报表显示以及预警曲线, 实现一定的预警功能。

2 界面的实现

2.1 Visual Basic简介

Visual Basic (以下简称VB) 是美国微软公司1991年推出的, 它提供了开发Microsoft Windows应用程序的最迅速、最简捷的方法。VB是以结构化BASIC语言为基础, 以事件驱动作为运行机制的新一代可视化程序设计语言。其中, Visual指的是开发图形用户界面 (GUI) 的方法, 它不需要编写大量代码去描述界面元素的外观和位置, 既具有Windows所特有的优良性能和图形工作环境, 又具有编程的简易性。本文所介绍的界面就是基于VB6.0开发设计的。

2.2 串行通信

瓦斯监测报警界面开发的关键在于采集到的现场瓦斯数据的准确度, 除了所用的瓦斯报警器是其中一个影响因素外, 另一个重要的影响因素就是报警器与监测界面之间的桥梁即串行通信的准确度。

硬件电路采用标准的RS232接口, 可直接将计算机和瓦斯报警器相连。信号的传输速率设定为4 800 bps。

软件主要由MSComm控件实现。MSComm控件是Microsoft提供的扩展控件, 用于支持VB程序对串口的访问, 该控件“隐藏”了大部分串口通信的底层运行过程和许多烦琐处理过程, 同时支持查询方法和事件驱动通信的机制。事件驱动通信是交互方式处理串口事务一种非常有效的方法, 通过设置MSComm控件的属性, 利用其方法和事件可以用很少的程序代码轻松实现串口的访问和数据通信。

另外需要特别注意的是:由于VB中有Byte类型变量, 但没有字节的位处理语句, 符号字节的位处理要判断符号字节的值是否大于127, 如果大于127则为负数;压缩的BCD码存入Byte类型变量, VB系统只按十进制数处理, 这要通过一个简单的算法换算, 解压BCD码才能还原成十进制表示数值。假如a是Byte类型变量, D是Single类型变量, 将一个压缩的BCD码存入a中, 则算法是:

2.3 数据库

按数据的组织方式不同, 数据库可以分为3种类型:网状数据库、层次数据库和关系数据库。其中, 关系数据库是应用最多的数据库。本文所用的数据库是Microsoft提供的Access数据库。VB中提供了DAO数据访问对象与数据库接口。应用它, 需要先把“工程”→“引用”中的“Microsoft DAO 3.6 Object Library ”选中。前提是首先在Access中建立一个数据库WSDATA.mdb。

2.4 曲线显示和数据报表显示

实时曲线、历史曲线、预警曲线均是应用MsChart控件实现的, 不同的是实时曲线采用的数据是串行端口传送的当前一段时间内的数据, 而历史曲线采用的是数据库中的数据, 用于显示过去一段时间内的瓦斯变化情况, 而预警曲线是根据现场瓦斯浓度的变化利用一定的算法实现的预测报警曲线。数据报表保存了所有采集的瓦斯数据。

瓦斯报警监测界面如图2所示, 其中显示的是实时曲线界面。

3 结语

本文基于VB6.0开发了一种能够进行瓦斯监测并报警的可视化界面。该界面具有结构简单、成本低、运行可靠等特点, 适用于矿井预防瓦斯爆炸事故。

参考文献

[1]程建军, 程绍仁.浅析瓦斯爆炸与气候变化[J].煤炭科学技术, 2002 (3) .

[2]李锋, 曾德良.基于VB6.0的串口通讯程序设计[J].现代电子技术, 2002 (1) .

[3]黄淼云, 张学忠, 王福成.Visual Basic Programming-Master[M].北京:希望电子出版社, 2001.

VB6 篇9

地质部门的测量任务中有许多是关于物探线的测量定线问题,按测量学分类属于直线的测设问题。该类问题放样点、线数据量很大,如何提取每条线的平面放样数据就成为摆在地质测量人员面前急需解决的问题。

现在地质及测量部门经常使用的成图软件有MAPGIS和加载在CAD基础上的南方CASS成图系统,都不具备按线的方向和间距提取大量坐标数据的功能,为此本人用VB6.0软件编制了一个推算物探线平面坐标数据的应用程序,推算后生成的数据文件为南方CASS数据的.DAT格式,可以在南方CASS成图软件中直接展绘。

2 处理思路

物探线一般要求5 m,10 m的点距,长度可达几千米,假定一条1 km的物探线点距5 m,则要测设201个点位。线距一般有50 m,100 m不等。而直线由起点和终点唯一确定直线的方向和距离。有了线的起点坐标和方位角就可以按下式计算间隔点的坐标:间隔点的X(或Y)坐标=起始点X(或Y)坐标+X(或Y)方向的坐标增量×(间隔点号-起始点号);

现在的关键是按点距D和线的方位角α要求算出X方向和Y方向的坐标增量ΔXY

ΔX=D×cos(α);ΔY=D×sin(α)。

注意:数学坐标格式为:X,Y与南方CASS格式中坐标格式相同,但在实际应用中的测量坐标格式为北N,东E格式。

程序结构示意图见图1。

3 具体实现

程序主界面见图2。

点击以上复选框,弹出如图3所示表单。

以下为线上点坐标增量计算程序的主要代码:

Private Sub Command1-Click()

Dim c

Dim cc

Dem“以下为将测量的方位角:度、分、秒(北东格式)装换为VB6.0要求的弧度格式。”

cc = (Int(fwj.Text) * 3600 + Int((fwj.Text - Int(fwj.Text)) * 100) * 60 + (fwj.Text * 100 - Int(fwj.Text * 100)) * 100) / 206264.81

Dem“以下为测量方位角转换为数学方位角。”

c=3.14159265358979 / 2 - cc

Dem“进行坐标增量计算,如Xzl对应于线上点的X增量。”

Form1.Xzl.Text = Cos(c) * Form2.djg

Form1.Yzl.Text = Sin(c) * Form2.djg

Form1.Xjg.Text = Cos((c + 3.14159265358979 / 2)) * Form2.xjg

Form1.Yjg.Text = Sin((c + 3.14159265358979 / 2)) * Form2.xjg

Form1.jszl.Value = 0

End Sub

主表单的程序相对简单,故不赘述。

输入全部数据的示例见图4。

以上示例中线号选择了按偶数增加。

输入必要的数据后先点击“推算坐标”再点击“显示结果”。本软件用Windows操作系统下普遍使用的文本编辑器NOTPAD.exe打开一个名称为Temp.dat的数据文件。

Temp.dat会在下一次推算数据时被刷新,故推算数据在确信正确无误后,应及时另存且不可与Temp.dat重名。

4 推算数据的检核

本软件默认安装于D:chy下。专用于物探线平面坐标的推算,推算后生成的数据文件为南方CASS数据的.DAT格式,可以在南方CASS成图软件中直接展绘。

现取推算后数据的展绘结果,用CASS的距离量测工具检核:

1)两点间实地距离=495.000 m,图上距离=495.000 mm,方位角=30°10′29.86″。2)两点间实地距离=50.000 m,图上距离=50.000 mm,方位角=300°10′28.90″。3)两点间实地距离=200.000 m,图上距离=200.000 mm,方位角=300°10′30.31″。

经过实例检测:推算精度距离误差在2 000 m内远低于毫米级,角度误差低于秒级。实际使用中由于舍入到毫米即可满足需要,故推算数据保留到毫米,这使得在CAD中的查询方向有微小的误差,实际应用中低于秒级可忽略不计。

参考文献

【VB6】推荐阅读:

上一篇:重金属残留论文下一篇:微生物及免疫学

本站热搜

    相关推荐