您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > VB程序开发在地下管线探测中的应用
VB程序开发在城市地下管线探测中的应用赖东杰深圳市水务规划设计院,广东,深圳518001【摘要】:作为一种基于Windows的编程语言,VisualBasic(以下简称VB)已广泛应用于城市地下管线探测应用程序的开发。结合作者的开发实践经验,本文主要讲述了用VB实现城市地下管线探测数据处理的便捷途径,通过VB编程实现数据库自动生成、野外数据导入、数据格式转换、数据处理、图形和成果输出等功能。【关键词】:VisualBasic;城市地下管线探测;ApplicationofVBProgramminginUrbanUndergroundPipelineDetectionLaiDongjieShenzhenWaterPlanningandDesignInstitute,518000,Shenzhen,Guangdong,ChinaAbstract:AsaprogramminglanguagebasedonWindowssystem,VisualBasic(hereinafterreferredtoasVB)hasbeenwidelyusedinapplicationdevelopmentofurbanundergroundpipelinedetection.Accordingtotheauthor'sexperience,thispaperdescribesaconvenientwayonhowtocompletedataprocessingofurbanundergroundpipelinedetectionbyusingVB.ThroughVBprogramming,wegotthesefunctions,suchasautomaticgenerationofdatabase,fielddataimport,formatconversion,dataprocessing,graphicsandresultsoutput,etc.Keywords:VisualBasic;UrbanUndergroundPipelineDetection.一前言随着计算机技术和程序设计方法的发展,计算机已广泛应用于工作、学习、生活的各个方面。正是由于人们认识的提高,地下管线探测也从传统的效率低下的手工作业阶段向高效的计算机作业阶段迈进。地下管线按管线种类分有给水、污水、雨水、燃气、电力、电信以及工业管道等,每一种管线的参数信息又非常多,最主要的内容包括:管径或断面尺寸、管材、点特征、附属物、埋深、坐标、管道标高、管偏、埋设日期、权属单位等,要处理的管线信息量非常大,因此传统的基于DOS平台,面向过程的结构化程序设计方法已经不能满足地下管线探测软件开发的需要,而在可视化集成环境下采用面向对象的程序设计方法、事件驱动的编程机制开发管线软件则越来越普遍。在视窗Windows环境下VB是一门简单易学的编程工具,它引入窗体和控制的概念,可以方便地进行可视化屏幕设计,大大减少了设计用户界面的时间,从根本上改变了传统的程序设计模式,大大简化了Windows应用程序设计。此外,用VB开发的应用软件,经编译和制作安装盘后可以脱离VB系统单独运行,因此,VB已经成为地下管线探测数据软件的一种重要开发工具。二数据库生成和连接MicrosoftOfficeAccess是由微软发布的关联式数据库管理系统,它具有界面友好、易学易用、开发简单,并结合了MicrosoftJetDatabaseEngine和图形用户界面等特点,是MicrosoftOffice的成员之一,Access能够存取Access/Jet、MicrosoftSQLServer、Oracle或者任何ODBC兼容数据库内的资料。在OfficeAccess数据库管理系统里面可新建样本数据库,数据库建库依据是《城市地下管线探测技术规程(CJJ61-2003)》和《深圳市地下管线探测实施细则(深圳市国土资源和房产管理局2005年10月)》,其表结构内容如下:序号字段名称数据类型宽度小数位数1管线类型文本102图幅号文本103点号文本204图上点号文本205连接点号文本206埋设方式文本107材质文本108探查方法文本109点特征文本1010附属物文本1011管径数字长整型012宽数字长整型013高数字长整型014埋深数字单精度215X数字双精度316Y数字双精度317Z数字双精度318起点标高数字双精度319终点标高数字双精度320坡度数字双精度321总孔数数字整型022已用孔数数字整型023电缆根数数字整型024行列文本2025电压文本2026压力文本2027管偏文本2028调查日期日期/时间29埋设日期日期/时间30敷设日期日期/时间31井深数字单精度232井径文本3033权属单位文本5034养护单位文本5035调查单位文本5036备注文本20037调查者文本1038社区文本2039街道文本5040道路名称文本5041流向是/否42数据来源文本1043管道长度数字双精度3建立和数据库的连接是访问数据库的必要一步,尽管可以通过ADO数据控件来建立数据库连接,但是通过VB编码的方式来连接数据库有更大的灵活性,用ADO打开连接的主要方法是通过连接对象来连接数据库,即使用Connection.Open方法。PrivateConnAsNewADODB.ConnectionConn.OpenProvider=Microsoft.Jet.OLEDB.4.0;DataSource=+FileNameString+;PersistSecurityInfo=False说明:FileNameString是指要打开的数据库的完整路径和文件名。三数据导入和格式转换地下管线探测的原始数据一般是在OfficeExcel电子表格中录入的,Excel是一种电子表格程序,它方便各种电子表格数据的录入,具有功能齐全、强大,应用范围相当广泛,适用的人群非常普及,操作起来简单、方便等优点和特点,是数据录入首选的理想平台。在OfficeExcel中录入的管线原始数据,通过VB编码可以直接打开Excel表格,导入表格中的数据并转换为Access数据库格式的管线数据,编码方法如下:Conn.OpenProvider=Microsoft.Jet.OLEDB.4.0;DataSource=+FileNameString+;PersistSecurityInfo=FalseRs.OpenSelect*From管线数据,Conn,adOpenStatic,adLockBatchOptimisticErr.ClearSetExcelAppObject=GetObject(,Excel.Application)IfErrThenSetExcelAppObject=CreateObject(Excel.Application)ExcelAppObject.Visible=FalseExcelAppObject.Workbooks.OpenInPutExcelFileNameSetExcelWorksheet=ExcelAppObject.ActiveWorkbook.Sheets(1)……Rs.AddNewRs(管线类型)=ExcelWorksheet.Cells(RowsNum,1).ValueRs(点号)=ExcelWorksheet.Cells(RowsNum,2).ValueRs(连接点号)=ExcelWorksheet.Cells(RowsNum,3).Value……Rs(管材)=ExcelWorksheet.Cells(RowsNum,6).ValueRs.UpdateBatchadAffectCurrent……Rs.CloseConn.CloseExcelAppObject.Workbooks.CloseExcelAppObject.Quit四数据处理管线数据处理主要包括:更新管线数据(包括:块符号、点号排序号、管道标高和坡度、坐标、点码和线码等)、更新图幅号、管线数据检查(包括:重点、重线、点特特附属物错漏、记录和坐标错漏、线记录往返属性匹配问题、排水管段逆流、排水线路逆流、排水流向问题、管段超长等)、统计(包括:按不同方式统计管线长度、点个数、检查精度等)。五管线图形和成果输出通过VB编程,可以将数据库中的管线成果按一定的格式要求输出,包括AutoCAD图形(*.DWG)和Excel电子表格成果表(*.XLS)。⑴输出管线图如何通过VB编程实现与AutoCAD的连接也是管线成果输出的关键环节,在VB编程环境下,可以通过加载引用AutoCADActiveX技术来实现图形生成的。①加载AutoCAD应用程序对象DimAcadAppAsAcadApplicationSetAcadApp=GetObject(,AutoCAD.Application)②定义和生成图形对象DimLineObjAsAcadLine′定义线DimPointObjAsAcadPoint′定义点DimTextObjAsAcadText′定义文本DimBlockObjAsAcadBlockReference′定义块DimLayerObjAsAcadLayer′定义图层……SetLayerObj=AcadApp.ActiveDocument.Layers.Item(JL)LayerObj.Color=5′定义给水图层颜色为蓝色,即5号色。……SetTextObj=AcadApp.ActiveDocument.ModelSpace.AddText(TextStr,InSertPoint,TextHeight)SetLineObj=AcadApp.ActiveDocument.ModelSpace.AddLine(StartPoint,EndPoint)SetBlocksObj=AcadApp.ActiveDocument.ModelSpace.InsertBlock(InSertPoint,BlockNameStr,1#,1#,1#,0#)……③保存和关闭图形对象AcadApp.ActiveDocument.SaveAsFileNameAcadApp.ActiveDocument.Close⑵生成管线点成果表管线点成果表一般是以电子表格的方式提供的,我们最常用的也就是Excel电子表格。要生成Excel电子表格成果,同样的可以通过VB编程方式,将数据库中的管线数据按一定的格式要求写入Excel电子表格中。管线成果输出和管线数据导入是两个相反的过程,但应用到编程方法是一样的,首先通过VB打开Access数据库文件,然后连接Excel电子表格,将Access数据库中的成果按一定格式要求逐一生成Excel电子表格数据。六结束语随着计算机技术不断提升和程序开发设计方法的不断发展,VB程序开发将在更多的工作领域得到更加广泛的应用,尤其是结合AutoCAD进行二次开发,不但可以解决地下管线探测数据处理工作中一些简单、繁琐、重复性的操作,还能实现仅用AutoCAD不能或不易实现的功能和效果,例如进行三维动画模拟、图形参数化设计等。【参考文献】:⑴张宏林、孔艳王哲等编著的《VisualBasic6.0开发数据库》人民邮电出版社;⑵张晋西编著《VisualBasic与AutoCAD二次开发》清华大学出版社;⑶安剑、孙秀梅编著的《VisualBasic数据库系统开发自学手册》人民邮电出版社;⑷《城市地下管线探测技术规程》CJJ61-2003中华人民共和国城镇建设行业标准;⑸《深圳市地下管线探测实施细则》深圳市国土资源和房产管理局2005年10月;⑹赛奎春、李俊民编著的《VisualBasic函数参考大全》人民邮电出版社;⑺[美]MarionCottingham著,孔祥丰等译《AutoCADVBA从入门到精通》电子工业出版社;⑻姚巍编著的《VisualBasic数据库开发从入门到精通》人民邮电出版社;⑼中国地质大学(武汉),鲁永康教授编著的《频率域电磁法探测地下管线的理论与方法技术》。作者简介:赖东杰,籍
本文标题:VB程序开发在地下管线探测中的应用
链接地址:https://www.777doc.com/doc-2854149 .html