欢迎来到天天文库
浏览记录
ID:38234742
大小:123.84 KB
页数:4页
时间:2019-05-26
《BOM展开的树型结构实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据第22卷第1期大连铁道学院学报VoI22No1—:!竺!兰!!竺!!!垒!星!!垒!!垒!!垒!!坚垒!!!!!坚!!!竺!!!!!!文章编号:1000-1670(2001)Ol一0056-04BOM展开的树型结构实现黄明1,王海峰1,刘幼芝2(1大连铁道学院电气工程系,辽宁大连”6028;2大连铁道学院计算中心,辽宁大连116028)摘要:介绍了树型结构如何用v釜ualBasic语言的数组表示及实现遍历,以及如何用Tr茁VJew控件显示BOM.给出了数据结构的描述及算法的流程.并在大连机车厂CIMS工程的车间管理系统中成功应用.本方法对其
2、他类似的实际应用也有吝考价值.关键词:树;BOM;TreeView控件中图分类号:TP311.13文献标识码:ABOM是MRPII系统中的一个术语,即物料清单(BillofMaterial),是一种描述配件的结构化的零件表,其中包括所有子装配件、零件、原材料的清单,以及制造一个装配件所需物料的数量.MRP]I系统要正确计算出物料需求的数量和时间,特别是相关需求物料的数量和时间,首先要使系统能够知道企业制造的产品结构和所有要使用到的物料.为了便于计算机识别,必须把产品结构图转换成规范的数据格式,这种用规范的数据格式来描述产品结构的文件就是物料清单(B
3、OM).物料清单是运行MRPII系统的主导文件.企业各个业务部门都要依据统一的物料清单进行工作.因此在MRPII系统中物料清单的影响面最大,对它的准确性要求也最高”】.鉴于BOM在MRPII系统中的重要地位,设计与实现一个界面友好而直观的BOM查询、维护接口就显得非常重要.为了将BOM中某种产品的所有构成部件按层次关系全部显示出来,以使产品及其构成的父子关系一目了然,这里使用了树型结构来显示产品.为实现此功能,就需要使用树型结构来描述产品.在数据结构中.树型结构是一类非常重要的非线性结构.直观来看,树是以分支关系定义的层次结构.树结构在客观世界中广
4、泛存在,如家谱和社会组织机构都可用树来形象地表示.树在计算机领域也有广泛的应用.如在编译程序中,用树来表示源程序语法结构:数据库系统也可以用树来组织信息.一般来说,分等级的分类方案都可以用层次结构来表示,也就是附图树的结构层次说,可用树结构来实现.树的结构如附图所示.其中,A称为树的根,B、C、D称为A的孩子,A为B、c、D的双亲,B、c,D互为兄弟,E的祖先为A、B,E、F、G、H,I、J称为叶子结点9.收稿日期:2000—12—20基金项目:国家863/C1_MS主题(863·511-810—133)资助项目作者简介:黄明(1961一),男,教
5、授,博士,主要研究方向为管理信息系统.知识系统等万方数据第1期黄明等:BOM展开的树型结构实现571BOM的存储树型结构一般有三种常用表示法:双亲链表表示法、孩子链表表示法和孩子兄弟链表表示法.其中第一种表示法可以用数组实现,第二种和第三种只能用动态链表实现.在c语言中可以很方便地用指针结构以动态链表的形式实现树的存储及遍历.但是,visualBa-sic语言没有提供指针数据类型,不能用动态链作为存储结构,所以不能采用第二种和第三表示法,而只能采用第一种表示法,即基于数组的表示法一双亲表示法.BOM的数据结构可如下:TypemytypeDimdat
6、aaSdatatype7数据域D妇parent∞String’游标域。指向双亲Endtype但是严格地讲,BOM的层次关系是一张图,不同的结点可拥有相同的子树,因为一个车型上很可能有几个部件使用相同的子件,这样结点之间就可能出现交叉的连接.为使结点之间的树的层次关系清晰.没有交叉关系,作者在大连机车厂的车间管理系统的实际应用中,设计数据库的BOM表的相关结构在VisualBasic语言中用以下结构表示:TypemytypefatherAsString’父件图号nalitAsString’父件名称drawingnoAsString’子件图号typeA
7、sString’机车类型nuraberAsInteger7子件数量EndType其中父件图号及子件图号作为关键字,唯一地确定一条记录,同一父件的相同子件在子件数量上反映出来,这样就可以确保不会出现重复记录,也保证了BOM表的树型层次关系.2BOM的树型显示为实现BOM树型结构的显示,本文使用了VisualBasic语言的TreeView控件.TreeView控件足VisualBasic6.0提供的一个ActiveX控件.它显示Node对象的分层列表,Node对象是TleeView控件中的一项,它包含图像和文本.Nodes集合包含一个或多个Node对
8、象.语法:treeview.NodestreeviewNodesItem(index)t:2l-语法行,按照标准的集合语法
此文档下载收益归作者所有