




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章程序设计基础,3.1数据类型3.2操作符和表达式3.3流程控制3.4过程和自定义函数3.5变量的作用范围3.6数据库的存储过程和触发器,3.1数据类型,VFP中,存储数据有下列方式:(1)表的记录。表打开后,通过引用字段名就可得到对应该字段当前记录的内容(值)。通过交互方式和操作表的命令可修改字段在记录中的内容。(2)对象。(3)常量、变量和数组。在程序设计时经常要用这些数据元素存储数据。这些记录、对象、常量、变量和数组称为存储数据的容器。,3.1.1常量,常量是一个数据项,该数据项在程序运行过程中保持不变。一般常量一般常量就是直接描述的常量。下列常量都是一般常量:数值型常量:-25,128.43,0。字符型常量:01002,“王红”,128.43,。表示空串。日期型常量:2000.08.19,CTOD(“06/18/99”)。表示空日期。字符串表示日期常量时需用CTOD()函数进行转换,字符串表示日期的格式与当前系统默认的日期格式一致。当前系统默认的日期格式可通过SETDATETO命令进行设置。逻辑型:真为.T.,.Y.。假为.F.,.N.。2.符号常量符号常量就是在程序中为一个符号先定义一个值,程序中凡使用该值的地方就写上该符号常量。编译该程序时,编译程序将程序出现该符号常量中的地方用定义的值直接代替。符号常量又称编译常量。使用符号常量的好处是当值需要改变时只需改变符号常量定义的值即可。注意:程序中不能对符号常量重新赋值,符号常量不是变量。符号常量定义:#DEFINE符号常量名值例如,#DEFINEPI3.14159,3.1.2变量,1.变量赋值变量赋值的语句有下列两个:格式:变量名=值STORE值TO变量名表有些命令对变量不需事先声明就可直接赋值。赋值的同时该变量就被创建,变量类型取决于赋予的值的类型。【例Ex_VFPStore】变量直接赋值。SETTALKOFFUSERY!工资情况SUM技能工资,(岗位工资+浮动工资)*1.2TOJN,GWFDFOR编号”01”?JN,GWFDUSE运行后,结果自动产生变量JN和GWFD,并存放技能工资和(岗位工资+浮动工资)*1.2累加值,3.1.2变量,2.变量的引用在程序中变量可直接用变量名引用其值。如果当前打开的表中有与变量同名的字段名,这时用M.变量名引用该变量,而字段名可直接引用。【例Ex_Muse】变量的引用。USE基本情况编号=”04012”&给内存变量“编号”赋值&给字段名为“编号”赋值使用REPLACE或UPDATE命令?编号&显示1号记录编号字段的内容?基本情况.编号&显示1号记录编号字段的内容?M.编号&显示04012下面列出字段值的引用和对象属性的引用方法:变量的引用:M.内存变量名字段值的引用:数据库名!表名.字段名对象属性的引用:对象名.属性名把这些引用统一起来,都可以认为是对象引用,可把M和表都看成对象。例如:#DEFINEPI3.14159S=PI*8*8THISFORM.TEXT1.VALUE=S,3.1.2变量,3.显示变量格式:DISPLAYMEMORYLIKE文件名框架NOCONSOLETOPRINTERPROMPT|TOFILE文件名格式:LISTMEMORYLIKE变量名框架NOCONSOLE|TOFILE文件名可用LIKE变量名框架限制显示的变量名。框架可用*和?进行描述。TOPRINTER:显示记录送打印机打印。带PROMPT项,打印前打开打印对话框,用户可在该对话框中对打印机进行设置。TOFILE文件名:显示记录送到指定的文件中保存。4.变量的保存和恢复(1)保存变量格式:SAVETO文件名|MEMO备注字段名ALLLIKE变量名框架|ALLEXCEPT变量名框架该命令将当前内存变量保存到文件或备注字段中。ALLLIKE变量名框架:指定保存的变量范围。可使用*和?描述框架。ALLEXCEPT指定不保存的变量范围。(2)恢复变量格式:RESTOREFROM文件名|MEMO备注字段名ADDITIVE从保存变量的文件或备注字段中恢复变量到内存中。不覆盖当前已有内存变量。,3.1.2变量,5.内存变量的释放格式:RELEASE变量名表|ALLLIKE变量名框架|EXCEPT变量名框架【例Ex_Release】内存变量的释放。OLDDate=CTOD(“06/18/99”)NAME1=”肖文红”GZ1=1633NAME2=”朱平”GZ2=1834NAME3=”杨华”GZ3=1183DISPLAYMEMORY&显示所有内存变量SAVETOMFILEDISPLAYLIKENAME*&显示所有NAME打头的内存变量RELEASEALLEXCEPTGZ*DISPLAYMEMORY&显示所有内存变量CLEARMEMORY&清除所有内存变量RESTOREFROMMFILEDISPLAYMEMORY,3.1.2变量,6.变量和表(1)表字段到内存变量格式:SCATTERFIELDS字段名表|LIKE字段名描述框架|EXCEPT字段名描述框架MEMOTO数组名|TO数组名BLANK|MEMVAR|MEMVARBLANK|NAME对象名BLANK说明:将当前表的当前记录中FILEDS指定的字段的值放到数组、内存变量或对象中。其中,内存变量的名字与字段名相同。选对象项,对象生成与字段名同名的属性,字段的值放入相应的属性中。选MEMO,则包含备注型字段。【例Ex_Scatter】表字段到内存变量。USE工资情况GO3SCATTERMEMVAR?M.其他工资,工资情况.其他工资&值不同SCATTERNAMEGZ?GZ.其他工资,工资情况.其他工资&值不同USEDISPLAYMEMORY,3.1.2变量,(2)内存变量到表字段格式:GATHERFROM数组名|MEMVAR|NAME对象名FIELDS字段名表|LIKE字段名描述框架|EXCEPT字段名描述框架MEMO该命令用数组、内存变量或对象的值更新当前表的当前记录。【例Ex_Gather】内存变量到表字段。USE工资情况GO3M.其他工资=120?M.其他工资,工资情况.其他工资&值不同GATHERMEMVAR?M.其他工资,工资情况.其他工资&值相同USE,3.1.3数组,1.数组的定义数组就是变量名相同而下标不同的一组变量。数组用下列语句定。格式:DIMENSION数组名下标最大值表例如,DEMINSIONNAME100,CJ5,10注意:由数据库操作命令存放结果的数组系统会自动建立。2.表数据传送到数组数组与表之间、变量与表之间都可交换数据,通过数组不仅传送的数据多、速度快,而且还具有自动定位、使用简单方便。数组与表之间的数据传送分为表数据到数组和数组数据到表两个方向。先介绍表数据传送到数组。格式:COPYTOARRAYFIELDSWHILEFORNOOPTIMIZE将当前工作区中打开的表当前指针开始的若干记录的指定字段内容复制到指定数组中。,3.1.3数组,3.数组内容传送到表格式1:APPENDFROMARRAYFROMFIELDS将数组中的内容加到当前表中(不包括记忆型和通用型字段)。格式2:INSERTINTOFROMARRAY|MEMVAR将数组或一组与表字段同名的内存变量中的内容插入或追加到指定表中。【例Ex_ACopy】设计程序,复制表中最后一条记录后再修改。USE工资情况GOBOTTOMCOPYTOARRAYTARRNEXT1APPENDFROMARRAYTARR&表中不能有不许有重复记录的索引EDITUSEDISPLAYMEMORYLIKETARR*,3.1.3数组,4.操作数组的函数使用数组的函数很多,这里仅列出常用的操作数组的函数。(1)数组拷贝格式:ACOPY(,)(2)数组删除格式:ADEL(,2)(3)文件名到数组格式:ADIR(,)该函数能得到指定目录中文件名框架的文件的情况。返回的数组中的内容如表3.1所示。属性描述的功能如表3.2所示。例如,ADIR(AA,”D:RY_MIS*.DBF”,”AD”)?AA1,1,AA1,2,AA1,3,AA1,4,AA1,5?AA2,1,AA2,2,AA2,3,AA2,4,AA2,5?AA3,1,AA3,2,AA3,3,AA3,4,AA3,5,3.1.3数组,3.1.3数组,(4)得到元素序号格式:AELEMENT(,)(5)表结构到数组格式:AFIELDS()(6)数组插入格式:AINS(,2)(7)得到数组大小格式:ALEN(,)(8)数组定位格式:ASCAN(,)(9)数组排序格式:ASORT(,)(10)由序号得到下标格式:ASUBSCRIPT(,),3.1.3数组,【例Ex_Array】数组函数应用。DIMENSIONAA5AA1=2AA2=4AA3=1AA4=3AA5=5?AA1,AA2,AA3,AA4,AA5&显示24135?ASCAN(AA,1)&显示3=ASORT(AA)?ASCAN(AA,1)&显示1?AA1,AA2,AA3,AA4,AA5&显示12345=ADEL(AA,1)?ALEN(AA)&显示4?AA1,AA2,AA3,AA4,AA5&显示2345.F.,3.2.1操作符,数值操作符数值操作符用于进行数值运算,优先级从高到低为:+,-号*,*,/,%+,-。例如:-12.4/3+56,2.字符操作符字符操作符用于进行字符运算,优先级从高到低为:+,-$。例如,职称+DTOC(出生时间),”王”$姓名,3.日期操作符日期操作符用于进行日期运算,日期操作符没有优先级。例如,DATE()-出生时间+1,DATETIME()-2000.10.1.12:00PM,3.2.1操作符,4.关系操作符关系操作符用于进行关系运算,关系操作符没有优先级。例如,工资=800,编号“”,5.逻辑操作符逻辑操作符用于进行逻辑运算,优先级从高到低为:.NOT.,!.AND.OR.例如,职称=”工程师”.AND.DATE()-出生时间35各操作符之间优先级如下:数值操作符,字符操作符,日期操作符关系操作符操作符优先级,在同一表达式中,优先级相同的运算符,则按从左到右的次序进行运算。括号()可以改变运算的优先级,运算时总是先算括号里面的。注意,括号必须成对出现。,3.2.2常用函数,1.数值函数lLEN(c)得到字符串c的长度(字符数)。例如:LEN(“01002”)=5USE基本情况LEN(姓名+职称)=14lINT(n)取数值n的整数部分。例如:INT(680.34)=680lRECNO()得到当前记录号。例如:USE基本情况?RECNO()值为1SKIP?RECNO()值为2SQRT(n)求n的算术平方根。,2.字符函数lLEFT(c,n)取字符串c左边n个字符。例如:LEFT(“王红”,2)=”王”lRIGHT(c,n)取字符串c右边n个字符。lSUBSTR(c,n1,n2)取字符串c第n1个字符开始的n2个字符。lTRIM(c),RTRIM(c),LTRIM(c),ALLTRIM(c)去字符串c后面、后面、左、左右的空格字符。lEMPTY(c)判字符串c是否为空。,3.2.2常用函数,3.日期函数lDATE()得到当前日期。lTIME()得到当前时间字符串。lDATETIME()得到当前日期时间。lYEAR()得到当前年的数值。lMONTH()得到当前月的数值。lDAY()得到当前日的数值。4.数据类型转换函数lSTR(n,n1,n2)将数值转换为字符串。n1为总长度,n2为小数位。例如:STR(1002)=”1002”STR(编号,4,0)=“1002”lVAL(s)将数值字符串s转换为数值。例如:VAL(“01004”)=1004.00USE基本情况VAL(编号)=1002lDTOC(d)将日期d转换为日期字符串。lCTOD(c)将日期字符串c转换为日期。,lTTOC(t)将时间t转换为时间字符串。lCTOT(C)将时间字符串c转换为时间。lCHR(n)得到n的ASCII码字符。lASC(c)得到字符的ASCII码。5.表操作函数lEOF()判断是否超出表的末尾。lBOF()判断是否超出表的首行。lRECCOUNT()得到表的记录数。lFCOUNT()得到表的字段数。6.其他函数lFILE(c)判断c文件是否存在。lMESSAGEBOX(提示文本,对话框类型,对话框标题文本)显示字符串c。,3.2.2常用函数,3.2.2常用函数,例如:yes=MESSAGEBOX(工资报表已经生成!,0+64,人员工资情况)显示结果如图3.1左所示。yes=MESSAGEBOX(是否删除该记录,4+32,人员基本情况)?yes显示结果如图3.1右所示。图3.1MESSAGEBOX函数,3.2.3表达式,1.字符串表达式USE基本情况?基本情况.姓名+”工资为”+STR(基本情况.工资,8,2)?后面的就是字符串表达式。2.数值表达式#DEFINEPI=3.14159?PI*THISFORM.txtR.VALUE2-PI*823.日期表达式?DATE()+204.逻辑表达式USE工资情况LOCATEFOR(LEFT(编号,2)=”01”.OR.LEFT(编号,2)=”04”).AND.岗位工资0,有两个不等的实根。b2-4ac=0 x1=(-b+Sqrt(DT)/(2*a)x2=(-b-Sqrt(DT)/(2*a)Thisform.txtX1.Value=x1Thisform.txtX2.Value=x2Thisform.RefreshElseIfa=0Messagebox(a不能为0!)ElseMessagebox(没有实数解!)EndifEndif,3.3.2条件分支,2.CASE分支格式:DOCASECASE条件1语句序列CASE条件2语句序列2OTHER语句序列nENDCASE功能:从第一个CASE开始判断,若条件i成立,则执行语句序列i,然后跳,到ENDCASE后的语句。选OTHERWISE,图3.3成绩分段统计界面则在所有CASE条件均不满足时,执行其后的语句序列n。【例Ex_CountCJ】统计成绩分数段。(1)设计表单表单包含下列对象:标签Label1Label2作信息提示;文本框txtCJ用于输入成绩,文本框txt9txt5存放各分数段的统计结果;一个命令按钮cmdOK用于执行统计,输一个成绩统计一次。,3.3.2条件分支,(2)设置对象属性表3.11成绩分段统计对象属性,表3.11成绩分段统计对象属性,3.3.2条件分支,(3)编写代码确定按钮(cmdOK)的Click事件代码:cj=Thisform.txtCJ.ValueIfcj100Messagebox(输入的成绩不正确!)ElseDoCaseCasecj=90Thisform.txt9.Value=Thisform.txt9.Value+1Casecj=80.and.cj=70.and.cj=60.and.cj70Thisform.txt6.Value=Thisform.txt6.Value+1Casecj60Thisform.txt5.Value=Thisform.txt5.Value+1EndcaseEndifThisform.Refresh,3.3.3循环控制,1.FOR循环格式:FOR变量=初值TO终值STEP步长语句序列ENDFOR|NEXT变量只要变量的值小于等于终值,重复执行循环体中的语句序列。具体执行步骤如下:(1)给变量赋初值;(2)判断变量的值是否小于等于终值;(3)若不是,则循环结束;(4)若是,则执行语句序列;(5)变量=变量+步长,(若省略STEP,则步长=1);(6)转(2)。,3.3.3循环控制,【例Ex_ni】计算的阶乘。(1)设计表单表单包含下列对象:标签Label1Label2作信息提示;文本框Text1用于输入n,文本框Text2存放n!的计算结果;一个命令按钮Command1用于执行计算。图3.4计算的阶乘界面,3.3.3循环控制,(2)设置对象属性(3)编写代码计算按钮的Click事件代码:n=Thisform.Text1.ValueIfn=0表3.12计算的阶乘对象属性ReturnEndifn1=1Fori=1Tonn1=n1*iEndforThisform.Text2.Value=n1Thisform.Refresh,3.3.3循环控制,2.WHILE循环格式:DOWHILE条件&循环起始及条件语句语句序列&循环体ENDDO&循环终止语句只要条件为真,重复执行循环体中的语句序列。语句序列中遇到退出循环语句EXIT,则退出循环体,执行ENDDO后面的语句。语句序列中遇到跳转语句LOOP,则跳过该语句到ENDDO之间的语句。循环语句本身可以嵌套,并且可以与其它控制语句互相嵌套,但不允许有交叉。这些规则也适用FOR循环和SCAN循环。,3.3.3循环控制,【例Ex_n!_w】修改Ex_n!程序,改用WHILE循环计算的阶乘。(1)设计界面(同上)(2)设置对象属性(同上)(3)编写代码计算按钮的Click事件代码:n=Thisform.Text1.ValueIfn=0ReturnEndifn1=1I=1DoWhileI=nn1=n1*II=I+1EnddoThisform.Text2.Value=n1Thisform.Refresh,3.3.3循环控制,3.SCAN循环格式:SCAN范围FOR条件语句序列ENDSCAN只要当前打开的表范围内满足条件,就执行语句序列。不满足条件或超出范围,退出循环。SCAN循环能自动跳到下一个记录。【例Ex_AverGZ】计算平均技能工资。(1)设计表单在例Ex_EditGZ.scx表单文件中增加命令按钮(cmdAVER),计算当前显示的人员所在部门的平均工资的。(2)设置对象属性(同例Ex_EditGZ)。(3)编写代码,*计算按钮(cmdAVER)的Click事件代码S=0JS=0BH=LEFT(编号,2)ScanFor编号=BHS=S+工资情况.技能工资Thisform.RefreshWaitTimeout1&等待1秒JS=JS+1EndscanMessagebox(部门编号为”+BH+”的平均工资=+Str(S/JS),3.4.1过程和自定义函数的定义,过程格式:PROCEDURE过程名PARAMETERS变量名表语句序列RETURN返回值自定义函数格式:FUNCTION函数名PARAMETERS变量名表语句序列RETURN返回值子程序格式:PARAMETERS变量名表语句序列RETURN返回值过程和自定义函数分别用PROCEDURE和FUNCTION语句引导。过程或自定义函数可存放在下列位置:(1)一个独立的程序的结束语句后面可同时存放过程或自定义函数,包含该过程或自定义函数的程序可直接调用该过程或自定义函数。(2)在一个过程文件中,集中存放多个过程或自定义函数,应先用下列命令打开,其后所有程序均可调用。,3.4.1过程和自定义函数的定义,格式:SETPROCEDURETO过程文件名表ADDITIVE系统可同时打开多个过程。选ADDITIVE,在打开当前过程文件时原先的过程不关闭。不再使用过程文件时用RELEASEPROCEDURE命令关闭指定过程文件。(3)数据库的存储过程存放过程或自定义函数,打开数据库时这些过程或自定义函数同时被打开,在打开该数据库后所有程序均可调用。VFP中,数据库包含的过程叫存储过程。打开数据库时,数据库中的所有过程被打开。在数据库的可视状态,右击按钮,选存储过程可对其中的过程进行编辑。在“项目管理器”中,存储过程作为数据库的一个成员列出。单击它即可对其进行编码操作。数据库中的过程用COPYPROCEDURE命令拷出。过程文件也可用APPENDPROCEDURE命令加入数据库中。(4)若一个文件存放一个自定义函数或过程的代码,则也可使用子程序格式,这时文件名就是子程序名,并称该程序为子程序。程序的任何位置均可调用该子程序。有时自定义函数或过程统称为子程序。,3.4.2自定义函数和过程的调用,1.DO调用格式:DO自定义函数名WITH表达式表WITH表达式表用于向自定义函数传递参数。2.函数方式调用格式:变量名=函数名(表达式表)表达式表用于向自定义函数传递参数。采用这种方式调用自定义函数,要求自定义函数中用RETURN返回值,返回值就是函数的值。,3.4.2自定义函数和过程的调用,【例Ex_DoP】自定义过程。*MAINPROGRAM1num=6JC=0DOCALWITHnum?“6!=”,JC&显示6!=720JC=0=CAL(num)?“6!=”,JC&显示6!=720CANCELPROCEDURECALPARAMETERnIfn=0ReturnEndifJC=1i=1DoWhilei=nJC=JC*ii=i+1EnddoRETURN,【例Ex_Fun】自定义函数。*MAINPROGRAM2num=6JC=CAL(num)?“6!=”,JC&显示6!=720?“6!=”,CAL(num)&显示6!=720CANCELFUNCTIONCALPARAMETERnIfn=0Return-1EndifJC=1i=1DoWhilei=nJC=JC*ii=i+1EnddoRETURNJC,3.4.3参数传递方法,自定义函数要接收调用程序的参数,在自定义函数中的第一个语句应为PARAMETERS。格式:PARAMETERS变量名表LPARAMETERS变量名表其中“变量名表”中变量的个数和位置顺序必须与调用程序参数传递的“表达式表”的个数和位置顺序相同。实际传递的参数个数可用PARAMETERS()函数得到。VFP中,参数传递有下列两种方法:(1)按引用方式传递调用程序通过引用方式向过程传送变量和数组。如果在被调用的过程中一个值被改变,则新的值被传送回调用程序的相关的变量或数组中。(2)按赋值方式传递如果要通过赋值方式向过程传送变量或数组,被调用的过程中任何参数的改变都不会传送到调用程序相关的变量或数组中。缺省情况下,变量通过引用传送到一个过程,通过赋值传送到用户定义的函数(UDF)。如果通过引用把变量传送到用户定义的函数中,则使用下列命令:格式:SETUDFPARMSTOREFERENCE按引用SETUDFPARMSTOVALUE按值但是,不管设置成何种方式,如在传递时在变量两边加“()”则为传值方式,在变量前加“”则为传地址方式。,3.4.3参数传递方法,【例Ex_UDF】参数传递演示程序。SETUDFPARMSTOVALUEX=1=INC(X)MESSAGEBOX(“X=”+STR(X)&显示X=1X=1=INC(X)MESSAGEBOX(“X=”+STR(X)&显示X=2SETUDFPARMSTOREFERENCEX=1=INC(X)MESSAGEBOX(“X=”+STR(X)&显示X=2X=1=INC(X)MESSAGEBOX(“X=”+STR(X)&显示X=1*FUNCTIONINCPARAMETERTEMPTEMP=TEMP+1RETURNTEMP,3.5变量的作用范围,变量的作用范围遵循下列规则:(1)子程序使用调用程序中的变量调用程序中使用的内存变量可以在被调用的程序中直接引用和修改。(2)公用变量所有程序中使用和重新赋值的变量称为公用变量。公用变量用下列语句定义:格式:PUBLIC变量名表|ARRAY数组名表变量名表若是数组,则必须同时指定它的最大下标,并且数组名前也可加ARRAY说明。在定义这些变量为公用变量(局部变量)的同时,它们本身就同时被定义。对于数组也就不要再用DIMENSION进行定义了。(3)局部变量仅本程序使用的变量称为局部变量。局部变量仅在本程序中定义,可以与调用它的程序中使用的变量同名。退出该程序后,局部变量就被释放。局部变量用下列语句定义:格式:PRIVATE变量名表|ARRAY数组名表|ALLLIKE结构|ALLEXCEPT结构,3.5变量的作用范围,用PRIVATE命令定义局部变量的程序调用的子程序中仍可使用和对其进行修改。但下面的命令定义的局部内存变量在其调用的子程序中不能使用和修改:格式:LOCAL变量名表|ARRAY数组名表局部内存变量和数组赋值之前定义,局部内存变量和数组只能在创建它们的过程和函数内部使用和修改。不能被调用它或它调用的程序中访问。一旦包含局部内存变量和数组的过程或函数执行完毕,该局部内存变量和数组被释放。局部变量可通过引用方式进行传递。,【例Ex_EditXY】变量的作用范围。PublicXX=1Y=1DoEditXYMessagebox(X=+str(X)&显示X=2Messagebox(Y=+str(y)&显示Y=1Canc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲方小店铺租赁合同范本
- 燃油安全安装合同协议书
- 美甲店加盟协议合同范本
- 物流合同配送协议书模板
- 股权合作协议补充协议书
- 签约非遗传承人合同范本
- 自建洗车房自用合同范本
- 苗木培育承包合同协议书
- 法律居间代理协议书模板
- 猫舍合作合同协议书范本
- 2022年4月自考04184线性代数(经管类)试题及答案含评分标准
- 顶管专项施工方案审查意见
- ZAPI(萨牌)控制器ACE2-重要参数以及调试步骤
- 道路绿化养护投标方案(技术方案)
- GB/T 11064.16-2023碳酸锂、单水氢氧化锂、氯化锂化学分析方法第16部分:钙、镁、铜、铅、锌、镍、锰、镉、铝、铁、硫酸根含量的测定电感耦合等离子体原子发射光谱法
- 2023年云南文山州州属事业单位选调考试试卷真题
- dd5e人物卡可填充格式角色卡夜版
- 浅谈中华优秀传统文化融入中职教育研究
- 生产管理制度文本普通货运
- 舞蹈概论课程教学大纲
- 数字媒体艺术概论
评论
0/150
提交评论