风机实验数据分析系统 毕业论文.doc

上传人:椰子壳 文档编号:3975949 上传时间:2019-10-11 格式:DOC 页数:37 大小:1.08MB
返回 下载 相关 举报
风机实验数据分析系统 毕业论文.doc_第1页
第1页 / 共37页
风机实验数据分析系统 毕业论文.doc_第2页
第2页 / 共37页
风机实验数据分析系统 毕业论文.doc_第3页
第3页 / 共37页
风机实验数据分析系统 毕业论文.doc_第4页
第4页 / 共37页
风机实验数据分析系统 毕业论文.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《风机实验数据分析系统 毕业论文.doc》由会员分享,可在线阅读,更多相关《风机实验数据分析系统 毕业论文.doc(37页珍藏版)》请在三一文库上搜索。

1、 摘 要本文主要按软件的设计思路对软件的设计过程进行描述,对软件设计过程中需要做的一些工作,相关知识的学习,以及设计过程中遇到的问题和解决方法等问题的详细说明。从整体来讲本次设计的实验性软件需要完成实验过程参数的选择、计算,性能曲线的绘制,对此本文从设计角度讲述软件设计的技巧,设计方案的选定,代码的编辑,以及数据库的应用,最终通过本软件完成实验要求,设计出一个用VB语言编写的风机实验软件。关键词 风机 实验 数据库 性能曲线 AbstractIn this paper, it is described according to the design thinking of software i

2、n the software design process, and elaborate on the work needs to do during software design process, related knowledge of learning, as well as the problems in the design process and solution of problems.Generally speaking, the design of experimental software needed to complete the selection of exper

3、iment process parameter and calculation and the drawing of performance curve. From the design Angle, this paper talk about software design techniques, selection of design scheme, the code editor, and database application, finally complete the requirement of the experiment through the software , desi

4、gn a fan experimental software written in VB language.Keywords: fan experiment data base characteristic performance curve 前言泵与风机广泛地应用在国民经济的各个方面,如农田的灌溉和排涝,采矿工业中井下通风和坑道排水,水力采煤中的液体输送,冶金工业中冶炼炉的鼓风及流体的输送,石油工业中的输油和注水,化学工业中的流体介质输送,城市给排水以及舰艇、航空航天的动力系统等。所以对于泵与风机性能的研究同样有着很重要的意义。电能是国民经济中至关重要的能源,热力发电在电力生产中占据着主导的

5、地位,泵与风机是热电厂重要的辅机。其中泵与风机耗电量占厂用电的比例也是很高的。因此,正确地使用泵与风机,努力提高泵与风机运行效率与从设计角度提高泵与风机设备效率具有同样重要的价值。在实际中,很多地方会用到对风机性能的评估实验,例如学校、电厂、机械制造单位以及其他一些社会产业,为方便实现风机性能实验,随着计算机科学技术的发展利用计算机技术来设计方便快捷的软件以帮助实现泵与风机性能测试,从而对所需设备进行评估,因此泵与风机实验软件在众多功能软件中有着其自身价值。 第一章 方案选择1.1 设计思路本风机软件的功能在于应用软件从外界采集数据,通过计算得出风机相关性能参数,在数据数量足够的情况下绘制性能

6、曲线。1.2 专业知识准备及计算1.2.1 风量风机的风量是指单位时间内从风机出口排出的气体的体积,并以风机入口处气体的状态计,用Q表示,单位为m/h。1.2.2 风压风机的风压是指单位体积的气体流过风机时获得的能量,以Pt表示,单位为J/m=N/,由于Pt的单位与压力的单位相同,所以称为风压。用下表1、2分别表示进口与出口的状态。在风机的吸入口与压出口只见,列柏努力方程:以上各项均乘以rg并加以整理得:对于气体,式中r(气体密度)值比较小,故rg(Z2-Z1)可以忽略;因进口管段很短,rgHf也可以忽略。当空气直接由大气进入通风机,则也可以忽略。因此,上述的柏努力方程可以简化成:上式中(P2

7、-P1)称为静风压,以Pst表示。称为动风压,用Pd表示。离心风机出口处气流速度比较大,因此动风压不能忽略。离心风机的风压为静风压和动风压之和,又称为全风压或全压。风机性能表上所列的风压指的是全风压。1.3 对象实验分析流体流经风机时,不可避免的会遇到重重流动阻力,产生能量损失。由于流动的复杂性,这些能量损失无法从理论上做出精确计算,也因此无法从理论上求得实际风压的数值。因此,一定转速下的风机的Pt-Q、N-Q、h-Q之间的关系,即特性曲线,需要实验测定。1.3.1 风量Q的测定我们可以通过测量管路中气体的动风压来确定风量的大小。我们在管路的适当位置(必须使气体流动的稳定管段)安装一个测量动压

8、头的装置皮托管。假设皮托管测得的动风压为Pd,测量中,动风压常用水柱高度hd表示:则有: Pa所以: m/s若假设测量位置的管径为D则有:1.3.2 静风压和全压的测定由前面的式子可以得到实验中测定静风压和全风压的方法。(P2-P1)为静风压,可以通过风机出口处的静压管测得,由于P1为大气压强,因此静压管的一段可以直接和大气相通;为动风压,可以通过管路中安装的皮托管测量得到。1.3.3 风机的有效功率和功率由于风机在运转过程中存在种种能量损失,似的风机的实际风压比理论风压值要低,而输入风机的功率要比理论值高,所以风机的总效率可以为:其中Ne为风机的有效功率: KwN轴为电机输入风机的功率:N轴

9、=K*N电*h电*h传以上各式中:Q风量,m/hPt全风压,N/K用标准功率机校正功率标的校正系数,这里取1.0N电电机的输入功率,Kwh电电机效率,取0.95h传传动装置的传动效率,取0.981.4 数据处理风机的风压有全风压和静风压之分,所以,风机的特性曲线比离心泵特性曲线多两条,即一定转速下的Pt-Q,Pst-Q,N-Q,h-Q,hst-Q五条曲线。由于标准的风机的特性曲线是在20C及 760mmHg条件下测定的,在此条件下空气的密度为1. 2Kg/m3,因此, 我们应当对测得的数据进行换算。风压换算:式中Pt0,r0为规定状态下的风压和气体密度;Pt和r为操作状态下的风压和气体密度。所

10、以:计算功率时,如果Pt用实际风压,则Q用实际风量;如果Pt用校正为规定状态下的风压Pt0,则风量也需校正到规定状态。调整方法同上。第二章 页面设计选择本软件由七个窗体组成,其中包括几种不同页面,分别为:进入界面、数据采集界面、作图选择界面、读取记录页面、性能曲线显示界面。2.1 欢迎界面进入界面即一般程序的欢迎界面,为表主题选择风机图片作为背景,如图所示图1 软件进入界面在本界面中有两个command控件,一个Image控件组成,在Image的picture 属性下选择图片作为背景。command1和command2分别命名为进入和退出,以完成进入主程序和直接退出功能,为增加观赏性,我还未这

11、两个控件添加了背景颜色和动态图标,点击进入按钮,按钮上锁闭状态下的锁会显示打开状,点击退出按钮,原本打开状态的锁会闭合。2.2 采集页面根据实验要求,风机入口压力、出口压力、转速、风量、功率均由外界采集获得,同时全压和效率由计算获得,故此页面设计中主数据采集页面的设计如下图所示图2 数据采集界面上图中用到的控件分别为:Frame控件:形成各风机采集数据主体面板,其上放置其他附属控件以显示各数据名称及数值。Label控件:显示各数据名称。TextBox控件:该控件为图中空白部分用于显示数据,它将与数据控件相连,以显示数据,并由此保存到数据库。根据采集页面设计几个按钮完成指定任务,如图3图3 控制

12、按钮上图六个控件按钮均为command控件,用于完成下述功能:点击数据采集按钮,系统自动从数据库中采集一组数据赋予图2中四组风机参数,完成模拟从外界采集数据。点击计算按钮,风机的全压和效率被计算出来并显示在相应位置。点击保存数据,上述各组数据被保存到“保存数据”Access数据库中同时刷新数据栏,以方便下次采集数据,同时采集数据按钮上方的已保存数据个数发生变化,进行记录采集次数,如图4。图4 记录器2.3 读取页面读取数据按钮,用于从保存的数据中读取以前的数据。如下图图5 读取数据界面此处用到DataGrid控件,用于连接数据库,显示数据库中数控。2.4 作图页面点击作图按钮,弹出一个窗体对要

13、作图的风机号进行选择,如下图图6 作图选择界面在本窗口中选择需要作图的风机号,点击确定按钮进行选择并显示作图页面如图7,点击返回按钮返回数据采集页面。在图7中完成作图任务,显示性能曲线。点击作图按钮,三个坐标系中显示出对应所采集到的数据的曲线,即对应流量下各数据之间关系的性能曲线。点击返回按钮,界面退出并返回到作图选择窗口,可以重新选择要作图的风机。在图6所示窗体中,用到Option控件,该控件用于选择需要作图的风机。图7中三个作图主体应用的是pictureBox控件,在pictureBox的基础上,通过对程序的编写绘制如图所示坐标系,并在采集到足够数据后进行作图。另外绿、红、蓝三个色块也是用

14、PictureBox设计,只需要更改相关控件属性栏中backcolor属性为所需颜色即可。图7 作图界面第三章 数据库的应用根据设计目的,本软件要在实验的基础上进行采集数据,由于设备条件不够,对于数据采集方面,我用产生随机数代替从外界应用采集设备采集数据的步骤,以便完成计算及作图步骤。同时建立数据库进行数据的存储和读取任务。使用ADO访问数据,ADO的Connection对象用于链接数据源。在代码中使用Connection对象之前,首先要定义一个新的Connection对象,如果要链接数据库,则在连接数据库之前首先要明确数据库的类型,本软件中使用的数据库类型均为Access数据库。Record

15、set对象可以进行数据的运动、搜索、添加、删除、更新等。Command对象用于定义将对数据源执行的命令,主要用于提供一个通过SQL命令来操纵数据库的功能。本软件中连接数据库使用Adodc控件,该控件集上述几项功能于一身,使用该控件操作数据库,可以避免编写许多代码,在可是的环境上就可以直接完成许多操作。使用Adodc控件之前,需要先将其添加带当前工程中 ,在默认情况下没有这个控件。在“工程”菜单下的“部件”命令,打开“部件”对话框,在“控件”选项卡的部件列表中选择“Microsoft ADO Data Control 6.0(OLEDB)”选项,将Adodc控件添加到工具箱中。使用Adodc控件

16、的属性可以快速的建立和数据库的连接。可以在属性窗口中直接设置其属性,也可以在其“属性页”对话框中进行设置。用鼠标右击窗体上Adodc控件,在快捷菜单中选择“ADODC属性”,打开“属性页”对话框,如图8所示。图8 属性页ConnectionString属性包含了用于与数据库连接的相关信息。在“通用”选项卡的“连接资源”中选择“使用连接字符串”,单击“生成”按钮,将打开一个“数据链接属性”对话框的“提供程序”选项卡,如图9所示。图9 数据链接属性我在该选项卡中选择的是“Microsoft Jet 4.0 OLE DB Provider”,然后单击“下一步”按钮,则打开该对话框的“连接”选项卡,如

17、图10所示。图10 链接路径用鼠标单击“选择或输入数据库名称”框右边的“.”按钮,选择所要连接的数据库路径及名称,选择完单击“测试连接”按钮。如果显示“测试连接成功”消息框,则表示连接成功,否则表示连接失败。单击“确定”按钮,回到“属性页”对话框,这时可以看出在“使用连接字符串”框中已经生成了一个连接字符串,内容如下:“Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=userrainDesktop风机实验软件保存数据.mdb”该生成的字符串即为ConnectionString属性值,也可以在属性窗

18、口直接设置ConnectionString属性值为以上字符串。RecordSource属性用于确定具体可以访问的数据,这些数据构成了记录集对象Recordset。该属性值可以是一个表名称、一个储存查询或一个查询字符串,这里为一个表名称。在Adodc控件的“属性页”对话框中使用“记录源”选项卡,如图11所示。在该选项卡中可以选择数据源的类型,如果选择表或一个已经建立的查询,可以从“记录源”选项卡的“命令类型”下拉列表中选择2-adCmdTable,根据数据源类型再进一步在“表或储存过程名称”下拉列表中选择数据源,或在命令文本中直接输入SQL查询命令。图11 记录源选择将控件与“保存数据”Acce

19、ss数据库相连接,同时需要设置主界面(数据采集界面)下相关text控件属性,以便与数据库通过Adodc控件建立联系。如图2中入口压力,出口压力,流量,转速,电机功率,全压,效率这些参数后面text控件都需要与adodc控件建立联系,图2中所显示为运行状态下界面,该界面下Adodc控件为隐藏形式,不可见,在设计过程中如下图12所示。图12 设计状态下数据采集页面将text控件与Adodc控件建立联系方法如下:选中需要建立联系的text控件,在右侧属性栏中找到DataSource属性,在下拉菜单中选择相对应的控件,由图12可见设计中用到四个Adodc控件,分别为Adodc1,Adodc2,Adod

20、c3,Adodc4,以一号风机为例,该Frame框架下的text控件都选择与Adodc1相连,在属性栏中DataField属性后下拉菜单中选择与之相对应的名称,如此一来,text中产生的数据便与Access数据库连接到了一起,再通过编辑代码和相应的命令控件,便可以完成对数据的保存。为能够实现从Access数据库中读取数据,应用DataGrid控件与Adodc配合使用, 同样图5是在运行模式下获得的图片,该图中没有Adodc控件,是由于该窗体中Adodc控件也非可见,在编辑状态下如下图图13 设计状态下读取数据页面对Adodc控件的操作同前面相似,在右击快捷菜单中选择属性连接“保存数据”Acce

21、ss数据库,完成前面所有步骤,将Adodc1、Adodc2、Adodc3、Adodc4分别同表1、表2、表3、表4相连,再选择DataGrid控件,在属性栏下DataSource属性下拉菜单中选择所对应的Adodc控件,如此一来,在运行状态下Access数据库中数据就会对应显示在各DataGrid控件中。第四章 程序编辑思路本风机实验软件的设计思路比较简单,对于程序编辑方面,我们按照程序界面顺序进行叙述。4.1 进入界面程序设计如图1所示的软件进入界面进入界面背景选择为应用Image控件连接一张风机图片,彰显主题。两个按钮,进入按钮和退出按钮。其中进入按钮应用Show语句,退出按钮应用End语

22、句退出程序。下面简单说一下Show的用法:Show 方法用以显示 MDIForm 或 Form 对象。不支持命名参数。Show 方法的语法包含下列部分:部分 描述 object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则与活动窗体模块关联的窗体缺省为 object。 Style 可选的。一个整数,它用以决定窗体是模式还是无模式 。如果 style 为 0,则窗体是无模式的;如果 style 为 1,则窗体是模式的。 ownerform 可选的。字符串表达式,指出部件所属的窗体被显示。对于标准的Visual Basic 窗体,使用关键字 Me。 说明如果

23、调用 Show 方法时指定的窗体没有装载,Visual Basic 将自动装载该窗体。当 Show 在显示无模式窗体时,随后遇到的代码则要执行。当 Show 在显示模式窗体 (modal form) 时,则随后的代码直到该窗体被隐藏或卸载时才能执行。当 Show 在显示模式窗体时,除了模式窗体中的对象之外不能进行输入(键盘或鼠标单击)。对其它窗体进行输入前程序必须隐藏或卸载模式窗体(通常是处于响应用户某些操作状态)。MDIForm 不能是形式的。在模式窗体显示时,虽然应用程序中的其它窗体失效,但其它应用程序不会失效。应用程序的启动窗体在其 Load 事件调用后会自动出现。进入界面只是作为进入主

24、界面的过程,应用Show语句做到弹出数据采集界面并隐藏进入界面。End语句在VB中经常用到,用于结束一个过程或块。其语法有一下几种,在本次设计中也曾用到其中几种。End语句的语法有以下几种形式:语句描述End停止执行。不是必要的,可以放在过程中的任何位置关闭代码执行、关闭以Open语句打开的文件并清除变量。End Function必要的,用于结束一个Function语句。End If必要的,用于结束一个IfThenElse语句块。End Property必要的,用于结束一个Property Let、Property Get、或Property Set过程。End Select必要的,用于结束一

25、个Select Case语句。End Sub必要的,用于结束一个Sub语句。End Type必要的,用于结束一个用户定义类型的定义(Type语句)。End With必要的,用于结束一个With语句。说明在执行时,End语句会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用Stop语句,则可以在保留这些变量值的基础上恢复执行。注意End语句不调用 Unload、QueryUnload、或 Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。窗体和类模块中的 Unload、QueryUnload、和 Terminate 事件代码未

26、被执行。类模块创建的对象被破坏,由Open语句打开的文件被关闭,并且释放程序所占用的内存。其它程序的对象引用无效。End语句提供了一种强迫中止程序的方法。Visual Basic 程序正常结束应该卸载所有的窗体。只要没有其它程序引用该程序公共类模块创建的对象并无代码执行,程序将立即关闭在这里End用于直接退出程序。4.2 数据采集界面中程序设计如图12设计状态下的数据采集页面首先是对菜单栏的编辑,应用菜单编辑器进行编辑。菜单编辑器是专门进行菜单编辑和修改的工具。打开菜单编辑器有两种方法:(1) 鼠标单击下拉菜单中“工具”菜单项的“菜单编辑器”命令。(2) 鼠标右击窗体上的任意位置,弹出一个快捷

27、菜单,单击“菜单编辑器”命令。菜单编辑器的窗口分为三大部分:数据区、编辑区和菜单项列表框,菜单项列表框中反白显示的为当前菜单项,其对应内容显示在数据区中。数据区主要用来输入或修改菜单项,并进行相应属性的设置。数据区的主要组成及作用如下:“标题”:使用该选项可以输入菜单名或命令名,这些名字出现在菜单条或菜单之中。如果想在菜单中建立分隔符条,则应在Caption框中键入一个连字符(-)。为了能够通过键盘访问菜单项,可在一个字母前插入&符号。在运行时,该字母带有下划线(&符号是不可见的),按ALT键和该字母就可访问菜单或命令。如果要在菜单中显示&符号,则应在标题中连续输入两个&符号。“名称”:用来为

28、菜单项输入控件名。控件名是标识符,仅用于访问代码中的菜单项;它不会出现在菜单中。索引”:可指定一个数字值来确定控件在控件数组中的位置。该位置与控件的屏幕位置无关。“快捷键”:可在列表框中为每个命令选择快捷键。“帮助上下文ID”。允许为contextID指定唯一数值。在HelpFile属性指定的帮助文件中用该数值查找适当的帮助主题。“协调位置”:该列表框中共有四个可选项,他们决定是否及如何在容器窗体中显示菜单。“复选”:允许在菜单项的左边设置复选标记。通常用它来指出切换选项的开关状态。“有效”:由此选项可决定是否让菜单项对事件做出响应,而如果希望该项失效并以浅灰色显示出来,则也可取消对该复选框的

29、选用。“可见”:决定是否将菜单项显示在菜单上。“显示窗口列表”:在MDI应用程序中,确定菜单控件是否包含一个打开的MDI子窗体列表。“右箭头”“”:每次单击都把选定的菜单向右移一个等级。一共可以创建四个子菜单等级。“左箭头”“”:每次单击都把选定的菜单向上移一个等级。一共可以创建四个子菜单等级。“上箭头”“:每次单击都把选定的菜单项在同级菜单内向上移动一个位置。“下箭头”“”:“下箭头”。每次单击都把选定的菜单项在同级菜单内向下移动一个位置。“菜单列表”:该列表框显示菜单项的分级列表。将子菜单项缩进以指出它们的分级位置或等级。“插入”:在列表框的当前选定行上方插入一行。 “删除”:删除当前选定

30、行。“确定”:关闭菜单编辑器,并对选定的最后一个窗体进行修改。菜单可以在设计时使用,但在设计时可以通过选定一个菜单,来打开菜单单击事件的“代码”窗口,而不是执行事件代码。“取消”:关闭菜单编辑器,取消所有修改。利用菜单编辑器对菜单栏进行编辑,编辑“实验指导”和“关于”菜单,在“关于”菜单下编辑子菜单“指导老师。两个菜单选项主要起到提示作用,用弹出窗口显示提示信息,弹出窗口的应用由MsgBox实现,用法如下:作用:在对话框中显示消息,等待用户单击按钮,并返回一个Integer告诉用户单击哪一个按钮。语法:MsgBox(prompt,buttons,title,helpfile,context)参

31、数说明:MsgBox函数的语法具有以下几个命名参数:Prompt-必需的。字符串表达式,作为显示在对话框中的消息。prompt的最大长度大约为1024个字符,由所用字符的宽度决定。如果prompt的内容超过一行,则可以在每一行之间用回车符(Chr(13)、换行符(Chr(10)或是回车与换行符的组合(Chr(13)&Chr(10)将各行分隔开来。Buttons-可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则buttons的缺省值为0。Title-可选的。在对话框标题栏中显示的字符串表达式。如果省略title,则将应用程

32、序名放在标题栏中。Helpfile-可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了helpfile,则也必须提供context。Context-可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了context,则也必须提供helpfile。用于MsgBox函数中Button参数的常量vbOKOnly 0只显示“确定”按钮VbOKCancel 1显示“确定”和“取消”按钮VbAbortRetryIgnore 2显示“终止”、“重试”和“忽略”按钮VbYesNoCancel3显示“是”、“否”和“取消”按钮VbYesNo4显示“是”

33、和“否”按钮VbRetryCancel5显示“重试”和“取消”按钮VbCritical16显示“关键信息”图标VbQuestion32显示“警告询问”图标VbExclamation 48显示“警告消息”图标VbInformation 64显示“通知消息”图标vbDefaultButton1 0第一个按钮是缺省值(缺省设置)vbDefaultButton2256第二个按钮是缺省值vbDefaultButton3512第三个按钮是缺省值vbDefaultButton4768第四个按钮是缺省值vbApplicationModal0应用程序强制返回;应用程序一直被挂起,直到用户对消息框做出响应才继续工

34、作vbSystemModal4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作vbMsgBoxHelpButton16384将Help按钮添加到消息框VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口vbMsgBoxRight 524288文本为右对齐vbMsgBoxRtlReading 1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示。设计中用到 64 显示“通知消息“图标进行相关提示。在图12右下角可以看到一个时钟图标,后面写有时间显示,该控件用于显示时间,帮助实验过程中需要计时操作的不住进行读秒计时。此处用到计时器

35、(Timer)控件,它可以定制时间的间隔,当程序中需要重复引发一个事件时,可以用计时器。在运行过程中计时器不可见。从操作过程来说,在进入数据采集界面后需要首先点击“清除记录“按钮。将以前记录的信息进行清除,然后出现灰色不可用状态下的“采集数据”按钮变为可用状态,实现这一功能首先要将“采集数据”command控件的Enable属性设为False然后在“清除记录”按钮的click事件下编辑Command1.Enabled = True,将“采集数据”控件在“清除记录”被点击后Enabled属性由False变为true。与此同时,“清除记录”按钮还要完成清除数据库中以前存在的数据任务,用If Not

36、 DuQu.Adodc1.Recordset.BOF Then DuQu.Adodc1.Recordset.MoveFirst Do While Not DuQu.Adodc1.Recordset.EOF DuQu.Adodc1.Recordset.Delete DuQu.Adodc1.Recordset.MoveNext Loop上述语句实现,其中用到的语法内容为BOF和EOF语句。BOF:指当前记录位置位于Recordset对象的第一个记录之前EOF:指当前记录位置位于Recordset对象的最后一个记录之后这两个的属性值均返回布尔型:True和False,使用BOF 和 EOF 属性可确

37、定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。 下表即是各自的使用说明及查询结果:EOF和BOF属性EOFBOFTrue当前行的位置是在最后一行的后面,无记录当前行的位置是在第一行之前,无记录False当前行的位置是在最后一行或其前面,有记录当前位置是在第一行或其后,有记录说明:(1)如果当前记录位于第一个记录之前,BOF 属性将返回 True(-1),如果当前记录为第一个记录或位于其后则将返回 False (0)。(2)如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回True,而当前记录为

38、Recordset 对象的最后一个记录或位于其前,则将返回 False。(3)如果 BOF 或 EOF 属性为 True,则没有当前记录。(4)如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为True,而 Recordset 对象的 RecordCount 属性设置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而BOF 和 EOF 属性为 False。(5)如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF属性将保持 False,直到重新安排当前记录。一般来说,当需要对记录集Recordset中的所有行进行操作

39、时,代码可以使用MoveNext,循环遍历各行,直到EOF属性被置为True如果当 EOF 被置为 True 时再使用 MoveNext ,或当 BOF被置为 True 时再使用 MovePrevious ,都将产生一个提示代号为3021的错误。需要注意的是:允许一个Move 方法并非意味着,该方法能成功地定位某行。它仅表示执行这个指定的 Move 方法是允许的,并且不产生一个错误。 BOF 和 EOF属性的状态可以随着该移动的结果而改变。用法If objRs.BOF Then表示:当前指针的位置是在第一行记录之前,则.If objRs.EOF Then表示:当前指针的位置是在最后一行记录之后

40、,则.If Not objRs.EOF Then表示:当前指针的位置没有到达最后一条记录If Not objRs.BOF then表示:当前指针的位置没有到达第一条记录If Not (objRs.BOF AND objRs.EOF) Then表示:指针位于RecordSet 的当中(并非是最后一条和第一条) ,说明一定有记录。If objRs.BOF AND objRs.EOF Then表示:没有任何记录“采集数据”按钮应用于实验中采集数据,本次设计软件则用随机数模拟采集到的数据,为使采集到的数据与实际情况符合,在编辑过程中用二次函数产生随机数,以流量值为变量,对其他参数,如效率、全压、轴功率

41、用关系式产生。在产生随机数的过程中用到的VB知识为Rnd的用法返回一个包含随机数值的 Single。语法Rnd(number)可选的 number 参数是 Single 或任何有效的数值表达式。返回值如果 number 的值是Rnd 生成小于 0每次都使用 number 作为随机数种子得到的相同结果。大于 0序列中的下一个随机数。等于 0最近生成的数。省略序列中的下一个随机数。说明Rnd 函数返回小于 1 但大于或等于 0 的值。number 的值决定了 Rnd 生成随机数的方式。对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。在调用 R

42、nd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。为了生成某个范围内的随机整数,可使用以下公式:Int(upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。“计算”按钮同样利用编辑程序进行计算。为了使模拟过

43、程简化同时便于使模拟数据附和实际,我们省略了计算这一步骤,也就是利用属性设置,将“计算”按钮设置为不可用状态。“保存数据”按钮的作用是保存已经生成的数据,将其存入数据库中,为完成此操作,“保存数据”按钮的代码编辑需要与Adodc控件相关联,其代码需要涉及数据库和提示信息,如AddNew、MsgBox。MsgBox前面说过,现在讲一下AddNew:语法:recordset.AddNewFieldList,Values参数FieldList可选。新记录中字段的单个、一组字段名称或序列位置。Values可选。新记录中字段的单个或一组值。如果Fields是数组,那么Values也必须是有相同成员数的数

44、组,否则将发生错误。字段名称的次序必须与每个数组中的字段值的次序相匹配。“读取数据”按钮用来显示数据库中的数据,点击“读取数据”按钮则“读取”窗口弹出,用到的是.Show语句。同时刷新数据库以便显示数据库中最新信息,用的是. Refresh语法:Refresh 方法用于强制全部重绘一个窗体或控件(也就是刷新了)。 一般在下列情况下使用 Refresh 方法: 在另一个窗体被加载时显示一个窗体的全部。 更新诸如 FileListBox 控件之类的文件系统列表框的内容。 更新 Data 控件的数据结构。 Refresh 方法不能用于 MDI 窗体,但能用于 MDI 子窗体。不能在 Menu 或 T

45、imer 控件上使用 Refresh 方法。 通常,如果没有事件发生,窗体或控件的绘制是自动处理的。但是,有些情况下希望窗体或控件立即更新。例如,如果使用文件列表框、目录列表框或者驱动器列表框显示当前的目录结构状态,当目录结构发生变化时可以使用 Refresh 更新列表。 可以在 Data 控件上使用 Refresh 方法来打开或重新打开数据库(如果 DatabaseName, ReadOnly, Exclusive 或 Connect 属性的设置值发生改变),并能重建控件的 Recordset 属性内的 dynaset。 例如Form1.Refresh Form1 As Form 就是刷新F

46、orm1窗体。点击“作图”按钮,将弹出作图选择窗体同时将“保存数据”按钮设为不可用。在读取窗体中,如图13所示,用到Unload和Refresh语法,Refresh前面已经提过,这里说一下Unload的用法:VB使用 Unload 语句来卸载 Form 对象或控件。其语法: Unload object object 所在处是要卸载的 Form 对象或控件数组元素的名称。 只有在运行时添加到窗体上的控件数组元素才能用 Unload 语句卸载。重新加载被卸载的控件时,其属性会被重新初始化。 例Unload 语句来卸载 Form : Private Sub Form_Click () Dim Answer, Msg 声明变量。 Unload Form1 卸载窗体。 Msg = Form1 has be

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1