




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理第7章可视化程序设计第7章可视化程序设计7.1 面向对象的程序设计7.2.类的创建7.3.对象的操作7.4.表单设计7.5 常用控件及其应用数据库原理第7章可视化程序设计学习目标学习目标 理解对象的概念;理解类的概念,掌握类的创建方法和对象创建的方法;理解并掌握新建属性和方法程序的方法;理解并掌握VFP提供29种基类;熟练掌握表单的设计与运行的方法;熟练掌握常用控件的使用方法。 数据库原理第7章可视化程序设计重点与难点重点与难点 l重点在于面向对象的概念的理解、控件的设计和表单设计方法的掌握;l难点在于面向对象的事件驱动程序的设计方法的掌握。数据库原理第7章可视化程序设计7.1 面向
2、对象的程序设计面向对象的程序设计l面向对象的程序设计,不是单纯地从代码的第一行一直编到最后一行,而是考虑如何创建对象,用对象的概念来思考,简化了程序设计,提供代码的可重用性。所以对象的概念是面向对象的程序设计的核心。数据库原理第7章可视化程序设计7.1.1 对象l对象是反映客观事物属性及行为特征的描述。一个对象是既包含有数据(也称属性),又包含有处理该数据代码(也称方法)的一个逻辑实体。 l在VFP中,各种对象拥有70多个属性,对象的属性可以在设计对象时定义,也可以在对象运行时进行设置。l对象支持封装性、多态性与继承性。数据库原理第7章可视化程序设计7.1.2 类l类是一组对象的属性和行为特征
3、的抽象描述,是具有共同属性和行为特征的对象集合。l类具有如下特征:封装性、可派生子类、继承性和隐藏不必要的复杂性等。l在VFP系统中,类就像是一个模版(Template),对象是由类生成的,是类的实例。 l类定义了对象的公共属性、事件和方法,从而决定了对象的一般性的属性和行为。VFP系统提供了29个基类 。数据库原理第7章可视化程序设计VFP系统提供的系统提供的29个基类个基类 l它们可以分为容器类和控件类。 (1)控件类(Control Object Class):是封装严密、没有方法程序和不能容纳其他对象。譬如:文本控件。(2)容器类(Container Class):可以包含其他对象,并
4、且允许访问所包含的对象。譬如:表单类可以允许添加其他控件到它里面。 数据库原理第7章可视化程序设计7.1.3 事件与方法l事件(Event)是每个对象可能用以识别和响应的某些行为和动作,它是一种预先定义好的特定动作,由用户或系统激活,在多数情况下,它是通过用户的交互操作产生的 。在VFP中,对象可以响应50多种事件。 l方法(Method)是附属于对象的行为和动作。方法程序是与对象相关联的过程,但又不同于一般的VFP过程。方法程序紧密地和对象连接在一起,并且与一般VFP过程的调用方式也有所不同。l事件集合虽然范围很广却是固定的,用户不能创建新的事件,然而方法程序集合却可以无限扩展。 数据库原理
5、第7章可视化程序设计核心事件(核心事件(适用于大多数的控件适用于大多数的控件) 事件事件事件被激发后的动作事件被激发后的动作Init创建对象Destroy从内存中释放对象Click鼠标单击对象DblClick鼠标双击对象RightClick鼠标右击对象GotFocus对象接收焦点。由用户动作引起,如Tab键或单击,或在代码中使用SetFocus方法程序LostFocus对象失去焦点。由用户动作引起,如Tab键或单击,或在代码中使用SetFocus方法程序使焦点移到新的对象上KeyPress按下或释放键MouseDown当鼠标指针停在一个对象上时,用户按下鼠标按钮MouseMove用户在对象上移
6、动鼠标Mouseup当鼠标指针停在一个对象上,用户释放鼠标按钮数据库原理第7章可视化程序设计7.2.类的创建类的创建l可视化程序设计开发数据库应用系统,通常是把常用的对象定义成一个类,再根据需要在这个类的基础上,派生出一个或多个具体对象,最后利用这些对象来设计数据库应用系统程序。这样做的好处提高编程效率,方便维护。数据库原理第7章可视化程序设计1创建类创建类l创建一个新类,有三种方法:(1)使用类设计器(2)在表单设计器中定义类(3)使用Define Class定义类数据库原理第7章可视化程序设计(1)使用类设计器)使用类设计器create class 或或 create class of 数
7、据库原理第7章可视化程序设计(2)在表单设计器中定义类)在表单设计器中定义类l在“表单设计器”中,通过添加控件和交互式、可视地设置类的属性来定义,在7.4节会详细讲述。数据库原理第7章可视化程序设计(3)使用)使用Define Class定义类定义类u通过Define Class命令编程方式来定义。命令格式如下:define class as perty=expression add object as with property list procedure name endprocedureenddefine数据库原理第7章可视化程序设计【例【例7.1】定义一个带有命令
8、按钮(】定义一个带有命令按钮(“关闭关闭”)的容器类的容器类“exitform”。define class exitform as form visible=.t. caption=退出 left=20 top=10 height=223 width=443 add object comm1 as commandbutton; with caption=关闭,left=300,top=150,height=25,width=60 procedure comm1.click release thisform endprocedureenddefine 类定义好了以后就可以由它来创建对象。类定义好
9、了以后就可以由它来创建对象。 数据库原理第7章可视化程序设计2修改类定义修改类定义l类定义后,还可以对它进行修改。对类的修改将影响所有的子类和基于这个类的所有对象,即所有子类和基于这个类的所有对象都将继承修改。l修改类的方法有三种:(1)通过“项目管理器”,选择待修改的类,单击“修改”以打开“类设计器”进行修改。(2)通过文件打开类库,选择修改的类。(3)使用命令 modify class 数据库原理第7章可视化程序设计3创建类定义的子类创建类定义的子类l可以使用两种方法创建用户自定义类的子类:(1)在“新建类”对话框中,如图7.1所示,单击“派生于”框右边的对话框钮(),在“打开”对话框中选
10、择派生新类的父类。(2)使用Create Class命令 create class 子类名子类名 of 类库名类库名 as 父类名父类名 from 存放类库的文件名存放类库的文件名数据库原理第7章可视化程序设计4“类类”菜单菜单l打开类设计器,在VFP系统主菜单上出现了“类”菜单,该菜单中包括:新建属性、新建方法程序等,可以向定义的新类添加任意多的新属性和方法程序,属性保存值,而方法程序则保存调用时可以运行的过程代码。数据库原理第7章可视化程序设计(1)新建属性)新建属性Access和和Assign方法程序的区别:当使用对象引用中的属性,方法程序的区别:当使用对象引用中的属性,将属性值存储到变
11、量中,或用将属性值存储到变量中,或用“?”命令显示属性值时,即在命令显示属性值时,即在查询属性值时,执行查询属性值时,执行Access方法程序中的代码;而当试图改变方法程序中的代码;而当试图改变属性值时,将执行属性值时,将执行Assign方法程序中的代码。方法程序中的代码。数据库原理第7章可视化程序设计(2)新建方法程序)新建方法程序数据库原理第7章可视化程序设计7.3.对象的操作对象的操作l类是对象的抽象,对象是类的实例。类不能直接被引用,由类创建的对象才能被引用,所以,对象的过程代码设计特别重要。下面给出一些对象的基本操作命令。 1由类创建对象=createobject() 2. 设置对象
12、的属性perty=value 3调用对象的方法parent.object.method 数据库原理第7章可视化程序设计设置对象的属性的简化方法设置对象的属性的简化方法u简化方法 with endwith例如:with form1 .caption=我的表单 .backcolor=rgb(128,128,0) endwith 数据库原理第7章可视化程序设计7.4.表单设计表单设计l在VFP中,表单(Form)是数据库应用系统的主要工作界面,也成为屏幕(Screen),保存的文件类型名为SCX就有这个意思。l表单的设计是可视化程序设计的基础,也是学习可视化程序设计
13、的最重要环节。l表单是一个容器基类,具有多种属性,又可以在其中添加控件,可以响应多种事件实现多种操作。 数据库原理第7章可视化程序设计7.4.1 创建表单l 创建表单的过程就是添加控件、定义控件的属性、确定事件或方法程序代码的过程。VFP中,可以使用以下任意一种菜单方式创建表单:(1)使用表单向导创建表单。(2)在“表单”菜单中选择“快速表单”命令,建立一个用户可以通过添加自己的控件来定制的简单表单。(3)使用“表单设计器”修改已有的表单或创建自己的表单。数据库原理第7章可视化程序设计表单设计器表单设计器 create form 表单名表单名数据库原理第7章可视化程序设计7.4.2 定制表单l
14、新建的表单是一个空表单,还需对表单进行控件的添加和其属性与代码的设置,这一过程就是定制表单。包括: 1设置数据环境 2向表单中添加控件 3向表单中添加新的属性与方法 4定义表单的操作行为 5编辑事件代码或方法代码 6预定义常量数据库原理第7章可视化程序设计1设置数据环境设置数据环境l设置数据环境就是指定与表单关联的表或视图。控件的属性ControlSource(数据源)把添加到表单中的控件与表或视图中的字段关联起来。在“表单设计器”中右击弹出一个快捷菜单,从其中选择“数据环境”就可打开“数据环境设计器”窗口 。数据库原理第7章可视化程序设计2向表单中添加控件向表单中添加控件(1)使用表单控件工
15、具栏(2)利用数据环境向表单中添加控件(3)使用表单生成器数据库原理第7章可视化程序设计3向表单中添加新的属性与方法向表单中添加新的属性与方法数据库原理第7章可视化程序设计4定义表单的操作行为定义表单的操作行为l定义表单的操作行为是通过“属性”窗口设置,不同的控件可以有不同的属性、方法等 。数据库原理第7章可视化程序设计5编辑事件代码或方法代码编辑事件代码或方法代码l创建表单或向表单中添加控件后,如果要让它们“动起来”,必须编写事件代码或方法代码。进入代码编辑状态,有多种方法,其中鼠标双击相应的控件的方法最简便 。数据库原理第7章可视化程序设计6预定义常量预定义常量l除了可以向表单添加属性变量
16、,还可以预定义常量。l预定义常量是通过“表单”菜单中的“包含文件”菜单项来实现的。l包含的文件是指头文件,其内容是用宏命令定义常量,譬如:#define E 2.718。 数据库原理第7章可视化程序设计7.4.3 修改表单l如果使用向导或生成器建立的表单没有达到要求,还可以使用“表单设计器”进行修改:移动和调整控件的大小、复制或删除控件、对齐控件以及修改Tab键次序等等。l注意:对控件进行操作前,首先需要选中控件。 数据库原理第7章可视化程序设计修改表单的基本操作修改表单的基本操作1)选中控件选中控件:单击需要选定的控件就可以选中该控件。如果需要同时选中多个控件,只需在单击时按住shift键不
17、放。2)移动控件移动控件:可以通过鼠标拖动选中的控件或用光标键上、下、左、右来移动。3)缩放控件缩放控件:选中的控件四周有“尺寸柄”,往外拖动可以放大控件,往里拖动可以缩小控件。4)复制或删除控件复制或删除控件:通过“剪贴板”可以复制或删除控件;对选定的控件,单击delete键也可快速删除控件。5)对齐控件对齐控件:选定需要对齐的控件,使用布局工具按钮就可以对齐控件了。 6)设置控件的设置控件的TabTab次序次序:Tab次序确定输入数据按Tab键下跳哪一个控件,而按Shift+Tab组合键回跳哪一个控件。设置方法:交互方式或列表方式。数据库原理第7章可视化程序设计7.4.4 表单管理管理项管
18、理项命令命令说明说明隐藏表单ThisForm.Hide显示表单ThisForm.Show传递参数Do Form with 张三,20在表单的init事件代码中包含如下语句:Parameters Cstring , nNumberThisForm.cName=CstringThisForm.nAge=nNumber其中:cName 、nAge是添加的属性。返回值Do Form FindNo with 张三,20 To StudentNo 将命令表单FindNo查找到的学号存入内存变量StudentNo中。要求在FindNo的Unload事件代码中包含Return语句,且要求表单属性WindowT
19、ype设置为1(模式)。关闭表单Release FindNo 或FindNo.release关闭表单FindNo属性设置ThisForm.Caption=查询ThisFormSet.Form1.Visible=.F.设置标题属性。设置表单集中的form1不可见。数据库原理第7章可视化程序设计7.4.5 保存和运行表单l保存表单就是将设计好的表单保存到表单文件(.scx)中,从“文件”菜单中选择“保存”或按Ctrl+W键,首次保存还需要输入文件主名。l运行表单的方法有多种: (1)从“项目管理器”中运行。(2)从“表单”菜单中选择“运行表单”菜单项。(3)在“表单设计器”中右击,弹出快捷菜单选择
20、“运行表单”菜单项。(4)单击工具栏上的运行命令按钮(红色“!”按钮)。(5)使用命令运行表单,命令格式如下:do form 表单名数据库原理第7章可视化程序设计7.4.6 创建表单集lVFP中,可以将多个表单包含在一个表单集,这样可以对表单集中的所有表单进行统一操作。譬如:一起显示或隐藏表单集中的表单,统一控制和安排这些表单的相对位置,在表单集上设置数据环境等。启动运行表单集时,表单集中的所有表单将一起装入内存一起装入内存。l创建表单集:从“表单”菜单中选择“创建表单集”菜单项就可以创建。创建了表单集后,使用“表单”菜单中的“添加新表单”菜单项就可以将表单添加到表单集,使用“移去”菜单项可以
21、从表单集中移去表单。数据库原理第7章可视化程序设计7.5 常用控件及其应用常用控件及其应用l常用控件出现在表单控件工具栏的控件,当鼠标指针在相应的控件并稍作停留时,该控件的名称会显示出来。 数据库原理第7章可视化程序设计7.5.1 标签控件l标签(Label)控件只用于显示文本类型的提示信息,本身没有数据处理的功能,也不能被直接编辑。(1)Caption:设置标签的标题,即标签显示的提示信息。(2)AutoSize:可以设置为真或假。为真时,控件的大小随文本的改变而变化;为假时控件的大小不随文本的变化而变化。(3)BackStyle:可以设置为0或1。为0表示无边框;为1时表示有固定单线。(4
22、)WordWrap:确定标签上显示的文本是否换行,可以设置为真或假。 数据库原理第7章可视化程序设计7.5.2 文本框控件与编辑框控件l文本框(Text)控件是设计交互式应用程序所不可缺少的控件,可以输入至多255个字符的单行文本或多行文本,具有基本的文字处理功能,譬如:可以使用“剪贴板”。它常用于在运行时接受用户的输入文本,也可用于显示文本信息,是字符型字段默认绑定的控件。 l编辑框(Edit)控件同文本框控件的作用相同,用于输入或显示文本信息,但文本框至多只能接受255个字符,而编辑框控件可以接受多于255个字符,是备注型字段默认绑定的控件。编辑框有滚动条,当数据内容没有超过编辑区域时,该
23、滚动条呈灰色,为不可用状态。数据库原理第7章可视化程序设计7.5.3 命令按钮与命令按钮组控件l命令按钮与命令按钮组控件用于在人机交互界面上触发一些事件,以便完成所需的任务,譬如:释放表单,保存数据,取消输入等。命令按钮的提示信息可以是文本的,也可以是图形的。 l命令按钮组控件是一种容器,在其下一层次可以设定一组命令按钮。 l初学者常遇到不能选定容器中下一层次控件的情况,可以通过“属性”窗口中来选定或从鼠标右击容器控件弹出的快捷菜单中选择“编辑”菜单项,从命令按钮组中选择命令按钮的操作。数据库原理第7章可视化程序设计【例【例7.2】设计一个程序文件】设计一个程序文件(.prg)内容的阅读器。该
24、阅读器可以实内容的阅读器。该阅读器可以实现输入文件名或未输入文件名而直接单击现输入文件名或未输入文件名而直接单击“确定确定”来通过来通过“打开打开”窗口选择文件,如果选择的文件存在,则在编辑框中显示内容。窗口选择文件,如果选择的文件存在,则在编辑框中显示内容。 数据库原理第7章可视化程序设计7.5.4 选项组控件与复选框控件l选项组(OptionGroup)控件是一个包含选项命令的容器,与命令按钮组控件相似,选项组对象的下一层是选项命令按钮对象 。选项组控件用于多个值只能选取之一的情形,在选项命令按钮前的圆圈中黑点表示该项被选中。 l复选框(Check)控件用来在逻辑值真(.T.)和假(.F.
25、)之间切换,多个复选框构成的复选框组允许选取多项,在选项前的方框中“”表示该项选中。l复选框和选项组都为用户提供了友好、美观的界面,用户可以十分方便地通过鼠标准确输入 。数据库原理第7章可视化程序设计【例【例7.3】设计一个客观题测试的简单系统。系统功能:根据参考答案来】设计一个客观题测试的简单系统。系统功能:根据参考答案来确定是单选题还是多选题;能够循环地选择数据表中所有的题目;可以判确定是单选题还是多选题;能够循环地选择数据表中所有的题目;可以判断是否选择正确,如果错误需要给出答案。题库数据表(断是否选择正确,如果错误需要给出答案。题库数据表(TK.dbf)存放)存放题目、选项、参考答案和
26、选择题目、选项、参考答案和选择 。数据库原理第7章可视化程序设计7.5.5 列表框控件与组合框控件l列表框(ListBox)用于显示一系列数据项,方便用户从中选择一项或多项。组合框(ComboBox)相当于文本框和列表框的组合,它有两种表现方式,一种是下拉组合框,另一个是下拉列表框,这两种方式的区别在于:利用下拉组合框可以通过键盘输入内容;而下拉列表框只能选择列表中的值,而无法进行输入。列表框与组合框功能相似,不同之处:(1)列表框可显示多个数据项,而组合框初始时只显示一个数据项,所以使用组合框可以节省界面。(2)列表框可选择多个数据项,而组合框只能选择一个数据项。(3)列表框不允许用户输入数
27、据项,而组合框中的下拉组合框允许用户键盘输入。数据库原理第7章可视化程序设计数据源数据源 l数据源是使用列表框和组合框控件首先需要考虑的,它们的数据源是通过RowSource属性来设置,但必须与RowSourceType属性的设置相对应,否则表单不会正确运行。 RowSourceType的值说明0-无运行时通过AddItem或AddListItem方法添加数据项1-值直接设置显示的数据项,各数据项间用逗号分隔2-别名使用ColumnCount属性在数据表中选择字段3-SQL语句SQL Select命令用于创建一个表或临时表4-查询(.qpr)指定查询文件5-数组设置列属性可以显示多维数组的多个
28、列6-字段用逗号分隔的字段列表7-文件指定数据表文件8-结构由RowSource所指定的表的字段填充列9-弹出式菜单包含此设置是为了向下兼容数据库原理第7章可视化程序设计【例【例7.4】设计一个下拉框和组合框测试的简单】设计一个下拉框和组合框测试的简单系统。系统。数据库原理第7章可视化程序设计7.5.6 图像控件l图像(Image)控件用于在表单上显示图像文件,譬如:.BMP、.GIF、.JPG或图标.ICO等类型的文件,不能对显示的图像进行编辑,使用该控件可以使界面显得更生动。常用的属性如下:(1)Picture:指定图像文件。(2)Stretch:指定图像文件大小的调整方式以适应图像控件区
29、域的大小,该属性有三种取值:0、1或2。 数据库原理第7章可视化程序设计7.5.7 线条控件与形状控件l线条(Line)控件是一种图形控件,用于创建水平线、垂直线或对角线。由于不能对它进行编辑,如果需要对它进行修改,必须通过线条属性设置或事件过程来完成。 l形状(Shape)控件也是一种图形控件,同样不能对它进行直接编辑,也需要通过属性设置或事件过程来修改。它主要用于创建矩形、圆或椭圆形状的对象。 数据库原理第7章可视化程序设计7.5.8 微调控件l微调(Spinner)控件用于接收指定范围内的数值输入,通过在当前值的基础上做微小的增量(单击向上箭头)或减量(单击向下箭头)调节可以代替键盘输入
30、,也可以通过键盘在微调控件框内直接输入数值。它的常用属性如下:1)Increment:指定微调控件向上或向下箭头的微调量,默认值为1.0。2)KeyBoardHighValue:指定在微调控件框中通过键盘可输入的最大值。3)KeyBoardLowValue:指定在微调控件框中通过键盘可输入的最小值。4)SpinnerHighValue:指定单击微调控件的向上箭头能调节的最大值。5)SpinnerLowValue:指定单击微调控件的向下箭头所能调节的最小值。它的常用事件如下:1)InteractiveChange:使用鼠标或键盘改变微调控件的值时触发该事件。数据库原理第7章可视化程序设计7.5.
31、9 OLE控件lOLE控件用于显示和操作OLE对象(是指可供链接或嵌入的对象),譬如:文本、声音、图像、动画或视频数据等。lOLE对象是Windows环境下提供的实现程序间共享信息资源的一种手段,它可以分为OLE绑定型对象和OLE容器两类,前者仅用于将依附于数据表的通用字段中的OLE对象添加到表单中,它也是将通用字段中的OLE对象添加到表单中的唯一方法;后者将不依附于数据表的通用字段的OLE对象添加到表单中。 数据库原理第7章可视化程序设计7.5.10 页框控件l页框(PageFrame)控件是包含页面的容器控件,而页面中又可以包含控件。l一个页框控件可以包含有两个以上的页面,这些页面共同占用
32、表单的一块区域,在任何时刻只有一个页面是活动页面,只有活动页面中的控件才是可见的,通过页框中的页面标题可以方便地完成页面的快速切换。 数据库原理第7章可视化程序设计【例【例7.5】使用页框控件设计界面,第】使用页框控件设计界面,第1个页面通过微调设置一个个页面通过微调设置一个形状的曲率并显示图形;第形状的曲率并显示图形;第2个页面通过命令按钮组的选择显示图个页面通过命令按钮组的选择显示图像的裁剪、等比填充或变比填充;第像的裁剪、等比填充或变比填充;第3个页面根据设定的参数画线个页面根据设定的参数画线显示线条。第显示线条。第4个页面插入日历个页面插入日历OLE控件。控件。数据库原理第7章可视化程序设计7.5.11 计时器控件l计时器(Timer)控件用于通过时间间隔自动触发事件,常用于控制定时执行某些重复的操作,它在运行时是不可见的,具有如下常用属性:(1)Interval:设置计时器的时间间隔,单位为毫秒。(2)Enabled:设置计时器的有效性,为.T.时表示计时器控件在表单加载时就开始工作,为.F.时挂起计时器的运行。它的常用事件如下:(1)Timer:当经过Interval属性指定的毫秒数时触发该事件。数据库原理第7章可视化程序设计【例【例7.6】有一个自由表(】有一个自由表(zp.db
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国甜玉米饼数据监测研究报告
- 简易门市合同范本
- 社交媒体时代的影视广告新模式研究
- 2025至2030年中国熔融纺矩形喷丝板数据监测研究报告
- 2025至2030年中国热处理时效炉数据监测研究报告
- 2025至2030年中国灌浆压水测控系统数据监测研究报告
- 北京市物业服务合同(XXXX)
- 科技助力下的绿色校园行动计划
- 未来城市中的高层办公楼规划策略
- 2024年周口市扶沟县农业农村局招募特聘农技员考试真题
- 新媒体营销(第三版) 课件全套 林海 项目1-6 新媒体营销认知-新媒体营销数据分析
- 教师读书分享《给教师的建议》课件
- 人民警察纪律条令试卷含答案
- 公园绿化养护景观绿化维护项目迎接重大节会活动的保障措施
- 初中物理各单元思维导图
- 氧化还原反应和氧化还原平衡--ppt课件
- 国内外旅游公共服务研究的文献综述
- 2022年北京市专升本英语真题
- 锗的提取方法
- 机车电测仪表使用及检修
- PMS颜色对照表
评论
0/150
提交评论