版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、物资管理系统学 院专 业班 级学 号姓 名指导教师教师职称年月日摘要【摘要】随着市场经济的高速发展,物资管理越来越重要,如何降低成本,提高工作效率是物资管理者需要解决的一个实际问题,本系统从实际出发,在分析目前物资管理中存在的问题基础上,结合管理信息系统开发的概念,结构及系统开发的基本原理和方法开发的。系统支持多形式客户的数据共享、提高作业效率、监控整个物资进库、出库流程、提供完整的物资出库、入库信息,并且特别关注对各环节业务的监控及例外情况的监控。【关键词】 物资 物资入库 物资出库目录摘要1目录10 引言11 系统分析31.1 需求分析31.2 可行性分析32 总体设计32. 1 项目规划
2、32. 2 功能框图43 系统设计43.1 设计目标43.2 开发及运行环境43.3 逻辑结构设计54 主要功能模块设计64.1 主窗体设计64.2 基础窗体创建134.3 物资入库管理模块设计144.4 物资出库管理模块设计19附录一 参考文献30附录二 数据表31附录三 文件架构图380 引言物资管理在企业生产经营中非常重要,物资管理的好环,直接影响着企业的经营生产和发展进步。由于物资供应渠道多、品种规格千变万化,这就使得物资的供应和管理变得复杂和困难。如何加强企业成本意识,做好物资供应、降低库存、加速资金周转、加强物资使用监督和财务监督以成为企业领导愈加关注的问题。在物资管理中采用计算机
3、管理十分必要,这对于搞好物资的供、管、用三方面的工作,保障供应,合理地使用物资,提高物资管理劳动生产率,促进企业健康发展具有重要意义。采用计算机物资管理系统,具有以下优点:1、利用计算机和信息技术,可以代替人工劳动,减轻工作人员工作量和工作繁琐程度,提高工作效益和工作质量等。2、通过对库存的有效管理,可以节约资金占用,降低库存,提高经济效益。 3、通过对材料消耗的控制,降低生产成本。4.、通过对供应渠道的有效管理,加强与供应商的协作,提高市场反应能力。5.、通过全面、准确的数据,为各级领导提供有力的决策信息。1 系统分析1.1 需求分析通过调查,要求系统具有以下功能:q 有良好的人机界面,操作
4、简单、方便。 q 支持不同级别管理人员的操作,要有较好的权限管理。q 要求支持多行录入功能,支持鼠标、键盘的操作。q 为了方便用户查询,要求支持多条件查询。q 编号是物资的惟一标识,要求支持编号的自动生成。q 系统具有数据备份及数据还原功能。能够保证系统数据的安全性。q 数据计算自动完成,尽量减少人工干预。q 支持报表的打印。1.2 可行性分析物资管理系统使用delphi 7.0开发,delphi是基于窗体和面向对象的,对数据库有强大的支持。开发数据库简单、高效。数据库采用sql server 2000数据库,以保证数据的安全和高效。2 总体设计2. 1 项目规划物资管理系统是一个典型的数据库
5、应用程序,由启动窗体模块、登录模块、系统主界面模块、基础信息模块、物资管理模块、信息查询模块、红字冲销模块、系统管理模块等组成,特规划功能如下:q 基础信息模块基础信息模块的主要功能是对仓库基础信息、物资基础信息、供应商信息、职务信息、员工信息、操作员信息进行管理。q 物资管理模块物资管理模块主要功能是对物资的入库、出库、入库退货、维修、报废、报损、报溢进行管理。q 信息查询模块信息查询模块主要功能是对物资入库、物资出库、物资退货、物资维修、物资报废、物资报损、物资报溢和供应商结款进行高效的查询。q 红字冲销模块红字冲销模块主要是对入库票号、出库票号、入库退货票号、维修票号、报废票号、报损票号
6、、报溢票号和供应商结款票号进行冲销。q 系统管理模块系统管理模块主要功能是系统登录、口令修改和系统退出。2. 2 功能框图图1 功能框图3 系统设计3.1 设计目标根据企业的需要和物资管理的特点,该系统在实施后,应能达到以下目标:q 支持多行输入,自动生成编号。q 界面美观友好、操作简单、信息查询灵活、方便、快捷、准确。q 强大的打印功能,让用户随时了解物资库存情况。q 提高工作效率,降低成本。q 对用户输入的数据进行过滤,当输入有误或不正确时提示用户。q 数据保密性强,用户对应不同的权限级别。q 系统最大限度地实现了易安装性、易维护性和易操作性。q 系统运行稳定、安全可靠。3.2 开发及运行
7、环境系统开发平台:delphi 7.0。数据库管理系统软件:sql server 2000。运行平台:windows xp/ windows 2000。分辨率:最佳效果1024*768。3.3 逻辑结构设计本系统数据库采用sql server 2000数据库,系统数据库名称为“db_bpglxt”。数据库db_bpglxt中包含24个表。下面分别给出数据库概要说明和数据表的结构。1数据表概要说明数据表概要说明图,如图2所示。图2 数据库概要说明2数据表的结构由于篇幅所限,关于数据库中的数据表请参见附录b。4 主要功能模块设计4.1 主窗体设计主程序窗体是程序控制的中心,操作权限、程序功能调用等
8、都要通过主程序窗体调用实现。物资管理系统主窗体将桌面导航图窗体嵌入到主窗体中。备品管理系统主窗体运行结果如图3所示。导航窗体主窗体图3 主窗体运行结果1窗体设计步骤(1)运行delphi会自动创建一个窗体,设置该窗体为程序主窗体,命名为“t_main”,设置窗体的caption属性为“备品管理系统”;windowstate属性为“wsmaximized”;keypreview属性为“true”。(2)在“win32”组件页中点选“timagelist”组件,添加到窗体上,命名为“imagememu”,设置该组件的height属性为“22”;width属性为“22”。双击该组件,在弹出的对话框中
9、单击【add】按钮,添加图标,如图4所示。图4 添加图标(3)在“standard”组件页中点选“tactionlist”组件,添加到窗体上,命名为“list1”。设置该组件的images属性为“imagememu”,双击list1组件打开编辑器,单击【new action】按钮添加actions对象,并设置相应的caption属性和name属性,如图5所示。 图5 添加动作项(4)在“additional”组件页中点选“tactionmanager”组件,添加到窗体上,命名为“actionmanage1”,双击该组件打开动作编辑器,选择“toolbars”选项卡,单击【new】按钮,添加“t
10、actiontoolbar”对象,如图6所示。图6 添加tactiontoolbar对象(5)在窗体上点选actionmanager1组件,在“object inspector”窗口中,单击actionbars属性右侧的【】按钮,弹出对话框如图7所示。图7 菜单栏设置1(6)在弹出的对话框中点选“0-actionbar-actiontoobar1”,在“object inspector”窗口中,单击items属性右侧的【】按钮,在弹出的对话框中,单击【add new】按钮添加菜单项,并设置各个菜单项的caption属性,如图8所示。 图8 菜单栏设置2(7)点选各菜单项,在“object in
11、spector”窗口中,单击items右侧的【】按钮,在弹出的对话框中设置子菜单项的action属性和caption属性,如图9所示。 图9 菜单栏设置3(8)在“win32”组件页中点选“tstatusbar”组件,添加到窗体上,命名为“statusbar1”。statusbar组件用于显示状态信息,双击statusbar1组件,在弹出的对话框中单击【add new】按钮添加面板。在“object inspector”窗口中设置面板的width属性、text属性和alignment属性,如图10所示。 图10 面板编辑器(9)在“win32”组件页中点选“tcoolbar”组件,添加到窗体上
12、,命名为“coolbar1”。在“win32”组件页中点选“ttoolbar”组件,添加到coolbar1组件上,命名为“toolbar1”。在“additional”组件页中点选多个“tspeedbutton”组件,添加toolbar1组件上,分别设置它们的caption属性为“登录”、“口令”、“库存”、“盘点”、“职务”、“员工”、“备品”、“入库”、“操作员”,单击glyph属性右侧的【】按钮为tspeedbutton组件添加图标。点选tspeedbutton组件为其action属性设置要执行的动作。(10)添加tpanel组件到toolbar1组件上,命名为“panel2”,设置其a
13、lign属性为“alright”。在“win32”组件页中点选“tanimate”组件,添加到“panel2”组件上,设置该组件align属性为“alclient”。(11)在窗体上添加timage组件,设置该组件的align属性为“alclient”;stretch属性为“true”。通过设置picture属性为该组件指定一张图片。(12)添加tpanel组件到窗体上,设置该组件的align属性为“alclient”;docksite属性为“true”。桌面导航图窗体设计步骤如下:(13)单击【new form】按钮添加一个新窗体,命名为“t_interfase”。在窗体上添加tpanel组
14、件,命名为“panel1”。添加timage组件到panel1组件上,命名为“image1”。在窗体上添加tpanel组件,命名为“panel2”。属性设置如表1所示。表1 主要组件对象的属性列表对象名对象类型属性值t_interfasetformborderstylebstoolwindowcaption桌面导航图dragmodedmautomaticdragkinddkdockpanel1tpanelalignalleftimage1timagealignalclientpanel2tpanelalignalclient(14)添加tpanel组件到panel1组件上,命名为“panel3
15、”。设置该组件的align属性为“alclient”;caption属性为空。(15)添加timage组件到panel2组件上,设置该组件的align属性为“alclient”;stretch属性为“true”。(16)在“additional”组件页中点选“tsplitter”组件,添加到窗体上,命名为“splitter1”。拖动该组件到panel1组件和panel2组件中间位置。(17)添加5个tspeedbutton组件到panel3组件上,分别设置其caption属性为“基础信息”、“备品管理”、“信息查询”、“红字冲销”、“系统管理”。(20)添加timagelist组件到窗体上,设
16、置该组件的height属性为“60”;width属性为“60”。双击该组件在打开的对话框中添加图标。2程序相关代码在桌面导航图窗体【基础信息】按钮的单击事件处理过程中,动态添加按钮并设置相关属性。代码如下:procedure tt_interfase.basicinfoclick(sender: tobject);var itemcount: integer; temptag,i: integer; button: tspeedbutton; rowid: integer; imageindex: integer; columnid: integer; /由按钮索引计算按钮列begin tem
17、ptag := tcomponent(sender).tag; case temptag of 1: imageindex := 0; 2: imageindex := 6; 3: imageindex := 15; 4: imageindex := 23; 0: imageindex := 31; end; freepanelbutton; /释放panel2中的功能按钮 itemcount := t_main.manager.actionbars0.itemstemptag.items.count; /对应菜单的功能项数 for i := 1 to itemcount do begin b
18、utton := tspeedbutton.create(panel2); with button do begin flat := true; caption := t_main.manager.actionbars0.itemstemptag.itemsi-1.caption; parent := panel2; hint := caption; showhint := true; layout := blglyphtop; if i 0 then begin if i mod maxcountperrow = 0 then rowid := i div maxcountperrow el
19、se rowid := i div maxcountperrow+1; end else begin rowid := 1; end; .计算行号. columnid := i mod maxcountperrow; /计算列号 if columnid = 0 then columnid := maxcountperrow; if columnid = 1 then left := buttonleft else begin left := buttonleft+ (columnid-1)*(buttonwidth+horinterval); end; top := topmargin+(ro
20、wid-1)*(buttonheight+verinterval); (*.设置按钮位置.*) end; end;end;定义过程freepanelbutton释放panel2中的功能按钮。代码如下:procedure tt_interfase.freepanelbutton;var i: integer;begin for i := panel2.controlcount-1 downto 0 do if panel2.controlsiis tspeedbutton then begin tspeedbutton(panel2.controlsi).free; end;end;在主窗体的o
21、ncreate事件中,设置动作提示信息,在状态栏中添加tcheckbox组件。procedure tt_main.formcreate(sender: tobject);var i: integer; checkpos: integer; /检查框出现的位置begin /设置动作项提示信息 for i := 0 to list1.actioncount-1 do taction(list1.actionsi).hint := taction(list1.actionsi).caption; application.onhint := showhint; checkpos := 0; /在状态栏
22、中创建复选框,并设置复选框的单击事件 with showinter do begin showinter := tcheckbox.create(self); width := checkwidth; height := checkheight; parent := statusbar1; caption := 显示界面; checked := true; onclick := intercontrolexecute; for i := 0 to sta_showinterfase-1 do checkpos := checkpos+ statusbar1.panelsi.width; lef
23、t := checkpos+ (statusbar1.panelssta_showinterfase.width-width) div 2); top := (statusbar1.height-height) div 2+1; show; end;end;在主窗体的onshow事件处理过程中,将初始化窗口,如果不存在配置文件则弹出登录服务器窗口。显示登录窗口。procedure tt_main.formshow(sender: tobject);var ini: tinifile; server,database,user,password: string;begin /设置窗体界面,即只显
24、示窗体背景图片效果还是在窗体中嵌入一个子窗体 intercontrolexecute(sender); /调用初始化窗口 application.createform(tf_ini,f_ini); f_ini.showmodal; f_ini.free; ini := nil; /配置信息是否存在 if not fileexists(extractfilepath(application.exename)+login.ini) then /判断文件是否存在 begin /调用登录服务器窗口,登录服务器并记录登录信息 application.createform(tf_loginserver,f
25、_loginserver); f_loginserver.showmodal; f_loginserver.free; end else /读取配置信息 begin try ini := tinifile.create(extractfilepath(application.exename)+login.ini); server := ini.readstring(配置信息,服务器,); database := ini.readstring(配置信息,数据库,); user := ini.readstring(配置信息,用户名,); password := ini.readstring(配置信
26、息,密码,); try t_data.connection1.connectionstring := provider=sqloledb.1;password=+trim(password)+;persist security info=true;user id=+trim(user)+;initial catalog=+trim(database)+;data source=+trim(server); t_data.connection1.open; except if application.messagebox(数据库连接失败,是否重新连接数据库?,提示,mb_yesno) = id_
27、yes then begin application.createform(tf_loginserver,f_loginserver); f_loginserver.showmodal; f_loginserver.free; end; end; finally ini.free; end; end; login.execute; statusbar1.panelssta_date.text := formatdatetime(yyyy-mm-dd,now); /加载avi动画 if fileexists(extractfilepath(application.exename)+avistor
28、e.avi) then begin animate.filename := extractfilepath(application.exename)+avistore.avi; animate.active := true; end;end;4.2 基础窗体创建创建基础窗体主要是提高开发速度和代码的利用率,从基础窗体继承的子窗体具有基础窗体的全部功能。基础窗体如图11所示。图11 基础窗体1窗体设计步骤添加一个新窗体,命名为“f_frame”,设置其borderstyle属性为“bsdialog”;keypreview属性为“true”。2程序相关代码在窗体的onkeydown事件处理过程中设
29、置,如果用户按下esc键关闭窗体。代码如下:procedure tf_frame.formkeydown(sender: tobject; var key: word; /按esc键关闭窗体 shift: tshiftstate);begin if key = vk_escape then close;end;定义过程“findnext(direct: boolean);”,使用enrter键代替tab键。代码如下:procedure tf_frame.findnext(direct: boolean);begin findnextcontrol(activecontrol,direct,fa
30、lse,false).setfocus;end;4.3 物资入库管理模块设计物资入库管理模块主要功能是记录物资入库的相关信息,使用tstringgrid组件实现多行录入。物资入库管理模块运行结果如图12所示。图12 物资入库管理模块运行的结果1窗体设计步骤(1)选择“file”/“new”/“other”菜单项,打开“new items”对话框,选择“bpglxt”选项卡,点选“f_frame”,以继承方式使用该窗体。单击【ok】按钮添加一个新窗体,命名窗体为“f_instore”,设置caption属性为“物资入库管理”。(2)在窗体上添加tlabel组件,命名为“label1”。设置该组件
31、的caption属性为“物资入库管理”,设置label1组件的font属性如图13所示。图13 font属性设置(3)在窗体上添加tpanel组件,命名为“panel2”。设置该组件的align属性为“albottom”;caption属性为空。(4)添加4个tlabel组件到panel2组件上,分别设置它们的caption属性为“供应商名称”、“负责人”、“操作员”、“时间”。添加4个tedit组件到panel2组件上,分别命名为“providername”,“principal”,“operator”。添加tdatetimepicker组件到panel2组件上,命名为“date”。(5)在
32、窗体上添加tpanel组件,命名为“panel1”。设置该组件的align属性为“albottom”,在panel1组件上添加4个tlabel组件和4个tedit组件。(6)在窗体上添加tpanel组件,命名为“panel3”。在该组件上添加3个tbitbtn组件,分别命名为“save”、“cancel”、“quit”。(7)添加tstringgrid组件到窗体上,命名为“reginfo”。设置该组件的align属性为“albottom”;colcount属性为“9”;rowcount属性为“2”;ctrl3d属性为“false”。(8)在窗体上添加tdatasource组件,命名为“regs
33、ource”;添加tlistbox组件,命名为“list”;添加tcombobox组件,命名为“comstorage”;添加tdbgrid组件,命名为“grid”。设置grid组件的datasource属性为“regsource”。设计期物资入库窗体如图14所示。图14 设计期物资入库管理模块2程序相关代码在窗体的onshow事件处理过程中设置tstringgrid组件相关属性,将仓库信息添加到tcombobox组件中。代码如下:procedure tf_instore.formshow(sender: tobject);begin inherited; with reginfo do beg
34、in /设置字段名称 cellsbarcode,0:=条形码; cellsstorename,0:= 物资名称; cellsbasicunit,0:=基本单位; cellsstockunit,0:= 采购单位; cellsconvertions,0:= 换算关系; cellsunitprice,0:= 单价; cellsnum,0:=数量; cellsmoney,0:= 金额; cellsstoragename,0:=仓库名称; end; with t_data.query1 do /查询仓库名称,将其添加到组合框中 begin close; sql.clear; sql.add(select
35、 storagename from tb_storageinfo); open; end; if t_data.query1.recordcount0 then begin while not t_data.query1.eof do begin comstorage.items.add(trim(t_data.query1.fieldbyname(storagename).asstring); t_data.query1.next; end; comstorage.itemindex := 0; end; cancel.click;end;在tstringgrid组件的onkeypress事
36、件处理过程中限制输入的内容。代码如下:procedure tf_instore.reginfokeypress(sender: tobject; var key: char);begin inherited; if (col = unitprice)or(col = num)or(col = convertions) then begin if not (key in 0.9,.,#8) then /只允许输入数字键和退格键 key := #0 /输入空字符 end;end;keypress键盘事件该事件是当用户按下ascii字符的键盘时发生的。在该事件下的key参数是一个数字,代表字符的as
37、cii值,如13(回车键)或27(esc键)。示例代码如下:if key=#13 then edit2.setfocus /回车后,焦点跳转到edit2组件。在tstringgrid组件的onselectcell事件处理过程中设置单元是否可编辑。代码如下:procedure tf_instore.reginfoselectcell(sender: tobject; acol, arow: integer; var canselect: boolean);begin inherited; row := arow; col := acol; /当物资名称为空时可以编辑条形码,当条形码为空时可以编辑
38、物资名称,/当条形码不为空时可以编辑单价、数量 if (col = barcode)and(trim(reginfo.cellsstorename,row)=)or(col = storename)and(trim(reginfo.cellsbarcode,row)=)or (col = unitprice)and(trim(reginfo.cellsbarcode,row)or(col = num)and(trim(reginfo.cellsbarcode,row)or (col = convertions)and(trim(reginfo.cellsbarcode,row)then reg
39、info.options := reginfo.options + goediting else reginfo.options := reginfo.options - goediting;end;在tstringgrid组件的onsetedittext事件处理过程中,设置tdbgrid组件出现的位置。代码如下:procedure tf_instore.reginfosetedittext(sender: tobject; acol, arow: integer; const value: string);var cellrect: trect; /记录单元格的区域,用于设置begin in
40、herited; if reg = false then begin grid.visible := false; /使辅助录入表格不可用 if (acol = storename) then /按仓库名称或简码进行匹配查询 begin with t_data.query1 do begin close; sql.clear; sql.add(select * from tb_storeinfo where storename like :storename or nameshort like :nameshort); parameters.parambyname(storename).val
41、ue := trim(reginfo.cellsstorename,arow)+% ; parameters.parambyname(nameshort).value := trim(reginfo.cellsstorename,arow)+% ; open; end; if t_data.query1.recordcount0 then /根据用户的输入是否有匹配的数据 begin regsource.dataset := t_data.query1; if not grid.visible then /计算表格应出现的位置 begin cellrect := reginfo.cellrec
42、t(acol,arow); cellrect.left := cellrect.left+reginfo.left; cellrect.right := cellrect.right+ reginfo.left; cellrect.top := reginfo.top+ cellrect.top; grid.left := cellrect.right+1; grid.top := cellrect.top; grid.visible := true; end; end else begin regsource.dataset := nil; grid.visible := false; ap
43、plication.messagebox(该物资信息不存在.,提示,64); reg := true; reginfo.cellsstorename,row:=; reginfo.col := storename; end; end else if (acol = unitprice)or(acol = convertions)or(acol= num) then /计算金额 begin if (trim(reginfo.cellsunitprice,row)and(trim(reginfo.cellsconvertions,row)and(trim(reginfo.cellsnum,row)
44、then begin reginfo.cellsmoney,row:= floattostr(strtofloat(reginfo.cellsconvertions,row)*strtofloat(reginfo.cellsnum,row)*strtofloat(reginfo.cellsunitprice,row); end else reginfo.cellsmoney,row:= ; stocktotal.text := floattostr(calculatemoney); end; if (row = reginfo.rowcount-1)and(currentisnull = fa
45、lse) then begin reginfo.rowcount := reginfo.rowcount+1; end; end;end;4.4 物资出库管理模块设计物资出库管理模块主要功能是记录物资出库的相关信息。物资出库管理模块运行的结果如图15所示。图15 物资出库管理模块运行的结果1窗体设计步骤(1)选择“file”/“new”/“other”菜单项,打开“new items”对话框,选择“bpglxt”选项卡,点选“f_frame”,以继承方式使用该窗体。单击【ok】按钮添加一个新窗体,命名窗体为“f_storeout”,设置caption属性为“物资出库管理”。(2)在窗体上添加t
46、label组件,命名为“label1”。设置该组件的caption属性为“物资出库管理”。(3)在窗体上添加tpanel组件,命名为“panel2”。设置该组件的align属性为“albottom”;caption属性为空。(4)添加4个tlabel组件到组件panel2组件上,分别设置它们的caption属性为“领取人”、“库存员”、“操作员”、“时间”。添加3个tedit组件到panel2组件上,分别命名为“outperson”,“storemanager”,“operator”。添加tdatetimepicker组件到panel2组件上,命名为“date”。(6)在窗体上添加tpanel
47、组件,命名为“panel3”。在该组件上添加3个tbitbtn组件,分别命名为“save”、“cancel”、“quit”。添加tlabel组件到panel3组件上;添加tedit组件到窗体上,命名为“memo”,主要组件属性设置如表2所示。表2 主要组件对象的属性列表对象名对象类型属性值savetbitbtncaption保存cancel取消quit退出(7)添加tstringgrid组件到窗体上,命名为“reginfo”。设置该组件的align属性为“albottom”;colcount属性为“4”;rowcount属性为“2”;ctrl3d属性为“false”。(8)在窗体上添加tdat
48、asource组件,命名为“regsource”;添加tlistbox组件,命名为“list”;添加tcombobox组件,命名为“comstorage”;添加tdbgrid组件,命名为“grid”。设置grid组件的datasource属性为“regsource”。设计期物资出库窗体如图16所示。图16 设计期物资出库管理模块2程序相关代码在窗体的onshow事件处理过程中,设置tstringgrid组件表格字段名称,向tcombobox组件中添加仓库名称。代码如下:procedure tf_storeout.formshow(sender: tobject);begin /在窗体显示时,设
49、置表格字段名称,向组合框中添加仓库名称 inherited; with reginfo do begin cellsbarcode,0:=条形码; cellsstorename,0:= 物资名称; cellsnum,0:=数量; cellsstoragename,0:=仓库名称; end; with t_data.query1 do begin close; sql.clear; sql.add(select storagename from tb_storageinfo); open; end; if t_data.query1.recordcount0 then begin while n
50、ot t_data.query1.eof do /利用循环的方式向组合框中添加仓库名称 begin comstorage.items.add(trim(t_data.query1.fieldbyname(storagename).asstring); t_data.query1.next; end; comstorage.itemindex := 0; end; cancel.click;/调用取消按钮的单击事件进行初始化end;在tstringgrid组件的onkeypress事件处理过程中限制输入的内容。代码如下:procedure tf_storeout.reginfokeypress(sender: tobject; var key: char);begin inherited; if col = num then begin if not (key in 0.9,.,#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网服务备案管理规则
- 犹太教堂防水施工墙面协议
- 研发经理解除聘用合同分析
- 图书馆环境卫生工招聘合同
- 2024年网络游戏运营合同范本
- 2024年物联网技术应用开发与合作合同
- 地下排水桩基夯扩桩施工合同
- 2025年酒水新品研发与技术合作合同2篇
- 2025版智能家居系统解决方案供货与安装合同
- 2024年瑜伽馆学员培训协议3篇
- 脑卒中偏瘫患者早期康复护理现状(一)
- 模特的基础训练
- 急救技术-洗胃术 (2)
- 药品招商流程
- 混凝土配合比检测报告
- 100道递等式计算(能巧算得要巧算)
- 【2019年整理】园林景观设计费取费标准
- 完整word版,ETS5使用教程
- 《血流动力学监测》PPT课件.ppt
- 2018年秋季人教版十一册数学第7、8单元测试卷
- 学生作业提交与批阅系统的设计与实现探讨
评论
0/150
提交评论