毕业设计(论文)-基于OpenGL的立体模型库.doc_第1页
毕业设计(论文)-基于OpenGL的立体模型库.doc_第2页
毕业设计(论文)-基于OpenGL的立体模型库.doc_第3页
毕业设计(论文)-基于OpenGL的立体模型库.doc_第4页
毕业设计(论文)-基于OpenGL的立体模型库.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

济南大学毕业设计1 前言1.1 选题背景OpenGL(全称Open Graphics Library)是一个定义了跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)的处理1。OpenGL是个专业的三维图形程序接口,是一个功能强大,并且调用方便的底层图形库。目前,OpenGL仍然是仅有的能够取代微软对3D图形技术的完全控制的接口。它仍然具有很强的生命力,但是Silicon Graphics公司已经不再用任何让微软不悦的方式推广Open GL了,因而它存在较高的风险性。图形程序开发人员是一个有着独立思想的人群,很多开发人员目前仍然在使用OpenGL图形库。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和某些专业应用; 所以OpenGL在这些领域任然占据着统治地位。目前,国内的三维开发技术正处于追赶国外技术的关键时期,从三维程序的创意、策划、研究开发与实现,到软件的运营与维护,都有大量的地方值得我们学习和探究。由于 Linux 操作系统平台的广泛推广,基于Linux 的各种应用软件也在不断壮大,因此基于跨平台的三维图形处理软件开发也越来越受重视。OpenGL是一种独立且与平台无关的三维图形开发库,在各种语言下都能进行主框架开发并结合应用OpenGL 函数都可以开发出三维软件。但是由于框架开发的平台相关性从而使编成的三维图形处理软件无法跨平台编译运行,因此glut + OpenGL 的方式成了一种很好的选择。但是在对复杂框架和各种媒体的支持方面,glut 并不理想。在Linux 下可以采用FLTK 等框架平台技术实现包括按钮在内的比较复杂的框架功能,但是需要专门的Linux 开发环境,众多的Window 环境下的KDE 开发者明显对此无法适从。相反,SDL(Simple DirectMedia Layer)作为免费的跨平台多媒体应用编程接口,已经被人们广泛用于开发二维软件,其优秀的消息框架支持、文件支持和声音支持等都使得它成为能与微软DirectX 匹敌的最为成熟的技术之一。1.2 选题意义目前,基于OpenGL的三维立体图形软件都是一些有关绘制三维立体图,或者处理三维立体图的软件,对于有些常用的立体图形一到用时就得从新加载到三维立体软件中,没有进行系统的管理。这样一来就给学习和工作带来诸多的时间浪费。为了解决上面的问题,从而更高效的实现对立体模型的管理应用,我选择了这个软件(基于OpenGL的立体模型库软件开发)作为毕业设计。软件通过OpenGL与ACCESS数据库相结合,提高对三维立体模型的高效、交互式的管理。1.3 设计思路针对上面提到的,该软件要通过OpenGL与ACCESS相结合实现高效的、交互式的管理,我想到了下面的的软件设计方案。首先,该软件分为两大模块。第一个模块就是OpenGL的框架模块。这个模块是通过Visual C+,利用OpenGL的库函数系统编程一个基于OpenGL的三维模型处理窗口框架。在该窗口里面能实现对三维模型的浏览、旋转和缩放。这一部分是该软件的基础部分,也是最底层的框架结构。第二个模块就是ACCESS的数据库管理模块。这个模块是通过ACCESS建立三维立体图形的数据库,并对数据库实现查看、添加和删除。然后,通过Visual C+编程将OpenGL的三维模型处理窗口模块与ACCESS的数据库管理模块结合起来。这样这个软件就成型了。通过这个软件可以在数据库里面调用三维模型的数据来在OpenGL窗口里面查看三维立体图形,这样就更形象的理解与操作三维立体模型。也可以在窗口上实现智能化、形象化的三维立体模型数据库管理。从而实现更高效、交互式的三维立体模型库的管理。2 设计中所用的软件及接口技术简介 在该软件程序设计共用了三个软件及接口技术:Visual C+、OpenGL、Access。 2.1 Visual C+简介Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序软件。Visual C+是一个功能强大的可视化软件开发工具。自从1993年Microsoft公司推出Visual C+1.0后,随后其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选编程软件。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用有很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0操作系统下。所以在实际的软件开发中,更多的是以Visual C+6.0为开发平台。Visual C+6.0不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发组件工具包。2.1.1 Visual C+组成部分Visual C+由三个部分组成:Developer Studio、MFC、Platform SDK。(1)Developer Studio,它是Visual C+的一个集成开发环境,我们日常工作的99%都是在它上面完成程序开发的,加上它的标题赫然写着“Microsoft Visual C+”,所以很多人都理所当然的认为,那就是Visual C+了。其实不是这样的,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能。其实Developer Studio并不是只用于VC的,它也同样用于VB,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+, 它仅仅只是Visual C+的一个壳子。(2)MFC,如果从理论上来讲,MFC也不是仅仅专用于Visual C+,Borland C+,C+Builder和Symantec C+同样可以处理MFC。同时,用Visual C+编写代码也并不意味着一定要用MFC,如果可以,用Visual C+中的STL,ATL编写程序也是一样没有限制的。但是,Visual C+很多功能本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C+而不用MFC就相当于抛弃了Visual C+中很大的一部分功能。(3)Platform SDK,这才真正是Visual C+和整个Visual Studio的主要部分,即使我们很少直接的接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,所以这项工作是由CL、NMAKE和其他许许多多命令行程序来完成的。这些我们所看不到的程序才是构成Visual Studio的基础。2.1.2 Visual C+ 6.0的使用方法启动Microsoft Visual C+ 6.0(其启动界面如图下图2.1) 图2.1选择:“文件”下的“新建”选项,在打开的对话框中选择“工程”选项 再选择你所需要的工程类型-填写“工程名称”-选择工程存储“位置”-点击“确定”. 然后再选择:“文件”下的“新建”选项,在打开的对话框中选择“文件” 再选择“C+Source file”-填写“文件名称”-点击“确定”. 这样就建好了一个.cpp的工程文件。 然后你在.cpp文件中写入你的c语言代码就可以了。 代码写好以后你看一下工具里有这样一个图标 依次点,编译,运行就可以了。 2.2 OpenGL简介OpenGL是一个开放式的三维图形软件包,它是独立于窗口系统和操作系统的,以它为基础开发的应用程序可以十分方便地在各种平台之间移植;OpenGL可以与Visual C+紧密结合.OpenGL具有七大功能:1.建模:OpenGL图形库不仅提供了基本的点、线、多边形的绘制函数,此外还提供了复杂的三维物体以及复杂曲线及曲面的绘制函数。 2.变换:OpenGL图形库的变换包括一些基本变换和投影变换。基本变换也即平移、旋转、缩放变换,投影变换包括平行投影(又称正射投影)和透视投影两种。这些变换有利于减少算法的运行时间,提高三维立体图形的显示速度。 3.颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。 4.光照和材质设置:OpenGL光有辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是用光反射率来表示。场景(Scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。 5纹理映射(Texture Mapping):利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。从而感受到其三维立体图形的效果。 6位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提供融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。以上三条可使被仿真物更具真实感,增强图形显示的效果。 7.双缓存动画(Double Buffering):双缓存即前台缓存和后台缓存,简言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。图2.2是OpenGL的运行平台和结构3。图2.2 2.2.1 Visual C+中OpenGL编程的环境配置 要在Visual C+中编写OpenGL的程序需要做如下配置: 首先,将OpenGL开发库的Glu.dll、Glut32.dll、Glut.dll三个文件拷贝到操作系统的system32文件夹中。然后,将OpenGL开发库中的Gl.h、Glaux.h、Glext.h、Glu.h、Glut.h、Wglext.h这六个文件拷贝到Visual C+的“includegl”文件夹下。最后,将OpenGL开发库中的Glaux.lib、Glu32.lib、Glut32.lib、OpenGL.lib四个文件拷贝到Visual C+的静态函数库文件“VClib”文件夹下。至此在Visual C+中OpenGL的编程环境就配置好了,这样就可以进行OpenGL的编程了。2.3 Access数据库的简介Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一2。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员则能使用它来开发简单的应用软件。虽然它支持部分面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。2.3.1 Access与SQL的区别Access是一种桌面数据库,只适用于数据量少的数据库。在处理少量的数据和单机访问的数据库是具有很高的效率。但是它的同时访问客户端不能多于四个。Access数据库有一定的极限,当数据达到100M左右时,很轻易造成服务器的iis假死,或者消耗掉服务器的内存导致服务器崩溃。SQL是基于服务器的中型的数据库,可以适合大容量的数据的应用,在功能上治理也比Access要强得多。在处理大量数据的效率上,后台开发的灵活性,的扩展性等方面要强大得多。如下表2.2是Access与SQL的区别:SQL数据库与Access数据库的特征区别内容Access特征SQL特征版本桌面版网络版,可支持跨界的集团公司异地使用节点一人工作,要锁定,其他人无法使用节点多,支持多重路由器管理权限否管理权限划分细致,对内安全性高防黑客能力否数据库划分细致,对外防黑客能力高并发处理能力100人或稍多同时支持万人在线提交到处XML格式可以,需要单做程序可导出成为XML格式,与Oracle通用数据处理能力一般快是否被优化过否是表2.2由于本设计中数据量比较少,所以选择了适合少量数据的Access数据库。3 系统分析3.1 需求分析 在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。设计这个软件(基于OpenGL的立体模型库软件)主要是目前基于OpenGL的有关软件都是一些绘制或处理三维图形,并没有将日常处理或常用的三维立体图形进行有效的管理,以方便在以后使用相关的三维立体图性。这个软件能通过Visual C+编程把OpenGL窗口框架(OpenGL窗口框架期望效果如图3.1)与三维立体模型数据库结合,达到高效、交互式的管理三维立体模型。方便在三维立体图形中的绘制与教学中三维立体模型的查看与管理。图3.13.2可行性分析要实现该软件主要解决两个问题,怎么实现OpenGL框架与怎么实现数据库?针对这两问题,首先解决OpenGL的框架问题。通过OpenGL的库函数,再通过Visual C+编程,这个问题是可以解决的。在查阅了大量文献后利用OpenGL处理或绘制三维立体模型已经大量的应用了。然后要建立三维立体模型的数据库。做这个软件我选择了Microsoft Access数据库软件,它是用来处理小型数据库的,所以在这个软件中用Access是比较适合这个程序的,因为这个数据库的数据量比较少,也是做的一个比较简单的数据库。解决这两个问题的流程图如下(图3.2):图3.24软件总体设计4.1软件原理分析该软件所处理的三维立体模型是用Autodesk公司的3D Studio Max绘制的立体模型,它所生成的图形文件格式是3DS文件格式。3DS文件由许多块组成,每个块首先描述其信息类别,即该块是如何组成的。3DS格式文件的读入大致可以分为两大部分:文件内容的读入和3D对象的绘制。其中文件内容的读入定义了两个类:CTriObject和CTriList。CTriObject主要用于处理3DS文件中的各种对象,而CTriList主要用于处理对象序列。3D对象的绘制主要是在CTriObject中完成的,其外部形状主要是采用三角形来近似的。该软件是通过软件的数据库管理部分把三维立体模型的数据传送到软件的OpenGL框架窗口中,以达到对三维立体模型的查看、旋转、缩放等处理。然后,通过该软件也能在其数据库管理界面实现对三维立体模型的查看、删除、添加等管理操作,从而来实现软件对三维立体模型的高效、交互式管理。其软件原理流程图如下图4.1所示:图4.14.2软件的实现软件的实现我也是根据前面的模块进行分模块实现的,主要有两大模块:OpenGL窗口框架和三维立体模型的数据库。下面就进行分块实现。4.2.1 OpenGL窗口框架的实现首先设计的是该软件的基础部分OpenGL窗口框架。该程序编辑的OpenGL窗口框架是用Visual C+ 编辑的一个单文档程序。编程步骤如下:(1)先启动Visual C+,选择“新建”菜单,在新建对话框中选择“Project”标签,选择“MFC AppWizard(exe)”,这就新建了一个单文档的工程,取名叫:基于OpenGL的立体模型库如图4.2:如图4.2(2)利用MFC ClassWizard为OpenGLView类添加消息WM_CREATE、WM_DESTROY、WM_SIZE的响应函数。这些函数是对这个窗口实现创建、销毁、控制尺寸的。(3)然后再OpenGLView.h中编辑代码(该程序的详细的代码都不再叙述)。这段代码主要是添加成员函数和成员变量。(4)然后在OpenGLView.cpp中编辑代码。主要是窗口的初始化。(5)在StdAfx.h中编辑代码。主要是包含有关OpenGL函数的头文件。至此,基于单文档的OpenGL窗口的大体框架就做好了(如图4.3)。但这是还不能读入三维立体模型。下一步就是要编辑其读入3DS文件的程序。图4.33DS文件的读入首先要通过glStructures.h函数来插入基本的数据结构定义文件。它主要是定义3DS文件的读入结构。然后通过basicRead.h来定义数据输入函数。然后在工程程序中插入一个新的类C3dsReader,该类主要用于处理3DS文件中的各种块的读入。再在工程中插入一个用于处理3DS文件中各种类对象的类CTriObject。再在工程中插入一个用于处理3DS文件显示中的各种列表的类CTriList。然后再为3DSLoaderView类添加消息函数如:WM_LBUTONDOWN、WM_LBUTTONUP、WM_RBUTTONDOWN等鼠标消息响应函数。这些函数的功能是使我们能通过鼠标来控制三维立体模型,从而来达到对三维立体模型的旋转、缩放等。最后编译、运行,并通过该OpenGL窗口框架打开一个三维立体模型如图4.4所示图三维立体模型数据库实现三维立体模型数据文件的格式是3DS。3DS文件都是分模块的(其块的基本结构如表4.5),最开始的出现的主块是基本块,它包含了整个文件。还有两种主块:3D编辑程序块和关键帧块,前者的ID是3D3D,后者的ID是B000.3D编辑程序块表明编辑程序数据开始,也就是说物体的形状数据定义从此处开始。关键帧块表明下面开始定义关键帧信息。块内相对偏移量长度名称02块的ID24块的长度6n数据6+nm子块信息表4.5 3DS文件块的基本结构软件所用的数据库系统是Microsoft Access数据库。Access有很多的优点,如下:(1)存储方式简单,易于维护管理。Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。 (2)面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 (3)界面友好(其操作界面如图4.6)、易操作 。Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。图4.6(4)集成环境、处理多种数据信。Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 (5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。(6)支持广泛,易于扩展,弹性较大。能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。还可以通过以Access作为前台客户端,以SQL Server作为后台数据库的方式(如ADP)开发大型数据库应用系统。 总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。但ACCESS也有缺点,ACCESS是小型数据库,既然是小型就有它的局限性:(1)数据库过大,一般百M以上(纯数据,不包括窗体、报表等客户端对象)性能会变差。 (2)虽然理论上支持255个并发用户,但实际上根本支持不了那么多,如果以只读方式访问大概在100个用户左右,而如果是并发编辑,则大概在10-20个用户。 (3)记录数过多,单表记录数过百万性能就会变得较差,如果加上设计不良,这个限度还要降低。 (4)不能编译成可执行文件(.exe),必须要安装Access运行环境才能使用。下面就开始对三维立体模型建立数据库。首先打开Microsoft Access,然后建立三个表格:贯穿体表格、柱体表格、组合体表格(如图4.7)。见这三个表格的原因是我把三维立体模型分成了这三种类型,以便在以后方便数据处理。这三个三维立体模型库表格的属性有ID、类型、备注。ID是用来唯一标识一个三维立体模型的码,然后我设置ID为主键。类型是用来分组三维立体模型的,为了方便以后的三维立体模型数据的管理。备注是用来填写三维立体模型的存储路径,为了在使用打开时它能把三维立体模型的存储路径传递给OpenGL窗口,以达到在OpenGL窗口中打开三维立体模型。图4.7建立好模型的数据库以后就是数据库在软件中的链接了。我们的数据库管理层是创建的一个对话框窗口管理。它通过类型的下拉菜单来调用我们的数据库,让他在下面的列表框中显示我们的数据表。然后在数据列表中选中一项数据记录时,再点击“查看模型”按钮时,它就把选中数据记录的“备注”列中的三维立体模型的存储路径值返回给我们的“查看模型”中,然后OpenGL窗口就会调出三维立体模型把它显示在窗口里面。从而实现了三维立体模型的查看。至于实现三维立体模型的添加删除,主要是通过对数据表的操作完成的。具体就是先调出你要添加的三维立体模型的对应表,然后添加一项新纪录,再把三维立体模型拷贝到该程序专门存放三维立体模型库的文件夹里,它就会自动保存这个数据了。4.3软件的运行启动软件打开“文件”,再选择“打开”,通过这个方式能打开没有存进数据库的三维立体模型如图4.8:图4.8 在启动软件时,选择“模型库管理”菜单,就会进入三维立体模型库管理层界面(如图4.9)。在这里面才是通过数据库来对三维立体模型实现查看、添加、删除。 在用软件显示出三维立体模型到OpenGL窗口后,通过鼠标就能控制三维立体模型的旋转、缩放功能。按住鼠标左键不放,在窗口上移动就能实现三维立体模型的旋转;同样,按住鼠标右键不放,在窗口上移动就能实现三维立体模型的缩放功能。 图4.94.4软件的维护软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序。维护的内容主要包括:(1)改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。(2)适应性维护是指使用软件适应信息技术变化和管理需求变化而进行的修改。(3)完善性维护这是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能足非常必要的。(4)预防性维护为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。 针对这个软件,在编程过程中也遇到了一些测试运行不成功的,然后在设计中又引用了其他的一些方法,必定会导致软件的存在一些合理性问题。在软件的移植性上也不是很好因为软件是基于OpenGL的,运行它要调用OpenGL的库函数。当软件在没有OpenGL库函数的微机上运行时,可能会遇到一些意料之外的问题。软件的数据库部分安全问题也是隐患。由于数据部分没有用到加密技术,那么数据很容易就被更改。在数据的管理过程中,由于数据没有设定限制,也可能添加一些不是软件要求格式的三维立体模型数据在里面。5 结 论做这个软件在最初的设计OpenGL窗口框架是出现了背景颜色不是单一的黑色,而是出现了一种“色彩斑斓”的情况。经过反复的检查程序,发现出现这个问题的原因是初始化程序时没有清空屏幕,从而导致它在进行OpenGL窗口初始化时,它会随机的读取内存中的一些颜色参数致使OpenGL窗口不能初始化为单一的黑色背景。另外在软件除做成时,第一次打开三维立体模型时没有出现任何三维立体模型在OpenGL创库中。后面通过排查了数据库建立了、数据传递等处时,发现了是在点击“立体模型”时,他并没有调动“Open file“函数,因为在变编程时在这少添加了一个函数。在对数据库进行添加、删除时,软件让这些操作就在数据库列表中进行操作了,致使软件看起来过于缺乏安全性。所以期望在以后的软件改进过程中能对数据库部分实现一个更安全的操作。在软件的立体模型管理这个对话框界面显得有点单调,也希望在以后的改进中能把这个界面添加一些元素,从而是这个界面能做的更生动,更友好,更充满活力一些。参 考 文 献1 汪池,陈一民,方明伦.VC环境下OpenGL的开发应用J.自然科学报,1999,5:1912 王宇虹,朱亦文,陈格.Access数据库系统开发M.北京:电子工业出版社,2

温馨提示

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

评论

0/150

提交评论