桥结构总成数据库开发毕业论文.doc_第1页
桥结构总成数据库开发毕业论文.doc_第2页
桥结构总成数据库开发毕业论文.doc_第3页
桥结构总成数据库开发毕业论文.doc_第4页
桥结构总成数据库开发毕业论文.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

桥结构总成数据库开发毕业论文目 录中文摘要4英文摘要51绪 论61.1课题背景及目的61.2DELPHI 7.0介绍71.3Microsoft office Access 2003简介82系统需求分析92.1需求分析的目的92.2系统需求分析93系统整体设计103.1系统分析与设计103.1.1数据库设计113.1.2系统功能模块设计123.2主界面设计123.2.1窗体123.2.2Autovue和MediaPlayer组件134功能模块划分与实现方法144.1工程文件的建模与动画演示144.1.1建模144.1.2生成演示动画154.2信息表的建立与连接194.3登陆闪现窗口的设计204.4“菜单栏”功能简介与实现方法224.4.1“文件”菜单224.4.2“编辑”菜单234.4.3“查看”菜单284.4.4“帮助”菜单294.5“工具栏”功能简介与实现方法304.6“状态栏”功能简介与实现方法304.7“快捷菜单”功能简介与实现方法314.8“媒体播放器”功能简介与实现方法314.9“Autovue”功能简介与实现方法324.10“SolidWorks编辑器”功能简介与实现方法334.10.1打开零件344.10.2装配体中插入零件344.10.3Preview的功能介绍与实现344.10.4“深沟球轴承和普通平键的参数化开发”功能简介与实现方法35结论39致谢39参考文献40附录一41附录二85附录三90表3.1 数据表11表3.2 动画表11表3.3 尺寸表11表3.4 键 表11图3.1 数据库系统主要功能模块12图3.2 系统主界面13图4.1 前驱动桥总成15图4.2 中央传动总成16图4.3 转向横拉杆总成16图4.4 转向油缸总成17图4.5 减速器总成17图4.6 万向传动轴18图4.7 摆座总成18图4.8 程序闪现窗口21图4.9 “文件”菜单及其下拉菜单22图4.10 “编辑”菜单及其下拉菜单26图4.11 删除按钮的弹出对话框29图4.12 复制按钮的弹出对话框32图4.13 “查看”菜单及其下拉菜单33图4.14 “帮助”菜单及其下拉菜单34图4.15 “主题”菜单及其下拉菜单34图4.16 “工具栏”35图4.17 “状态栏”35图4.18 媒体播放器36图4.19 Autovue操作界面37图4.20 Preview界面39图4.21 深沟球轴承的开发界面40图4.22 普通平键的绘制界面421604桥结构总成数据库开发摘 要:随着信息化产业的需求和兴起,零件的装配建模与运动仿真一直是设计者关心的问题。驱动桥的拆卸和装配在维修中占有很大的工作量,而且工序复杂,有很高的技术要求。通过装配建模和运动仿真的演示,可以使设计者直接地了解所设计的装配体,同时也可以使客户有效的了解各个零部件之间的关系,并且进一步了解驱动桥的拆卸与装配过程。从而很大程度上避免了因拆装不当而造成原配合面破坏、机件损坏、技术状态恶化等各种故障。零件的参数化开发也必将大大减少工程设计人员繁杂的工作量。本文以1604桥文件管理系统的设计和开发以及对深沟球轴承和普通平键的参数化开发为例,系统地阐述了数据库系统设计开发以及零件参数化的的全过程。关键词:驱动桥 数据库开发 Delphi编程 参数化Abstract: With the needs and rise of information industry, designers are paying more attention to the parts assembly modeling and simulation movement. It pays much workload to dismantle and assemble the drive axle, and the processes are very complex, and it needs high technical requirements. Through the demonstration of assembly modeling and simulation movement, designer can understand the design more direct, besides, by using the system, customer can understand the relationship of each part more effective, and make further understanding of the disassembly and the assembly process of drive axle. Thus it can largely avoid the faults such as the destruction of surface for the reason of error of assembly, the damage of parts, the worsening of technical condition. The parametrization of component or parts will greatly reduce the multifarious workload. This essay take database development of former drive axle system and the parametrization of deep groove ball bearings and ordinary key for instance, expounds systematically the process of designing a database system and the development process of the parametric parts.Keywords:former drive axle system, database development, Delphi, parametric programming1 绪 论现在的工业领域,越来越多地把产品的设计、分析、制造、数据管理与信息技术融为一体。传统的数据文件管理模式只是将工程文件存放到指定硬盘中,有时分散到多个硬盘的多个文件夹,这种传统的文件存储及检索方式非常费时费力,已经不适应信息化飞速发展的今天,而传统的零件建模方式使设计人员浪费大量时间在标准件或其他系列化通用件的绘制工作上。随着Delphi数据库技术的发展和企业信息化建设的进行,使用数据库管理系统管理工程文件成为大势所趋,它将为工程人员的设计开发工作节约大量的人力和物力。而零件尤其标准化零件的参数化开发也必将大大减少工程设计人员繁杂的工作量。本文以“前驱动桥系统总成数据库开发”的设计和开发以及对深沟球轴承和普通平键的参数化开发为例,系统地阐述了数据库系统设计开发以及零件参数化的的全过程。包括系统整体设计,逻辑框架与数据流程,各个功能模块划分,系统功能模块的设计与具体实现等部分。1.1 课题背景及目的当今,计算机已经成为我们学习和工作的得力助手,我们的生活也越来越离不开它。随着现代科技的进步,用计算机来进行工程文件的管理以及零部件的参数化设计也成为工程时间中必不可少的一部分。计算机技术特别是数据库技术的发展为企业建立管理信息系统,甚至对改变管理思想起着不可估量的作用。实践证明信息技术已在企业的管理层面扮演越来越重要的角色。工业生产领域的工程技术人员往往掌握熟练的专业技能,但利用计算机开发有利于本行业发展的相关软件的技能往往相对匮乏,相关的从业人员较少,而计算机专业的技术人员熟练掌握软件开发知识,但是他们往往开发一些通用软件,对于专业性很强的机械行业很少有人涉足。事实也说明大量工程应用软件是由机械行业的技术人员开发的,这为我们机械偏向性比较强的技术人员提出了新的要求与挑战。针对这一现状,我在深入学习Delphi编程技术、SQL以及Access数据库技术后,以前驱动桥为例,开发了方便我们工程人员自己的数据库管理软件,并以轴承和键为例,开发了标准件的参数化软件。1.2 DELPHI 7.0介绍由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编译器、最为领先的数据库技术。DELPHI 拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。主要特点如下: (1)直接编译生成可执行代码,编译速度快。(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。 (4)具有可重用性和可扩展性。(5)具有强大的数据存取功能。数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。 Delphi既可用于开发系统软件,也适合于应用软件的开发。(6)拥有强大的网络开发能力。(7)Delphi使用独特的VCL类库,使得编写出的程序显得条理清晰。 Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用C,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。1.3 Microsoft office Access 2003简介Access 是微软公司推出的基于Windows的桌面关系数据库管理系统,是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access的优点:(1)存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。 (2)面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。(3)界面友好、易操作 (4)集成环境、处理多种数据信息 (5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity)。2 系统需求分析2.1 需求分析的目的软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,数据库系统软件需求分析同样如此。软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而实现企业生产的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否经得住实践的考验。 按照软件工程对软件开发过程的描述,需求阶段可以细分为需求调研和需求分析两个小阶段,需求调研需要充分细致的了解客户目标,用户业务内容、流程等,这是一个对需求的采集过程,是进行需求分析的基础准备。当已经了解、理解用户的业务后,就可以就可以进行需求分析了。2.2 系统需求分析本系统由于时间的关系,没有实际地与用户进行交流去了解他们的要求,而是通过自己对现代化企业的一些了解而做出的一些分析。根据需要,此次开发数据库管理系统主要需要做以下工作:1、对给定的PROE工程文件进行模型转换,生成开发所需的SolidWorks能读取的三维图形文档,并对文档进行建模;2、利用Autovue以及Media Player插件实现文件在软件主窗口的演示播放,方便工程人员调取相关格式文件;3、基于自动化技术,利用Delphi对SolidWorks进行二次开发实现对选定数据库中工程文件以及计算机内部所有SolidWorks工程文件进行编辑;4、利用Delphi对标准零件深沟球轴承以及普通平键进行参数化开发,工程人员只需选择尺寸参数便可在SolidWorks中生成相应的轴承或平键。以上简单地对本系统做了功能方面的需求分析,系统功能的实现将在下面的整体设计中具体介绍。3 系统整体设计3.1 系统分析与设计基于上面的分析,按照工程软件开发的思想,对管理系统进行功能分析:实现数据存储功能;实现数据在软件主界面的导入与输出;不同数据文件之间的切换;数据添加;工程文件的另存、复制、删除;对树状列表进行节点、子节点的新建,数据库文件的重命名;数据库文件在软件主窗口的显示;点击选中工程文件在主窗口中实现演示及多功能文件处理;点击选中动画演示文档在主窗口中实现动画的播放,并具备媒体播放软件所具备的播放、暂停、停止、快进、快退等功能;文件信息显示、修改保存文件信息、关闭窗口;不同插件之间的切换功能;退出;另外,二次开发方面需要实现以下功能:基于自动化技术,利用Delphi对SolidWorks进行二次开发实现在不打开SolidWorks也不利用其它外界插件的情况下对工程文件进行快照,快速浏览文件大致内容;利用Delphi生成EXE文件对选定数据库中工程文件以及计算机内部所有SolidWorks工程文件进行编辑,以及自动将零件插入装配体中;利用Delphi对标准零件深沟球轴承以及普通平键进行参数化开发,通过将国家标准尺寸数据录入Access数据库中,方便的实现尺寸数据的调用。使用者只需做出选择便可生成相应的轴承或平键。附加功能:主题窗口、帮助。3.1.1 数据库设计基于以上的功能分析,为数据库系统创建4个数据表,表的类型采用Access表,分别命名为数据表、动画表、尺寸表、键表。将其数据表的设计如下:表3.1 数据表字段名字段类型字段大小关键字ClassID文本50*ClassName文本50ClassPath文本50表3.2 动画表字段名字段类型字段大小关键字ClassID文本50*ClassName文本50ClassPath文本50表3.3 尺寸表字段名字段类型字段大小关键字轴承代号文本50*d轴承内径文本50DD外径文本50B文本50N数字长整形表3.4 键表字段名字段类型字段大小关键字b数字长整形*h数字长整形公称直径d文本50接下来按照数据库的结构,使用Access创建数据表,命名为data.mdb,并将其路径指定为数据表所在的目录然后去除绝对路径之前的内容,剩下“. data.mdb”,这样数据库将以相对路径建立链接,无论数据表随从软件移动到任何地方都不妨碍数据库文件的读写。3.1.2 系统功能模块设计 前驱动桥数据库管理系统的主要功能模块及其关系,如图3.1所示:图3.1 数据库系统主要功能模块3.2 主界面设计3.2.1 窗体主界面的设计是数据库开发的关键步骤,因为它在某种程度上体现了程序开发的质量和水平。前驱动桥信息管理系统采用多页形式的窗口,用户可通过切换按钮来操作整个系统的不同功能。这种界面的优点是结构紧凑,逻辑性强。图3.2 系统主界面3.2.2 Autovue和MediaPlayer组件 Autovue AutoVue是一款来自加拿大CimmetrySystem公司的多用途文档浏览、标注、协同作业的应用软件。AutoVue即可直接浏览、标注450种以上的常用工程、商业格式文档,并完全保留原始文档的完整性和安全性。AutoVue是一个多用途的应用软件,可以提供一致的单一界面和一组内容丰富的工具,很容易地查看、标注、打印和转换各种电子文件。一些常用的格式如AdobeAcrobatPDF、AutoCAD、CALSG4、CGM、HPGL/2、Lotus123、MicroStation、ME10、MSWord、Excel、TIFF、WordPerfect、SolidWorks、UG、Pro/E等等。AutoVue可以在DOS,Windows和Unix平台上执行。 由于AutoVue并不关心文件是由何种软件创建的,它只是根据文件的内容而不是文件的扩展名来进行识别,因此无论是扫描仪、文件处理软件、CAD图形、电子表格若其他软件创建的文件,它都能快速打开并正常显示。1.Office文件AutoVue可以支持Word、Excel、PowerPoint、Visio、Lotus123、TIFF等多种流行的办公和图形文件格式,涉及的范围包括文字处理、电子表格、数据库等AutoVue可以用来查看PDF格式的文件。2.2DCAD文件AutoVue对2DCAD的支持相当出色,可以直接打开DWG、DXF、DWF、MicroStation、DGN、HPGL、CGM、IGES、ME10、Cadkey、EPS、Visio等格式的文件。提供了很多实用的工具,例如缩放、旋转、移动、鹰眼、分层显示等工具,AutoVue会自动高亮显示那些增加、删除或保持不变的元素,我们可以直接查询图形的实体信息,还可以利用小望远镜和监视窗口功能允许用户沿路径放大,例如沿着一个管子、电线、路线进行放大。3.3DCAD文件对设计人员来说,接触更多的可能是3DCAD文件,这时如果安装专业的机械设计或电子设计软件,其代价不会太小。而AutoVue对3DCAD提供了良好的支持,例如CATIA、UG、Pro/E、Soild、Edge、SolidWorks、Inventor、Mechanical、JT、ACIS、STEP、IGES、STL、VRML等,用户可以精确地测量所有的尺寸,包括角度、弧、圆、表面积、距离,可以利用3D渲染方式渲染模型,包括阴影模型、线框模式、轮廓、隐藏线去除模式,也可以定义光照的设置,包括光的方向、颜色和类型等。本数据库管理系统软件正是基于Autovue 的强大功能实现三维视图的展示。 Media Windows Media Player可以播放MP3,WMA,WAV等音频文件,视频方面可以播放AVI,MPEG-1,本数据库管理软件正是基于Media Player强大的媒体播放功能实现工程时间中复杂系统的装配动画文件。4 功能模块划分与实现方法4.1 工程文件的建模与动画演示4.1.1 建模工程文件有很多种比如CATIA、UG、Pro/E、Soild、Edge、SolidWorks、Inventor、Mechanical、JT、ACIS、STEP、IGES、STL、VRML等,有时根据需求,要对不同格式的工程文件进行格式转换。此次建模首先要把给定的Pro/E文件转换为Solid-Works文件。主要方法是将需要转换的Pro/E文件打开,将其另存为STEP或IGES格式文件。STEP(STandard Exchange of Product data model)标准是国际标准化组织制定的描述整个产品生命周期内产品信息的标准,它提供了一种不依赖具体系统的中性机制,旨在实现产品数据的交换和共享。这种描述的性质使得它不仅适合于交换文件,也适合于作为执行和分享产品数据库和存档的基础。IGES是被定义基于Computer-Aided Design (CAD)&Computer-Aided Manufacturing (CAM) systems (电脑辅助设计&电脑辅助制造系统)不同电脑系统之间的通用ANSI信息交换标准。用户使用了IGES格式特性后,可以读取从不同平台来的NURBS数据。正是基于STEP和IGES这两种标准,本次建模将Pro/E文档生成两者之一的IGES格式文件然后在SolidWorks中打开生成的IGES文件另存为*.sldprt和*.sldasm格式文档。由于Pro/E和SolidWorks建模方式不同,因此转换后的文档部分参数以及配合关系丢失,需要重新建立,这里不再详述。4.1.2 生成演示动画SolidWorks中附有SolidWorks Animator插件,点击工具栏中的插件按钮,将该插件选中则SolidWorks编辑界面下显示动画按钮。对于本次编辑,需要首先制作装配体的爆炸视图,然后点击动画按钮,按照操作步骤生成avi文件。由于生成的视频文件往往占用空间很大,因此采取压缩模式进行保存。生成的视频文件截图见图4.1图4.7。图4.1 前驱动桥总成图4.2中央传动总成图4.3转向横拉杆总成图4.4转向油缸总成图4.5减速器总成图4.6万向传动轴图4.7摆座总成4.2 信息表的建立与连接根据功能需要,数据库管理系统需要任意读写文件以及能够在主窗口中打开文件,这主要有两种方式可以实现:一种是将工程文件完整地保存与数据库中,另一种方式是设定索引,将路径保存在数据库中由文件路径来驱动插件。由于工程文件往往占用很大的硬盘空间,因此该数据库系统采取第二种方式建立数据库。具体的数据库文件内容是:数据表和动画表中文件由数据库软件根据建模情况进行动态添加,而尺寸表和键表中数据根据国家标准直接录入到数据表中,在数据库软件中直接调用,不再更改。数据库的连接主要利用Delphi中的ADO组件,另外利用DataAccess以及DataControls组件可实现数据表在连接后显示于软件主界面。具体步骤如下:1、放置adoconnection控件 设置NAME属性。CONNECTIONSTRING属性是设置连接字符串的,连接各类数据库都要用到它。LOGINPROMPT属性是设置是否每次连接都提示输入密码,这个一般设置为FALSE,点击Connectstring属性由于采用Access数据库因此选择Use Connecttion String选项,选择Microsoft Jet 4.0 OLE DB Provider 点击下一步选择所需要连接的数据库,因为软件以及数据库在电脑中的存放位置是不固定,因此选用相对路径对数据库文件进行连接。本数据库系统将data.mdb数据表放在与主程序同级文件夹中,因此连接路径设定为“.data.mdb”。CONNECTED属性设置为TRUE,数据表连接成功。2、放置ADOTABLE控件 设置CONNECTION属性 为adoconnection控件,这样才能连接到adocon-nection控件所连接的ACCESS数据库。然后设置TABLENAME属性,设置连接的表名,亦即本系统中的数据表、动画表、尺寸表、键表。现在把ADOTABLE的ACTIVE属性设置成TRUE就可以连接该表。数据表完成连接往往需要将其显示在主窗口中,这就需要一个DATASOURSE控件。3、放置DATASOURSE控件 设置DATASET属性为ADOTABLE控件。4、最后添加DBGRID控件把数据表中的内容显示出来的最简单方法就是添加一个DBGRID控件。设置DBGRID控件的DATASOURCE属性为刚才放置的DATASOURSE控件。这样,一个完整的数据库链就串起来了。4.3 登陆闪现窗口的设计在许多应用软件中,启动程序后,在主导界面出现之前,有一个一般以图象为主,文字为辅的画面,通常用来显示软件或公司的主题标志、软件名称、作者、版权和版本信息等,停留数秒或按了任意键后软件进入主导界面,这个画面称为Splash画面,意思为引人注目画面。这个画面的另外一个用处是在处理耗时进程时,为用户展示一幅优美、舒心的图象。 1在主程序中增加一个窗体,把它的名字改为SplashForm,BorderStyle属性设置为bsNone,Position属性设置为poScreenCenter。 2为SplashForm窗体增加一系列必要的构件,如Label、Panel、Image、Shape以及Bevel等。 3使用IDE的Project|Option功能项把SplashForm窗体从AutoCreate表移到Available 表中。 4将SplashForm窗体的Unit加入到主窗体Unit的Uses语句中。 5在主程序的.dpr文件中加入一段控制代码,位置是在begin之后、其他代码之前,代码如下: SplashForm:=TSplashForm.create(Application); SplashForm.Show; SplashForm.refresh; 其目的是在建立其他窗体及运行程序之前,建立并显示Splash窗体。 6编写主窗体OnShow事件的响应过程。 SplashForm.Free; 在本例中,这段代码作用为当屏幕显示主窗体时,释放Splash窗体。 7最后,为主程序的.dpr文件写一段延迟程序,目的是使Splash画面在屏幕上有一段停留的时间。最简单的办法使用一个无效循环,如: var i,x:longint for i:=1 to 100000 do x:=i; 但是,由于机器运行速度不同,有快有慢,表现出来的效果并不理想,本数据库系统使用时间函数来实现延时效果,主要代码如下。 procedure TForm1.FormCreate(Sender: TObject); /开启延时var currentTime:LongInt; begin currentTime:=GetTickCount div 1000; while (GetTickCount div 1000)(currentTime+2) ) do begin end; /不做任何事 end;图4.8 程序闪现窗口如图4.8所示,程序启动闪现页面就做成了,任何一个软件其功能性是最基本的要求,但是程序界面是否美观也是衡量软件设计好坏的一个重要标准,应该说程序闪现页面的设计增加了软件的美感。4.4 “菜单栏”功能简介与实现方法菜单栏是在标题栏下的水平栏,菜单内是各个命令,本数据库系统包含:文件、编辑、查看、帮助以及SW编辑5个菜单。下面依次说明各菜单按钮的功能及实现方法。4.4.1 “文件”菜单菜单下有五个下拉菜单按钮,见图4.9。图4.9 “文件”菜单及其下拉菜单1.导入数据由于本数据库系统需要多个表,对于主窗口需要在同一个位置显示两个不同的数据表,实现的方式有两种,其一是利用同一个Treeview组件,分别调用两个数据表,另一种方法是用两个Treeview组件,分别显示不同的数据表,此方法相对容易实现,因此本系统采用两个Treeview组件,方便功能的实现。主程序中实现该功能的主要程序段见附录中“procedure TForm1.N4Click(Sender: TObject); /装载三维图像数据”、“procedure LoadTree(tree: Ttreeview; treeDB: TADOTable; sID, sCaption1,sCaption2: string); /初始化树”。而其中的SetFocus、Trim、BeginUpdate分别来自Controls、SysUnils和ComCtrls。激活树节点的程序见附录中“procedure TForm1.tv1Click(Sender: TObject); /激活Treeview1”。动画表的调用与激活与数据表的调用非常相似,不再赘述。2.数据切换由于采用两个Treeview实现不同信息表的分别显示,因此数据切换实际上是通过对两个Treeview组件以及相关调用程序的切换来实现的。由于切换按钮在同一位置显示,点击同一按钮要实现不同功能,因此可以在同一位置放置两个按钮,在不同时候对两个按钮工作与否做相应设定,而每个按钮分别连接到两个不同的表的导入,从而实现了使用者点击同一位置实现两个表的切换。具体程序段参考上面数据导入。3.添加添加命令与新建子节点相似,将在下文详细介绍。4.退出退出软件的命令是Close。4.4.2 “编辑”菜单编辑菜单下有7个下拉菜单按钮,见图4.10图4.10 “编辑”菜单及其下拉菜单1.新建节点新建节点命令通过if条件语句实现两个表中活动表的同级节点添加命令,点击新建节点按钮会弹出“打开”对话框,通过选择文件,将所选文件的文件名及文件路径赋给系统“新建节点”对话框中相对应的Edit组件,点击确定按钮将相应信息赋给函数中的变量AddChildText1和AddChildText2。从而实现节点的动态创建。弹出的对话框与删除命令对话框相类似,这里不再附图,主要程序段见附录中“procedure TForm1.N7Click(Sender: TObject); /新增节点”。其中CurrentTreeNode: TTreeNode,而GetNewCode函数主要程序段见附录中的“function GetNewCode(TempDB: TAdoquery; sID, sTable: string; curNode: TTreenode;”。2.新建子节点新建子节点命令与新建节点命令类似,也是通过if条件语句实现向两个表中的活动表添加节点,不同的是新建子节点命令给选定节点添加子节点,点击新建节点按钮会弹出“打开”对话框,通过选择文件,将所选文件的文件名及文件路径赋给系统“新建节点”对话框中相对应的Edit组件,点击确定按钮将相应信息赋给函数中的变量AddChildText1和AddChildText2。从而实现节点的动态创建。弹出的对话框与删除命令对话框相类似,这里不再附图,主要程序段见附录中的“procedure TForm1.N8Click(Sender: TObject); /新增子节点”。其中GetNewCode命令的主要实现语句见附录中的“function GetNewCode(TempDB: TAdoquery; sID, sTable: string; curNode: TTreenode; Child: boolean): string;”。3.删除删除文件实际上是对数据库文件的一种改写,通过对数据库元素的动态减少来实现删除功能,而文件本身并没有任何改变。其弹出窗口如图4.11所示。图4.11 删除按钮的弹出对话框删除命令的主要程序段见附录中的“procedure TForm1.N10Click(Sender: TObject); /删除文件”。该删除命令包含了对两个Treeview中节点的删除,其以Treeview的可见与否实现对不同列表节点的删除。其中UpdateTreeAndDB函数是对Treeview进行编辑的重要函数,其可实现在新增节点,子节点、删除、重命名时,同步更新树形结构和数据库,现列于下。procedure UpdateTreeAndDB(tree: TTreeView; CurTreeNode: TTreeNode; treeDB: /以下过程在新增、删除、修改记录时,同步更新树形结构和数据库TADOTable; sid, sCaption1,sCaption2,nodeTxt1,nodeTxt2,state: string; NewID: string = );var tmpNode: TTreeNode; oldid : string;begin oldid := GetCurrentNodeCode(CurTreeNode); if UpperCase(state) = ADD then /添加平级节点 begin CurTreeNode := tree.items.add(curtreenode, NewID + - + nodeTxt1); CurTreeNode.ImageIndex := 2; end; if UpperCase(state) = ADDCHILD then /添加子节点 begin CurTreeNode := tree.items.addchild(curtreenode, NewID + - + nodeTxt1); CurTreeNode.ImageIndex := 2; end; if UpperCase(state) = DEL then begin if CurTreeNode.Level = 0 then begin MessageBox(Application.Handle, 根节点无法删除。, 错误, MB_OK + MB_ICONSTOP); exit; end; try tmpNode := CurTreeNode.GetPrev; except try tmpNode := CurTreeNode.Getnext; except tmpNode := CurTreeNode.Parent; end; end; NewID := GetCurrentNodeCode(CurTreeNode); CurTreeNode.DeleteChildren; CurTreeNode.delete; CurTreeNode := tmpNode; end; if UpperCase(state) = EDIT then begin CurTreeNode.Text := NewID + -+nodeTxt1; end; CurTreeNode.Selected := true; treeDB.Active:= true; treeDB.Locate(sid,oldID,); UpdateTable(treeDB, sid, sCaption1,sCaption2,Newid, nodetxt1,nodetxt2, state); /更新表end;4.重命名重命名命令与新建节点,新建子节点以及删除命令有相似地方,由于篇幅限制,这里列出主要不同程序段:UpdateTreeAndDB(TV2, CurrentTreeNode, DataModule2.ADOTb2, classid, className,Classpath, AddChildText1,AddChildText2, edit, newid); /更新树 和数据库。ShowMessage(修改成功!);其中UpdateTreeAndDB详见删除命令。5.复制文件文件的复制是采用Delphi中的复制函数,通过赋予函数目标文件位置及文件名,以及源文件绝对路径及名称,可以实现文件的移动。本系统并没有设置开放的目标文件位置,而是将目标文件路径设定为主程序所在目录同级文件夹下的Files文件夹中,之所以这样处理是因为通过绝对路径驱动插件工作有很大的弊端就是文件移动或删除后无法读取,通过文件的复制功能可以将文件移至主程序同级或临近级别的文件夹中,这样方便以相对路径对文件进行读取。复制过的文件不再需要担心其位置的改变以及文件的删除,这非常有利于对系统的再开发。点击复制按钮后的界面如图4.12所示。图4.12 复制按钮的弹出对话框实现复制的主要程序段如下:procedure TForm1.ToolButton17Click(Sender: TObject); /复制文件vars: Pchar;c: Pchar;begins:= Pchar(Edit4.Text); c:=Pchar(ExtractFilePath(application.ExeName)+Files+Edit3.Text);copyfile(s, c, true);messagedlg(文件成功复制到程序所在的同级Files文件夹中!,mtInformation,mbOK,0);end;6.添加附件及撤销附件附件主要是对SolidWorks文档的二次开发以及对标准化零件的参数化开发。其功能实现是通过对MainMenu1.Itemsi.visible的赋值实现功能的可用与否。值为True时菜单栏增加“SW文件编辑”菜单及其下拉菜单。False则关闭。4.4.3 “查看”菜单查看菜单下只有一个下拉菜单按钮,见图4.13.图4.13 “查看”菜单及其下拉菜单文件信息文件信息命令利用if条件语句实现对活动数表进行注解,方便工程人员了解文件信息。本系统对两种信息表分别设置了一个memo组件点击“文件信息”按钮通过对memo组件以及DBGrid组件的窗口大小以及可视与否做调整实现文件信息的显示。为了使系统更具有开放性以及通用性,系统memo组件的显示内容采用动态读写方式,文件修改后点击保存按钮文档会保存到系统同级文件夹下的temp文件夹中的文本文档中,由于采用相对路径对文档进行读写,因此无需担心因为目标文本文档的移动而无法读写信息。文件信息读写命令见附录“procedure TForm1.ToolButton34Click(Sender: TObject); /文件信息”。保存命令见附录“procedure TForm1.btn2Click(Sender: TObject); /文件属性编辑保存”。另外文件信息打开后需要一个关闭按钮才实现信息读取功能的完整性,关闭按钮的原理是对信息窗口和表格窗口的大小及可视化的调整。其简易代码见附录中“procedure TForm1.SpeedButton1Click(Sender: TObject); /关闭属性栏”。4.4.4 “帮助”菜单帮助菜单下有两个下拉菜单按钮,见图4.14.图4.14 “帮助”菜单及其下拉菜单1. 主题主题窗口介绍系统名称、版本、开发作者、开发时间等系统相关信息。本系统主题界面如图4.15所示。图4.15 “主题”窗口主题窗口在Delphi中有通用模板,也可以自己创建个性模板。利用通用模板建立主题窗口的方式是File-New-Other-Forms-About box。按此顺序依次点击便进入主题创建界面,添加相应组件便如上图所示。其中调用ShellAPI函数中的shellExecute命令可以直接向邮箱地址发送电子邮件。具体程序如下所示: shellExecute(handle,open,mailTo:,nil,nil,SW_SHOWNORMAL);帮助由于软件功能教简单,帮助文件只是个弹出式对话框。软件详细使用方法见Readme.txt。4.5 “工具栏”功能简介与实现方法工具栏是对文件进行编辑处理的按钮集成栏。其主要按钮如图4.16所示。图4.16 “工具栏”工具栏依托菜单栏内主要程序。由于工具栏按钮均为单击事件,因此在设置好按钮大小、位置、其上信息、图片索引等信息后,将Onchange时间链接到与其功能一致的时间上。从而实现代码的共享。由于主要功能于前已述,这里从略。值得强调两点是Toolbutton组件属性中ShowCaption需要设置为True才能向按钮中添加文字信息,另外由于采用两个Treeview组件,而且需要对切换按钮的不同点击实现不同功能,因此本次设计实际上采用了两个Toolbutton组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论