版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 vb程序设计 在设计一个规模较大、功能较复杂的程序时,需在设计一个规模较大、功能较复杂的程序时,需要按功能将程序分解成若干个相互独立的部件,要按功能将程序分解成若干个相互独立的部件,vb称这些部件为过程。称这些部件为过程。 在程序编写时,分别对每个在程序编写时,分别对每个“过程过程”编写程序,编写程序,可以简化程序设计任务。可以简化程序设计任务。 本章主要对工程、模块和过程进行介绍。本章主要对工程、模块和过程进行介绍。4.1 文件类型vb应用程序由扩展名为.vbp、.frm、.frx、.bas、.cls等几种类型的文件组成。1. 窗体文件(.frm)包含窗体、控件的描述和属性设置,也包
2、含窗体级的常数、变量、外部过程的声明,以及事件过程和一般过程。如果程序没有frm窗体文件,则表示没有用户界面。2. 窗体的二进制数据文件(.frx)含有窗体上控件的二进制属性数据。这些文件是在创建窗体时自动产生的。4.1 文件类型3. 标准模块文件(.bas)用于存放几个窗体中都需要用的公共代码,包含常数、类型、变量和过程的声明,以及过程代码。4.类模块文件(.cls)用于建立新对象,这些新对象可以包含自定义的属性和方法。类模块即包含代码又包含数据,可被应用程序内的过程调用。4.1 文件类型5.工程文件(.vbp)工程文件包含组成应用程序的所有窗体文件(.frm)、模块文件(.bas)和其它文
3、件,也包含环境设置选项方面的信息。工程的操作: 打开和保存工程:通过“文件”菜单进行打开和保存工作 设置工程属性:“工程”菜单,“工程属性”对话框操作 添加工程:工具栏或“文件”菜单添加已有工程或新建工程添加多个工程可组成工程组 删除工程:“工程资源管理器”中通过右键快捷菜单 向工程中添加和删除文件:工具栏或“工程”菜单4.2 过程将较为复杂的程序分割成较小的逻辑部件,这些部件称为过程。u 每个过程为一段程序,一个过程可以被另一个过程调用。u 多个过程构成一个完整、复杂的应用程序。u 将应用程序分解成过程进行分别调试,可极大地简化程序设计任务。4.2 过程应用程序工程文件窗体文件多个过程标准模
4、块文件多个过程类模块文件多个过程工程文件应用程序的组成:4.2 过程过程的分类:u 子程序过程(sub procedure)子程序过程没有返回值u 函数过程(function procedure)函数过程具有返回值,如asin(x)u 属性过程(property procedure)属性过程可以返回和设置窗体、标准模块和类模块,也可以设置对象的属性。vb的所有可执行代码必须属于某个过程。的所有可执行代码必须属于某个过程。过程的定义是平行的,不能在一个过程中定义其它过程。过程的定义是平行的,不能在一个过程中定义其它过程。4.2.1 sub过程(子程序过程)sub过程可以放在标准模块和窗体模块中。
5、vb中有两种sub过程:u 事件过程u 通过过程1. 事件过程vb是事件驱动的,为一个事件所编写的程序代码,称为事件过程。当vb对象中的某个事件发生时,自动调用相应的事件过程。事件过程分为窗体事件过程和控件事件过程。4.2.1 sub过程(子程序过程)(1) 窗体事件过程的语法:private sub form_事件名 (参数列表) 局部变量和常数声明 语句块end sub例如:private sub form_click () frmtext.show hide end sub注意:p 不管窗体的名称(name)属性是什么,在事件过程中只能使用“form_事件名”p 在程序代码中对窗体的引用
6、须要使用窗体的名称属性p 在程序有多个窗体时,如何对不同窗体的窗体事件编程?将要进行编程的窗体放在屏幕最前端(或在工程资源管理器中选中窗体),再点击工程资源管理器中的“查看代码”按钮;在代码窗口的标题栏中显示代码对应的窗体。4.2.1 sub过程(子程序过程)(2) 控件事件过程的语法:private sub 控件名_事件名 (参数列表) 局部变量和常数声明 语句块end sub例如:例如:private sub command1_click () text2=text1*text1*3.14 end sub4.2.1 sub过程(子程序过程)(3) 事件过程的创建方法:u在设计的窗体上双击窗
7、体或控件,打开“代码编辑器”窗口,并会出现该窗体或控件的默认过程代码。u单击工程资源管理器窗口的“查看代码”按钮,在对象列表框选择对象,在“过程列表框”选择事件过程。u根据语法要求,自己编写事件过程。4.2.1 sub过程(子程序过程)1. 通用过程当几个不同的事件过程需要执行同样的动作时,为了不重复编写代码,可以采用通用过程来实现。u 要运行通用过程中的代码,需要在事件过程对通用过程进行调用。u 通用过程可以保存在窗体模块(.frm)和标准模块(.bas)两种模块中。u 在vb中,事件过程是必要的,但通用过程不是必要的,是为了程序员方便而单独建立的。4.2.1 sub过程(子程序过程)(1)
8、 通用过程的语法: private和public:用来声明该sub过程是局部的(private),还是全局的(public),系统默认值为public static:表示局部静态变量。“静态”是指在过程运行结束后仍保留sub过程的变量值。 过程名:根据该通用过程的功能,程序员自己定义的名字。与变量的命名规则相同,在同一模块中过程名不能重名。private|public static sub 过程名过程名(参数列表参数列表) 局部变量和常数声明局部变量和常数声明 语句块语句块exit sub语句块语句块end sub4.2.1 sub过程(子程序过程)(1) 通用过程的语法: 局部变量和常数声明
9、:用来声明过程中定义的变量和常数,可用dim等语句声明。 exit sub:使程序立即从一个sub过程中退出,一般放在分支结构代码中。 语句块:过程中执行的操作,称为子程序或过程体。 end sub:用于结束本sub过程。注意:exit sub与end sub是结束本sub过程,不是结束应用程序的运行private|public static sub 过程名过程名(参数列表参数列表) 局部变量和常数声明局部变量和常数声明 语句块语句块exit sub语句块语句块end sub4.2.1 sub过程(子程序过程) 参数列表:类似于变量的声明,列出从调用过程传递来的函数值,称为形式参数(简称形参)
10、,多个形参间用“,”隔开。 形参语法:byval | byref 变量名 () as 数据类型byval:表示该参数按值传递byref:表示该参数按地址传递(默认值)private|public static sub 过程名过程名(参数列表参数列表) 局部变量和常数声明局部变量和常数声明 语句块语句块exit sub语句块语句块end sub注意:即使sub过程中的参数列表为空,过程名后的括号也不能省略【例例ex_telephone】private sub form_load() dim i as integer for i = 1 to 9 load command1(i) command1
11、(i).visible = true command1(i).caption = i command1(i).left = command1(0).left + 800 * i if i 4 then command1(i).top = command1(0).top + 800 command1(i).left = command1(0).left + 800 * (i - 5) end if next iend subprivate sub command1_click(index as integer) text1.text = text1.text & command1(ind
12、ex).captionend sub4.2.1 sub过程(子程序过程)public sub warning ( byval f as integer) end sub private|public static sub 过程名过程名(参数列表参数列表) 局部变量和常数声明局部变量和常数声明 语句块语句块exit sub语句块语句块end subprivate sub warning (f as integer) end sub 例如:例如:注意:注意:sub过程不能嵌套定义过程不能嵌套定义public sub warning ( byval f as integer) private sub
13、 welcome () end sub end sub 4.2.1 sub过程(子程序过程)(2) 通用过程的创建方法:方法一:打开“代码编辑器”窗口后,点击“工具”菜单的“添加过程”命令方法二:在“代码编辑器”窗口中手动创建4.2.2 function过程vb系统提供了诸多内部函数,如sin()、date()、left()等等。用户可以利用function过程编写自己的函数过程。private|public static function 函数名函数名(参数列表参数列表) as 数据类型数据类型 局部变量和常数声明局部变量和常数声明 语句块语句块函数名表达式函数名表达式exit functi
14、on语句块语句块函数名表达式函数名表达式end function注意:与sub过程一样,function过程也是一个独立的过程;与sub过程不同的是,function过程可以返回一个值到调用的过程private|public static sub 过程名过程名(参数列表参数列表) 局部变量和常数声明局部变量和常数声明 语句块语句块exit sub语句块语句块end sub4.2.2 function过程private|public static function 函数名函数名(参数列表参数列表) as 数据类型数据类型 局部变量和常数声明局部变量和常数声明 语句块语句块函数名表达式函数名表达式
15、exit function语句块语句块函数名表达式函数名表达式end function as 数据类型:函数返回值的数据类型,例如sin()函数的返回值为double型。若省略“as子句”,默认类型为variant型。 语句块:描述过程的操作,称为子函数体或函数体。 函数名表达式:在函数体中用该语句给函数赋值。如果在function过程中省略该语句,则返回值为数据类型的默认值。例如,数值函数返回0;字符函数返回空字符串。4.2.2 function过程private|public static function 函数名函数名(参数列表参数列表) as 数据类型数据类型 局部变量和常数声明局部变
16、量和常数声明 语句块语句块函数名表达式函数名表达式exit function语句块语句块函数名表达式函数名表达式end function exit function语句:提前退出function过程。在退出函数过程之前,必须保证为函数赋值,否则出错。4.2.2 function过程function过程实例:计算直角三角形的斜边长度过程实例:计算直角三角形的斜边长度 function hypotenuse (a as integer, b as integer) as integerhypotenuse=sqr(a2+b2)end function实例中:l a、b为两个整型的形式参数l hyp
17、otenuse函数的返回值为一个整型数l 函数体为赋值语句,计算两个形参平方和的平方根4.3过程的调用private sub command1_click() dim y as double, f as double f = sin(10) y = sin(val(text1.text) text2.text = yend sub语句1语句2过程1调用语句语句3语句4语句1语句2过程2调用语句语句3end 过程1语句1语句2语句3end 过程2事件过程事件过程过程过程1代码代码过程过程2代码代码过程调用的程序执行顺序:过程调用的程序执行顺序:4.3.1 调用sub事件过程调用sub过程是一个独
18、立的语句。sub事件过程可由事件自动调用,或在同一模块中的其它过程中使用调用语句调用。调用sub过程的方法:1.使用call语句语法:call 过程名 (参数列表)2.直接使用过程名语法:过程名 参数列表l 参数列表:在调用语句中的参数称为实在参数(简称实参)。实参可以是变量、常数、数据和表达式。l 使用call语句调用时,参数必须在括号内;没有参数时,括号可省略。用过程名调用,没有参数时必须省略参数两边的括号l 执行调用语句时,vb将控制传递给被调用的sub过程。4.3.1 调用sub事件过程private sub txtinput_lostfocus() if isnumeric(txti
19、nput) = true then msgbox 输入的是数值输入的是数值, vbokonly, 输入输入 else msgbox 输入的是文字输入的是文字, vbokonly, 输入输入 end ifend subprivate sub cmdcheck_click() call txtinput_lostfocusend subprivate sub cmdend_click() endend sub【例ex_checkn1】4.3.2 调用sub通用过程sub warning() if isnumeric(txtinput) = true then msgbox 输入的是数值, vbok
20、only, 输入 else msgbox 输入的是文字, vbokonly, 输入 end ifend subprivate sub cmdcheck_click() call warningend subprivate sub txtinput_lostfocus() warningend sub【例ex_checkn2】注意:vb程序是事件驱动的,sub通用过程只有在被其它事件过程直接或间接调用时才会被执行,否则不会被执行。4.3.3调用function过程调用函数function过程的方法与调用vb内部函数方法一样,在语句中直接使用函数名,function过程可以返回一个值到调用的过程。
21、例如:function hypotenuse (a as integer, b as integer) as integer hypotenuse=sqr(a2+b2) end function private sub form_click() print 10*hypotenuse(3,4) x=hypotenuse(3,4) if hypotenuse(3,4)=10 then print “error”end sub4.3.3调用function过程采用调用sub过程的语法也能调用function过程,当用这种方法调用过程时,放弃function过程的返回值。调用sub过程的方法:1.使
22、用call语句语法:call 过程名 (参数列表)2.直接使用过程名语法:过程名 参数列表例如: p=msgbox (“输入的是数值”, vbokonly, “输入)msgbox “输入的是数值”, vbokonly, “输入” function hypotenuse (a as integer, b as integer) as integer hypotenuse=sqr(a2+b2) end function private sub form_click() print 10*hypotenuse(3,4) x=hypotenuse(3,4) if hypotenuse(3,4)=10
23、then print “error”end sub4.4 参数的传递在调用一个有参数的过程时,参数是在本过程有效的局部变量,通过“形参和实参结合”传递信息。u 实现调用过程的实参与被调用过程的形参之间的数据传递。u 数据有按值传递和按地址传递两种方式。1.形参:在被调用过程中的参数是形参。2.实参:是在主调过程中的参数。4.4.1 形参和实参语句1语句2过程1调用语句语句3语句4语句1语句2语句3end 过程14.4.1 形参和实参l在过程定义语句中的参数列表为形参列表,在过程被调用之前,形参未被分配内存,只是说明形参的类型和在过程中的作用l在过程调用语句中的参数列表为实参列表,在过程调用时实
24、参将数据传递给形参例如:function hypotenuse (a as integer, b as integer) as integer hypotenuse=sqr(a2+b2) end function private sub form_click() dim x as integer,y as integer,c as integer x=val(text1) : y=val(text2) c=hypotenuse(x,y)end sub4.4.1 形参和实参l形参列表和实参列表的对应变量名可以不同。l实参与形参的个数、顺序和数据类型必须相同。l形参与实参的数据传递是按位置结合的,
25、即第1个实参与第1个形参结合,第2个实参与第2个形参结合,依此类推。l形参与实参必须是一一对应的关系,否则编译出错。例如:function hypotenuse (a as integer, b as integer) as integer hypotenuse=sqr(a2+b2) end function private sub form_click() dim x as integer,y as integer,c as integer x=val(text1) : y=val(text2) c=hypotenuse(x,y) end subc=hypotenuse(x) : d=hyp
26、otenuse(x,y,10)4.4.1 形参和实参例如:function hypotenuse (a as integer, b) as integer hypotenuse=sqr(a2+b2) end function private sub form_click() dim x as single, y as single, c as integer x=10.5 : y=5.8 c=hypotenuse(10.5 , 5.8) c=hypotenuse(x , y)end subl如果没有声明形参的数据类型,则默认为variant型数据。l对于实参数据类型那个与形参不一致时,vb会先
27、将实参进行数据转换,然后将转换值传递给形参。注意:这种数据转换只适用于常量的转换。4.4.1 形参和实参l形参可以使用可选参数,在参数列表中使用optional关键字。当使用可选参数后,形参与实参不必一一对应,在实参列表中缺省的参数取值为该数据类型的默认值。l形参与实参是相对的概念。例如:function hypotenuse (optional a as integer, optional b as integer) as integer y=sin(a) hypotenuse=sqr(a2+b2) end function private sub form_click() dim x as
28、 integer,y as integer,c as integer x=val(text1) : y=val(text2) c=hypotenuse(x,y)end subc=hypotenuse(x) : c=hypotenuse(,x)4.4.2 参数按值传递和按地址传递在vb程序进行过程调用时,参数的传递有按值传递(passed by value)和按地址传递(passed by reference)两种方式。1 按值传递参数l参数按值传递使用byval关键字。例如: public sub warning ( byval f as integer) end sub 4.4.2 参数按值
29、传递和按地址传递1 按值传递参数l按值传递参数时,vb给传递的形参分配一个临时的内存单元,将实参的值传递到这个临时单元。l实参向形参传递是单向的。如果在被调用过程中改变了形参值,不会影响实参变量本身。l当被调用过程结束返回主调过程时,vb将释放形参的临时存储单元。4.4.2 参数按值传递和按地址传递private sub cmdstart_click() dim a, b, c as integer a = val(txta.text) b = val(txtb.text) txtmax = max(a, b) txtresulta.text = a txtresultb.text = ben
30、d subprivate function max(byval x as integer, byval y as integer) dim z as integer if x y then z = x : x = y : y = z end if max = x txtx.text = x : txty.text = yend function【例例ex_max】4.4.2 参数按值传递和按地址传递2 按地址传递参数l定义按地址传递参数可使用byref关键字,或不使用关键字。例如: public sub warning ( byref f as integer) end sub public
31、sub warning (f as integer) end sub 4.4.2 参数按值传递和按地址传递2 按地址传递参数l按地址传递参数,是指把形参变量的内存地址传递给被调用的过程。形参、实参具有相同的地址,即形参、实参共享同一段存储单元。l在被调用过程中改变形参的值,则相应实参的值也被改变。l如果在过程调用语句中的实参是参数或表达式,则vb用按值传递的方法处理。4.4.2 参数按值传递和按地址传递private function max(x as integer, y as integer) dim z as integer if x 0 multiply = multiply * n
32、n = n - 1 loopend functionprivate sub form_click() dim sum as integer, i as integer for i = 3 to 1 step -1 sum = sum + multiply(i) next i print sum=; sumend sub4.4.3 数组参数数组参数是指在定义过程时,可以定义数组作为过程的形参。l语法: 形参数组名形参数组名() as 数据类型数据类型l形参为数组时,过程调用时的实参必须也是数组。l实参列表中的数组不需要用“()”。l数组的参数传递只能按地址传递,形参与实参共用同一段内存单元。4.
33、4.3 数组参数【例例ex_averscore】计算正式员工和临时员工的平均工资计算正式员工和临时员工的平均工资private sub cmdstart_click() dim salary1(5) as single, salary2(8) as single salary1(0) = 1900: salary1(1) = 1970: salary1(2) = 1915 salary1(3) = 1600: salary1(4) = 1655 salary2(0) = 2675: salary2(1) = 2780: salary2(2) = 2715 salary2(3) = 2540:
34、salary2(4) = 2990 salary2(5) = 2770: salary2(6) = 2895: salary2(7) = 2765 txts1.text = int(average(salary1, 5) * 100) / 100 txts2.text = int(average(salary2, 8) * 100) / 100end subprivate function average(stuarray() as single, n as integer) as single dim i as integer dim aver as single, sum as singl
35、e for i = 0 to n - 1 sum = sum + stuarray(i) next i aver = sum / n average = averend function赋初始值赋初始值salary1为临时员工为临时员工salary2为正式员工为正式员工调用调用average函数函数计算平均工资,并计算平均工资,并在文本框中显示在文本框中显示计算工计算工资总和资总和4.4.4对象参数vb中对象也可以作为形参,将对象向被调用过程传递。l对象的传递只能按地址传递。l对象的类型声明为“control”或控件类型,如:“lable”、“form”。4.4.4对象参数private su
36、b cmdemployee_click(index as integer) call frmselect(frmsecond, cmdemployee(index).caption) call labselect(frmsecond.label1, cmdemployee(index).caption)end subprivate sub frmselect(f as form, cmdcap as string) f.caption = cmdcap & 人员管理end subprivate sub labselect(l as label, cmdcap as string) l.
37、caption = 欢迎进入 & chr(13) & cmdcap & 人员管理 l.fontsize = 16 l.fontbold = true l.visible = true frmsecond.show frmfirst.hideend sub【例例ex_formargu1】创建两个窗体的人员管理系统创建两个窗体的人员管理系统4.5 递归过程在vb中sub过程可以进行递归调用,即在过程中可以直接或间接地调用过程本身。private function fnc(x as integer) dim y as integer , z as single zfnc(y)
38、 end function这种递归结构会使过程进入无限死循环?这种递归结构会使过程进入无限死循环?递归程序的编程方法:递归程序的编程方法:确定递归公式确定递归公式递归的结束条件递归的结束条件 采用条件结构编写程序采用条件结构编写程序4.5 递归过程【例例ex_muln1】计算计算n的阶乘的阶乘1 递归的形式 n!=n(n-1)(n-2)21 可以写成: n!=n(n-1)! (n-1)! =(n-1)(n-2)! 递归公式为:n!=n(n-1)!2 递归的结束条件 n0或1时 n!=14.5 递归过程【例例ex_muln1】计算计算n的阶乘的阶乘private sub form_click()
39、 dim m as integer, i as integer i = inputbox(请输入一个正整数) m = muln(i) print m=; mend subprivate function muln(n as integer) as integer if n = 0 or n = 1 then muln = 1 else muln = muln(n - 1) * n end ifend functionprivate function muln(n as integer) as integer select case n case 0 or 1 muln = 1 case is
40、1 muln = muln(n - 1) * n end selectend function4.6 变量和过程的作用范围4.6.1 变量的作用范围变量的作用范围是指变量有效的范围。在vb中可分为过程级变量、模块级变量和全局变量三种。1 过程级变量:过程级变量只在声明它们的过程中才有效,也称为局部变量。用户无法在其他过程中访问或改变变量的值。过程级变量的定义方法: dim 变量名 as 数据类型 static 变量名 as 数据类型4.6.1 变量的作用范围private function max(x as integer, y as integer) dim z as integer if
41、x y then z = x : x = y : y = z end if max = x txtx.text = x : txty.text = yend functionl对于临时的计算,适合声明为局部变量。l不同过程中的局部变量可以重名。l在过程中使用dim语句定义的变量都是局部变量。4.6.1 变量的作用范围2 模块级变量:模块级变量对该模块的所有过程都有效。在模块中的任何过程都可以使用该变量。模块级变量的定义方法: dim 变量名 as 数据类型 private 变量名 as 数据类型4.6.1 变量的作用范围3 全局变量:全局变量的作用范围是应用程序的所有过程,也称为共用变量。全局
42、变量的定义方法: public 变量名 as 数据类型4.6.1 变量的作用范围【例例ex_formargu2】人员管理系统人员管理系统【例例ex_formargu2】人员管理系统人员管理系统首先创建2个窗体文件和一个标准模块文件。给全局变给全局变量赋值量赋值窗体窗体2内内标签控件标签控件显示的内显示的内容容窗体窗体2标标题栏显示题栏显示的内容的内容计算平均计算平均值的函数值的函数过程过程4.6.2 静态变量变量除了作用范围外,还有存活期的概念,即变量能够保持其值的时间。l 模块级变量和全局变量的存活期是整个应用程序的运行期间。l 在过程中用dim语句定义的局部变量仅当本过程执行期间存在。当过
43、程执行完毕,变量的存储空间被释放,在下一次执行该过程时所有局部变量将重新初始化。l 可以使用static语句将局部变量定义为静态局部变量,这样过程结束后保留变量的值,即不释放变量占用的内存单元。static ss as integerdim tt as double4.6.2 静态变量【例例ex_plus】private static function fac(n as integer) dim f as integer f = f + n fac = fend functionprivate sub form_click() dim i as integer for i = 1 to 5 p
44、rint ; i & = & fac(i) next iend subl 在过程定义语句中使用static关键字,则过程中定义的所有变量为静态局部变量。l 在点击窗体的事件过程中,通过for 循环结构共调用了5次fac函数过程。因为采用了静态变量,每次调用结束后,f的值被保留。若定义的不是静态变量运行结果不同。l 将f设为模块级变量,运行结果相同。但模块内所有过程都能对f值进行修改,故容易出错。4.6.3 过程的作用范围1 过程的有效范围:sub过程和function过程的作用范围有全局过程和局部过程2种。通过public和private关键字定义。private sub 过程名(参数列表) 仅在本模块才能访问public sub 过程名(参数列表) 程序的所有模块都能访问4.6.3 过程的作用范围2 过程的外部调用:外部调用是指调用其他模块中的全局过程。(1) 调用窗体模块中的过程:必须以窗体名作为调用的前缀语法: call 窗体名.全局过程名 (实参列表)例如:在窗体form2中定义一个全局过程sub1,在窗体1中调用该过程。private sub form_click() call form2.sub1end sub4.6.3 过程的作用范围(2) 调用标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智能背部按摩仪项目项目建议书
- 2025年广州市花都区花东镇人民政府公开招聘执法辅助工作人员备考题库及答案详解一套
- 2026年常德市鼎城区面向全市选调8名公务员备考题库及答案详解一套
- 2026年电子电气贸易战的趋势与影响
- 2026年云南勐海县公安局警务辅助人员招聘35人备考题库附答案详解
- 2026年北京外企人力资源服务有限公司海淀分公司招聘备考题库完整答案详解
- 2026年25人成都农商银行招聘备考题库及1套完整答案详解
- 2026年度化州市卫生健康系统赴高校现场招聘事业单位工作人员备考题库带答案详解
- 2026年中山大学孙逸仙纪念医院皮肤科医教研岗位招聘备考题库及答案详解一套
- 2026年中新集团工程咨询有限责任公司招聘备考题库及完整答案详解一套
- 2026思南农业发展集团有限责任公司招聘参考考试题库及答案解析
- 技术开发合同(芯片2025年设计)
- 【初中 数学】整数指数幂课件 2025-2026学年人教版八年级数学上册
- 2026年精神科护理工作计划
- 2024-2025学年广东省广州市荔湾区七年级(上)期末英语试卷(含答案)
- 化疗药物安全操作规程
- 岩土勘探合同范本
- 机场跑道除雪设备安装施工方案
- JCT640-2010 顶进施工法用钢筋混凝土排水管
- GB/T 19668.1-2014信息技术服务监理第1部分:总则
- fy17起搏器销售-t10t20说明书ifu pacetchinese livetec
评论
0/150
提交评论