VB语言基础可编辑范本

上传人:仙*** 文档编号:106916612 上传时间:2022-06-14 格式:DOC 页数:23 大小:67.54KB
返回 下载 相关 举报
VB语言基础可编辑范本_第1页
第1页 / 共23页
VB语言基础可编辑范本_第2页
第2页 / 共23页
VB语言基础可编辑范本_第3页
第3页 / 共23页
点击查看更多>>
资源描述
V语言基础一、数据类型、数值型:取值范围:Byte(字节型)占1字节;0255无符号Iner(整型)占2字节;327682767long(长整型)占字节;14783642143647single(单精度浮点)占字节;略oule(双精度浮点)占4字节;略urny(货币型)占8字节小数点左5位,右4位(精确定点数据类型)、逻辑型:oolean(布尔型)占字节;true或fas 3、字符串型:String定长型占字符串长度,变长型再加104、日期型:Dat(日期型)占8字节1001-199912-31、对象型:bject占4字节;任何Obje引用、变体型:riant变体型数字占6字节,变体型字符占22字节+字符串长注:此类型还包含三种特定值:Emty;Nul;ror; 7、用户定义的数据类型: 用户可以利用Type语句定义自己的数据类型。格式如下 yp 数据类型名 数据类型元素名As 类型名 Ed Tpe 用Typ可定义类似于C语言中的结构体类型。例如: p Dae_Re RYer As Integer Ronths Sting Ray s Inter En Tpe 注:记录类型中的元素可以是字符串,但必须是定长字符串,其长度由类型名加上一个星号和常数指明 数据类型转换函数: 函数名及书写格式转换结果 CBool(表达式)布尔型 Cur(表达式)货币型 CBye(表达式)字节型 CDae(表达式)日期型 CDbl(表达式)双精度 CSn(表达式)单精度 CInt(表达式)整型 Cng(表达式)长整型 Ctr(表达式)字符串 Car(表达式)变体型 二变量 .变量名V中变量的命名遵从标识符命名原则:必须以字母开头;变量中间不能有空格;不能使用VB关键字; 变量的声明 允许使用不声明的变量,即一个变量未经声明就可以在程序中使用。这种变量使用方式称为隐含变量声明。(使用隐含变量时,VB会自动创建变量,并赋予它变体类型。在为其指定值之前,其值为Emp,当为它赋值后,会采用所赋值的类型作为自己的类型。) 显式声明: 用类型说明符:将类型说明符加在变量名的尾部; 定义变量时指定其类型: 格式:eclar变量名As类型名 其中的Declae 可以是Di ,Statc, Rdm, Public中之一 用D tpe语句:Def tpe 字母范围 这里的Ty是类型标志,e是系统保留字,它们之间没有空格.例如:DefInt D-J 该定义声明了D、E、F、G、H、I、J都是整型变量,而且以这些字母开头的变量名也都是整型变量。 类型说明符: %:整型; & :长整型; !:单精度浮点型; # :双精度浮点型; :货币型; $ :字符串型; 字节、布尔、日期、对象及变体型没有类型说明符。 注意: ima,b,c Ateer是错误的。只有c被声明成Inteer,而,b缺省为ian类型. 如果使用Dim sIntegr语句声明了变量为Intger,而在后面又使用带有类型说明符的该变量,如x$,x!,x和x#,程序运行时就会产生“duplatedefiition”错误。 使用不带As的Dim语句,会被声明成变体类型的变量。 通过不带长度说明的字符串声明语句可以声明变长字符串. 对于声明布尔型的变量,其缺省值为Fale ; 为声明为Date类型的变量赋值时,日期值应放在一对#之间,且多种日期和时间格式在VB中都是有效的. 3.变量的作用域和生存期: 变量的作用域指变量的有效作用范围,也就是变量可以被访问的范围.按以下三种方式来定义变量的作用范围: 范围说明 过程在过程内使用Di或Stati 私有 在模块开头加上Dim或Priae 公共在模块开头加上ublic 变量的生存期指VB保存该变量值的时间,是变量在整个程序运行过程中的有效生存时间1)过程层变量-过程层变量是指在过程或函数内部定义的变量,这种变量无论是用Dim还是Stati声明,其作用域都只是该过程或函数体,在过程或函数外不能引用;2)窗体层变量窗体层变量是指在窗体的通用部分声明的变量,即不是在任何一个窗体内的过程或函数中声明的变量。它的作用范围至少是窗体的存在范围,也就是说在窗体内的每个过程或函数中都可以使用窗体层变量。 窗体层变量的声明有三种方式: 用Di语句声明。 用Private语句声明。 用Public语句声明。 对于用im和rivate声明的窗体层变量,其作用范围都是在所声明的窗体范围内用Public声明的窗体层变量作为窗体公用数据成员,可以在其他窗体或模块中以“窗体名。变量方式引用.其作用可以大于当前窗体范围。窗体层变量在本窗体所有过程中都是可见的. 3)模块层变量-模块(Module)是构成VB工程(Proje)的一部分,是包含数据和过程的集合定义模块层变量只需在模块的通用部分加入Dim,Pte,Gobal或ui等声明语句即可。用Dim和Pria声明的模块层变量作用域为所在模块范围,而用Publc和Globl定义的模块层变量则可以全局使用。 注:全局变量必须用Publ或Glbal声明,不能用im 三常量 常量是一个有意义的名字,用来表示程序运行时不变的数值和字符串。 isual Bac中的常量分为文字常量和符号常量两种,文字常量又可分为数字常量和字符串常量。 符号常量(自定义常量):在程序中程序员用Cont声明的常量。 使用常量时应注意: (1)用nst声明的常量在程序运行过程中是不能被重新赋值的。 (2)在常量声明的同时赋值。 (3)可以为声明的常量指定数据类型,如Cons coValAs urrncy=3.78,缺省时为所赋值的类型。 (4)在用常量为常量初始化时注意,不可有循环引用。例如: 模块1中: Publcconsccon2+8 模块2中: ulic otcon2= con13 四数组 1数组的定义: 必须用Gol或Di语句定义。Dim语句的语法格式如下: m数组名(lowerTo per,lowrTo uer)As tye 在这里,每对loer和up为数组的一维,loer是该维下标的下限,ur是该维下标的上限,如不标明loer,其默认值为0。Uppr不可省略。 例如: (1)一维数组的定义: Rcord (5) As Integer 定义了一个有六个数据元素的整型数组 (2)二维数组的定义 Dim Mati(2,) s Integ 该数组定义了一个二维数组,可以存储12个整型数,三行四列下标:00,0,2,03,10,3 2动态数组 带有空()的Dim可以声明一个动态数组,如: Dim nArray( ) 然后,可用RDim语句在一个过程或函数中定义动态数组的维数和元素个数。申请或重申请存储空间的一般格式为: ReDm reerv 数组名(lowe TO uppe ,low uppr) AType 其中,Peserve为可选项,表示是否保护己有数据。缺省时为不保护. 例如:ReDi dynAray(10) 为动态数组申请10个单元 RDi reseve mArra (Uoun(myray)+0) 其中,Ubound函数返回数组的指定维的上限。 这是一个保留原数据的增量分配数组 五、枚举类型: 当一个变量只有几种可能的值时,可将这个变量定义为枚举类型。 枚举类型的声明放在窗体模块、标准模块或公用类模块中的声明部分,用Enum语句来定义,格式如下: Pblic|Pivte num 类型名称 成员名常数表达式 成员名=常数表达式 . End Enum 默认情况下,枚举类型中的第一个常数被初始化为0,其后的常数逐项递增1. 例如:Enum Das atay Suna Mond Ta Weesday Thrdy riday End Eum 例如在如上定义的Days枚举类型的基础上,有如下单击某按钮的过程: Privat Su Comand1Clik() Di MyDay s ays MyDay Satura If Dy on then MgBx “It the wed !” nd I EdSb yDa是一个枚举变量,trdy的值为,而Moa的数值为,I中的条件成立 六、运算符与表达式 1.赋值运算符:VisalBasi中的赋值运算符是“。 数学运算符: 优先级运算符说 明 高指数运算,如23 负号运算符 乘除运算,其中除法()的所得结果 为实数 整除。所得结果为实际结果 的整数部分 Mo 取模运算符,两数相除取余数 + 加、减运算 低& 连接字符串。 关系运算符:=(等于);或(不等); (小于);(大于);=(大于等于);e(比较样式);Is(比较对象变量) 4.逻辑运算符: 逻辑运算用于判断操作数之间的逻辑关系。提供了非(Nt)、与(And)、或(O)、异或(Xor)、相等(Eq)和隐含(Imp)逻辑运算。逻辑运算符的优先级低于数学运算符和关系运算符。逻辑运算符本身也有优先级,其顺序为No,d,,r, Eqv,。 5、表达式的执行顺序:: 1)函数运算; 2)算术运算; 3)关系运算;(优先级:=,=) 4)逻辑运算; 注:乘除法同时出现时,遵循从左到右顺序;括号的运算总是优先;字符串连接()不是算术运算符,但其优先顺序在所以算术运算符之后,又优先于其他运算符 七、输入与输出: Inpuox函数:nptBo函数可以产生一个对话框,用于将用户从键盘输入的数据作为函数的返回值返回到当前程序中。 返回数值型数据。格式如下: IptBox(prompt ,tile,deua,xos,ypos,hepfile,ctext) 返回字符串型数据。格式如下: InpuBox(pompt ,itle,dul,xps,ypos,helple,cotet) 其中的参数含义为: pro:一个字符串,显示出现在对话框中的用来提示用户的信息,最大长度为124个字符。 Tit:一个字符串,显示出现在对话框的顶部的标题信息。 defaut:一个字符串,用于显示输入缓冲区的默认信息,即用户在执行了InuB函数后如果没有输入任何信息,则可用此字符串作为默认的输入值。 xpos:整数值,用于表示对话框与屏幕左边界的距离。 ypo:整数值,用于表示对话框与屏幕上边界的距离。 epe:字符串型变量或字符串表达式,用于表示要用的帮助文件的名字。 cntx:整数型变量或表达式,用于表示相关帮助主题的目录号。 Prn方法用于输出显示.它既可以用于窗体,也可以用于其他控件上;它可以在窗体上显示文本字符串和表达式的值,也可以在其他图形对象或打印机上输出信息。格式: 对象名称。Pint表达式表, |; 对象名称是一个可选项,可以是窗体、图片框或打印机,如果省略,则在当前窗体上直接输出; 表达式表是一个或多个字符串或数值表达式,用以原样输出字符串或表达式的值.也是可选项。如果省略,则输出一个空行; 当需要输出多个字符串或表达式值时,各表达式间用逗号、分号或空格分隔,其中逗号分隔为标准输出格式,14个字符位为一个输出区段单位,逗号后面的表达式在下一区段输出,分号和空格分隔,则是按照紧凑格式输出; rint方法兼有输出和计算双重作用,即可以先计算表达式的值后输出; 每执行一次Print方法将自动换行,要显示在同一行上,可以在前一Prt方法行的末尾加上一个逗号或分号。 与Prit方法相关的还有一些函数和方法: (1)Tab函数:可以把光标移动到由参数n指定的位置,并从这个位置开始输出信息格式为: Tb(n) 其中n为一个整数值,指出下一个输出位置的列号,如果当前位置已经超出n,则自动下移一行,默认最左边的列号为1; 当n大于行宽时,显示位置为nMo行宽; 当一个Pin方法对应n个Tb函数时,每个Tab函数对应一个输出项,各输出项之间用逗号分隔。 (2)空格函数:用空格函数可以返回n个空格,格式为: Spce $ (n) (3)Spc函数:在用i输出时可以用Sc函数跳过n个空格,格式为: Spc(n) (4)ls方法:使用Cls方法可以清除rnt方法显示在对象上的内容,并将光标移动到对象的左上角(0,0)位置。格式为: 对象.Cls 其中,“对象”为可选项,如果省略,则清除当前窗体内的内容。 例1:设计一个程序,输入一组学生信息:学号、姓名、性别、年龄和入学成绩。用窗体单击事件激发 解:iate Sub orm_Cik( ) num= “请输入学号:” mgtle=“学生登记表信息” nnam = “请输入姓名: x$ “请输入性别:” age = “请输入年龄:” so= “请输入入学成绩:” Studtum$= Inputox(um,Msgttl$) Sudna Inutox(name,Mtitle$) Stdntsx = InpBo$(sx$,gtie$) Studntae = nputBx(ag$,Msgtile$) Stdentsco% = putBox$(co$,stitle$) ls Prt tdentnum$;“,”;Studentname$;“,Studetex$;“,现年” Prit dentag%;“岁;“,入学成绩; Sdntsco%;“分” bd Sub (5)sBox函数:Visal sic中除了可以用nt方法在窗体或控件上输出程序执行结果等信息外,还提供了一种在适当的时候可在屏幕上显示一个对话框,让用户进行选择,并根据选择确定后续操作的功能。 格式: MgBox(prot,butons ,tit ,helpile,cotxt) 各参数含义为: promt:一个字符串,最大长度1024字符,输出的提示信息,当一行显示不下时,自动换行; btons:整数值或符号常量,指示显示按钮的数目及形式,使用的图标样式,默认按钮是什么以及消息框的强制回应等等。如果省略,其缺省值为; ttle:显示在对话框标题栏中的信息,缺省值为该应用程序名; helfile:字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件,如果有这个选项,则必须有conext选项; contx:数值表达式,由帮助文件的作者指定给适当帮助主题的帮助上下文编号,同理,如果有这一选项,则必须有helfi选项。 表中的数值分为四类:5为对话框中命令按钮的类型和数量,每个数值表示一种组合方式;、3、4、4为指定对话框所显示的图标;0、256、12、8指定默认的活动按钮;0、496用于应用程序和系统强制返回。Butons的参数值由这四类数值组成,其组成原则是从每一类中选择一个值,把这几个值加起来就获得了uton参数的值,在大多数应用中,只使用前三类,不同的组合会得到不同的结果。例如: 1160:显示“是”、“否”和“取消”按钮和“暂停”图标; 34=32:显示“终止、“重试”和“忽略按钮和“疑问”图标;Mso的返回值如下表: 例2 :设计一个窗体单击事件过程,要求程序执行时出现提示信息:“请确认操作正确否?”,并在消息框的标题上显示“操作确认”标题,如果回答“是”,则将返回值6赋予变量a,并在窗体上显示返回值的平方,否则,如果选择“否”,则返回值为7,在窗体上显示“重新操作并确认! 该程序产生的对话框中有三个按钮即“是、“否”、“取消” 程序代码如下: PrvteSub Form_Click() mMsg AStr, ttle A Strig D sInteger s 请确认操作正确否?” ile = 操作确认” a MsgBox(g, 9, tle) If a= 6Then Prin EleIf a = Ten Prt 请重新操作并确认! End If E Sub 八、语句与控制流 1、注释语句: 注释用来说明程序中某些语句的功能和作用。在中用“”和Rem来标识一条注释语句。V程序在解释运行或编译过程中,不会处理Re后面那一行注释语句。 2、赋值语句: 目标操作符源操作符 操作符两边的数据类型必需一致! 3、暂停语句: 格式:Sto /当程序执行到Sop时,自动打开立即窗口 、结束语句:格式:End /常用于结束程序 5、条件分支结构 (1) If语句的三种格式: 第一种是单分支格式: If 条件Te 语句 End If / 其中加“部分为可选择部分.第二种是双分支格式: If 条件 Th 语句块 Else 语句块2 nd f 这里是双分支,即如果条件满足,执行语句块,否则,执行语句块2注意:语句块中的语句不能与其前面的hn在同一行上!第三种格式: If 条件Te 语句块 EseIf 条件 Tn 语句块2 Else i 条件 Ten 语句块n lse 语句块 Ed f (2)If函数 V提供了一种用来执行简单条件判断的函数IIf,它是“IfThenEse”结构的简单版本,格式如下: Reut II(条件,为“True”的执行语句,为“alse的执行语句) 这里的Reslt是函数的返回值,括号中的三项均不能省略,执行的操作为首先判断条件,当“条件”为真的时候,执行“为“Tre”的执行语句,否则执行“为“Fase”的执行语句”。 例如有如下判断条件: If a 8 The x = 3 se x = 0 End I 用IIf函数替代,则可简化为: x I (a 8,3,0) 类似于C语言中的条件表达式: 表达式1?表达式2:表达式3 例: Ma=(ab)? : b; 2. Selet ae语句 Sect ae语句很适合多重条件判断它的书写格式为: ect ca测试表达式 Case 表达式结果1 语句块1 Cas表达式结果2 语句块2 Casetelse 语句块n End Select 测试表达式既可以是数值表达式,也可以是字符串表达式,通常为变量或常量;每个语句块由一行或多行合法的Vsual Bai语句构成;表达式结果1、表达式结果2被称为域值,它可以是:表达式,表达式、表达式T 表达式或者Is关系运算表达式(运算符可以是:,=,,)之一。例如: ase1,3,5, Case 1 To6 Cases= a 这三种表现形式均合法,但应该注意表达式结果中的表达式必须与测试表达式的类型一致。 例:从键盘上输入学生考试成绩的等级,然后按照考试成绩的等级显式出百分制的分数段,可以用lect Cae语句来实现: Sborm_clck() grad As trg,Msg Msg”请输入学生的成绩等级: gade InputBx$(Msg) If tIsNll(grade)Then Seect Case rd Case “A” g=”500” Cs“B” sg= “704” Cas “C” Mg=“606” Cae “D” sg “ 60” ase Else Mg “error!” En ect End I sgox Msg En Su 6、循环结构: 1.ForNet语句 语句格式: For 循环变量初值To终值tep步长 语句 Exit or 用于在特定条件下退出循环 语句 Nxt 计数器 其中: 循环变量:数值型变量,用于统计循环次数的变量。 初值:数值型变量,用于设置循环变量的初始值。 终值:数值型变量,用于设置循环变量的终结值。 步长:数值型变量,用于决定每次循环变量的变化值。可为正值亦可为负值,默认为1。 这里遵循:“先检查、后执行”的原则,循环次数由初值、终值和步长决定; For语句和Nex语句必须成对出现,且or语句必须在ext语句之前; FrNet循环是可以嵌套的,且嵌套层数没有限制,但每个循环必须有唯一的一个变量名作为循环变量,内层循环的xt语句必须位于外层循环的Nxt语句之前,不可相互交叉; 当内循环与外循环有相同的终值时,可以共用一个ext语句,但不能省略变量名; 循环控制值既可以是整型量或单精度数,也可以是双精度数。 例4:设计一个窗体单击事件过程,要求从键盘输入10个数,其中有正数和复数,分别输出其中的正数、正数的累加和和负数的累加和 解:PriaeSub F_Click( ) Dim NumxAs Integer, iAs Ieger Dim x s Intgr,SyAs Intger Smx= Sumy= Fr 1 t 1 Num=Iptx(“请输入一个整型数:) If Nux 0Thn intNumx; S=Sumx+Num Else Sumy=Smy+Numx Edf Nex i Pri Pri “已输入的正数累加和为:;Sumx ri “已输入的负数累加和为:”;m Edub 2Fr Eahxt语句 对集合中的每个元素进行一次循环,直到集合中无更多元素时,执行Nx下面的语句。一般格式为: For Each 集合中元素in集合 语句 ExtFor 语句 Next 元素 .DoLoop语句 (1)当型循环格式: 格式1:Do 语句块 Eit Do oo hile循环条件 格式2:ohile 循环条件 语句块 xi Do Lp 这种结构的功能是当“循环条件为“真”时,执行循环体语句块,否则,跳出循环体,执行Lo后面的语句。第一种格式的执行顺序是:先执行循环体语句块,然后判断“循环条件”,如果为“真”,则继续执行循环体语句块,否则,跳出循环,执行oop后面的语句;第二种格式的执行顺序:先判断“循环条件,如果为“真,则执行循环体语句块,否则跳出循环,执行Lop后面的语句; ()直到型循环格式: 格式1: Do Until循环条件 语句块 Eixt Do 用于在特定条件下退出循环 Lp 格式2: o 语句块 Eixt D 用于在特定条件下退出循环 oopUnti 循环条件 这种结构的功能是直到“循环条件为“真”时,跳出循环体,执行Lp后面的语句,否则,就一直执行循环体语句块.第一种格式的执行顺序是:判断“循环条件”,如果为“假”,执行循环体语句块,否则,跳出循环体,执行Loop后面的语句;第二种格式的执行顺序是:先执行循环体语句块,然后判断“循环条件”,如果为“假”则继续执行循环体语句块,否则,跳出循环体,执行Loop后面的语句。 注意:“Whie循环条件”或“Uni循环条件为可选项,如果缺省,则该循环将成为无限循环。 4.hileWed语句 这种语句是从传统BAIC语言中继承下来的,用Do ileLo语句功能一样,其语句格式为: hl 条件 语句块 Wend 5、在VisuBasic中有以下几种跳出语句: ExtFor:用于中途跳出Fr循环。 Exi o:用于中途跳出D 循环. Exit ub:用于中途跳出Sb过程。 Exi Fuio:用于中途跳出Funcion过程。 以上几种中途跳出语句都既可以直接使用,也可以用条件判断语句加以限制。且在循环中或过程中出现的次数没有限制。使用它们,可以为某些循环体或过程在需要的时候设置明显的出口. 九、过程: 1.u过程(子程序) 一般格式: StcPrivatePublc Su过程名(参数列表) 语句块 Exi Sub Ed Sub 参数表列中含有该过程被调用时由主调方传送过来的变量名或数组名,各名字之间用逗号分隔,它们指明了调用时需传送给该过程的参数类型和个数,每个参数的格式为: ByVl变量名( )s 数据类型 yVal是可选项,如果有这个选项,则表明该参数是“传值”参数。 在VisuaBasic中应区分通用过程和事件过程这两类子过程。 通用过程:告诉应用程序如何完成一项指定的任务。通常,在应用程序中经常会发生几个不同的事件过程也许要执行同样的动作的情况,这就要求系统提供能够将公共语句放入一个分离开的过程(通用)中。 事件过程:当用户对Vsal Baic中的对象施以动作并得到系统确认时,便自动用相应事件的名称调用该事件过程。事件名称相当于对象和代码之间的桥梁,事件过程则是附加在窗体或控件上的一段程序代码。 所有的事件过程使用相同的语法.其格式如下: Prve Sb控件名_事件名(参数表列) 语句块 Exit S EnSb 窗体的事件过程也使用相同的语法。其格式如下: iveubor或MDIFrm事件名(参数表列) 语句 xit Su End Su 2、unctio函数 函数实际是实现一种映射,它通过一定的映射规则,完成运算并返回结果。函数的定义方式与S过程的定义很相似,可以说只不过是用nction关键字取代Sub,同时加入返回值类型说明。 格式:StaticPriaeulicunion过程名(参数列表)A类型 语句块 过程名表达式 Exit Fucin 语句块 End utio 注意:Fuon过程与Sub过程的最大区别在于Sb过程无返回值,而uction过程有至少一个返回值;过程不能嵌套,因此,不能在事件过程中定义通用过程(包括Sub过程和unction过程),只能在事件过程内调用通用过程。 、调用过程 如果要使得程序执行某过程,则必须调用该过程。过程的调用方式有两种: 第一种方式: 过程名(参数 ,参数2,) 第二种方式用Ca调用: Ca 过程名(参数,参数2,) 每次调用过程都会执行Sub(或Functon)和End ub(或Fnctio)之间的语句。可以将子过程放入标准模块、类模块和窗体模块中。调用S过程相当于执行一个语句,不考虑返回值,而调用Fncton过程则需考虑返回值。 在工程中的任何地方都可以调用其它模块中的公用过程。大致分为几种调用方式 (1)调用窗体模块中的过程.所有窗体模块中的外部调用必须指向包含该过程的窗体模块. 例如,如果窗体模块Form1中包含SoeSu过程,则可以以下语句调用: Cal orm1。SmeSb(参数表) 调用标准模块中的过程。如果过程名是惟一的,则不必在调用时加模块名,无论是在模块内还是在模块外调用,结果总会这个惟一的过程如果两个以上的模块都包含同名的过程,那就有必要用模块名来限定了. 十、常用标准函数: CrDr函数-返回一个用来代表当前路径的字符串变量;格式:CurDir(drive) 方括号为可选项,默认为当前驱动器的路径。 Cr函数-返回一个包含指定错误号的变体型 格式:CErr(eronumber) Date函数-返回一个包含系统日期的ariant型或者dt 格式:Dae Day函数-返回表示一个月中某一天的整型数 格式:Day(dt) Timer函数返回一个从当日午夜零点到当前时刻所经历的秒数(单精度数)
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!