VB程序设计代码基础.ppt_第1页
VB程序设计代码基础.ppt_第2页
VB程序设计代码基础.ppt_第3页
VB程序设计代码基础.ppt_第4页
VB程序设计代码基础.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1 第3章 VB程序设计代码基础 本章要点 字符集数据类型常量 变量常用内部函数运算符与表达式 2 命令格式中的符号约定必选参数表示符 如缺少必选参数 则语句发生语法错误 可选参数表示符 如方括号中的内容省略 则VB会使用该参数的缺省值 多个取一表示符 分隔多个选择项 必须选择其中之一 括起多个选择项 同类项目的重复出现 省略了在当时叙述中不涉及的部分 注意 这些专用符号和其中的提示 不是语句行或函数的组成部分 在输入具体命令或函数时 上述符号均不能作为语句的组成部分 3 3 1字符集 1 字符集使用Unicode字符集 其基本字符集包括 数字 0 9英文字母 a z A Z特殊字符 空格 等 2 关键字关键字又称为保留字VB自动将关键字的首字母转换为大写字母例如 PRINT5 6转换成Print5 6 4 3 标识符 用于标记用户自定义的类型 常量 变量 过程 控件等的名字 标识符的命名规则如下 第一个字符必须是字母 长度不超过255个字符 控件 窗体 模块的名字不能超过40个字符 不可以包含小数点或者内嵌的类型声明字符 不能使用关键字 例如 Sum Age Average stuName等都是合法的标识符 习惯上 将组成标识符的每个单词的首字母大写 其余字母小写 VisualBasic不区分标识符的大小写 例如 标识符A1和标识符a1是等价的 5 3 2数据类型 基本数据类型 数值型字符串型布尔型日期型对象型可变类型 6 3 2 1数值型数据 Integer 整型 Long 长整型 Single 单精度浮点型 Double 双精度浮点型 Currency 货币型 Byte 字节型 7 1 整数类型 1 整型 Integer 以2个字节存储十进制表示 由 号 0 9组成范围 32768 32767八进制表示 以 O开头 由0 7组成范围 O0 O177777十六进制表示 以 H开头 由0 9 A F组成范围 H0 HFFFF例 325056 100 O456 O36 H1AC H38 H2 8 2 长整型 Long 以4个字节存储十进制表示 由 号 0 9组成范围 2147483648 2147483647八进制表示 以 O开头 以 结束范围 O0 O37777777777 十六进制表示 以 H开头 以 结束范围 H0 HFFFFFFFF 例 453466 34568 1000000 O456 O36 H1AC H38 H2 9 2 实数类型浮点数采用IEEE格式 由尾数及指数组成 E D 1 单精度浮点型 Single 以4个字节存储 可以精确到7位十进制数例 3 234E 2表示3 234 102 28E9表示 28 1094 56E 17表示4 56 10 17 2 双精度浮点型 Double 以8个字节存储 可以精确到16位十进制数3 234D 2表示3 234 102 28D9表示 28 1094 56D 17表示4 56 10 17 e d 10 3 货币型 Currency 以8个字节存储用于表示定点数 其小数点左边有15位数字 右边有4位数字 3 字节型 Byte 用一个字节存储数据 其取值范围为0 255 11 3 2 2字符串型数据 String 由双引号 括起来的一串符号例 abc ABC 计算机 12 34 3 2 空串 如果字符串本身包括双引号 可用连续两个双引号表示 例 要打印以下字符串 Youmuststudyhard hesaid 在程序中需要将该字符串表示成 Youmuststudyhard hesaid 12 3 2 3布尔型数据 Boolean 用于表示某个条件的成立或不成立 只有True和False两个值 13 3 2 4日期型数据 Date 用于表示日期和时间格式 VB接受许多种日期时间格式例 下面的Date Time值全部有效 3 6 9313 20 March27 19931 20am Apr 2 93 14April1993 12 18 1999 3 2 5对象型数据 Object 以4个字节存储 用于引用程序中的对象 3 2 6可变类型数据 Variant 可以包含任何类型的数据 14 3 2 7枚举类型 用于建立名称与常量数值的关联 枚举类型可以在窗体模块 标准模块或类模块的通用声明部分声明 格式 Public Private Enum 常量表达式1 常量表达式2 EndEnum 15 参数 枚举类型名和各成员名应符合标识符的命名规则 成员名用于定义该枚举类型的组成元素的名称 常量表达式 可选项 为各成员所对应的值 为Long类型 可以是其他的枚举类型 Public 为可选项 表示该枚举类型在整个工程中都是有效的 当省略Public和Private时 默认为Public Private 为可选项 表示该枚举类型只在所声明的模块中是有效的 16 说明 1 在缺省常量表达式的情况下 枚举中的第一个常量被初始化为0 其后的常量则初始化为比其前面的常量大1的数值 例 PublicEnumDaysSunday 初始值为0Monday 初始值为1TuesdayWednesdayThursdayFridaySaturdayEndEnum 17 2 可以使用赋值语句显式地给枚举中的常量赋值 所赋的值可以是任何长整数 包括负数 例 PublicEnumWorkDaysSaturday 初始化为0Sunday 0 被赋值0Monday 初始化为1TuesdayWednesdayThursdayFridayInvalid 1 被显式赋值为 1EndEnum 18 3 VB将枚举中的常量数值看作为长整数 如果将一个浮点数值赋给一个枚举中的常量 VisualBasic将该数值取整为最接近的长整数 4 当向一个枚举中的常量赋值时 也可以使用另一个枚举中的常量数值 PublicEnumWorkDaysSunday 0MondayTuesdayWednesdayThursdayFridaySaturday Days Saturday 6Invalid 1EndEnum 19 5 声明枚举类型后 就可以声明该枚举类型的变量 然后使用该变量存储枚举常量的数值 例 声明枚举类型的变量DimMyDayAsWorkDays Saturday的数值为0MyDay Saturday6 当引用单个常量时 为了避免混淆 应在常量名称前冠以枚举名 Debug Print Days Saturday Days SaturdayDebug Print WorkDays Saturday WorkDays Saturday7 VB提供了系统定义的枚举vbDayOfWeek 它包括了与星期的七天相对应的常量 20 3 2 8用户自定义类型 是用户自己定义的类型 这种类型可以包含多个基本类型 使用Type语句定义 Type语句格式 Private Public Type 下标 As EndType 21 说明 1 应遵循标识符的命名规则 可以是VisualBasic系统提供的基本数据类型或已声明的用户自定义类型 缺省 Private Public 选项时 默认是Public 2 用户自定义类型必须在窗体模块或标准模块的通用声明段进行声明 在窗体模块中定义用户自定义类型时必须使用Private关键字 3 如果用户自定义类型的元素为数组 则需要使用参数 4 在使用用户自定义类型前 必须先声明用户自定义类型的变量 22 引用用户自定义类型元素的格式 例 定义一个Students数据类型 该类型中的每一个数又包含了学生的系 班级 姓名 年龄信息 定义格式为 PrivateTypeStudentsDeptAsString 20 系ClassNoAsString 10 班级NameAsString 姓名AgeAsInteger 年龄EndType 23 声明一个用户自定义类型的变量StudDimStudAsStudents 给变量的元素赋值Stud Dept 计算机系 Stud ClassNo 软件2001 1 Stud Name 张三 Stud Age 18 输出各元素的值PrintStud Dept Stud ClassNo PrintStud Name Stud Age 24 5 如果两个变量都属于同一个用户自定义类型 也可以将其中一个变量赋给另一个变量 这种赋值是将一个变量的所有元素赋给另一个变量的对应元素 例 DimStud1AsStudents Stud2AsStudentsStud2 Stud1 25 6 用户自定义类型可以包含其他的用户自定义类型 例 PrivateTypeAddressAddrAsString 地址ZipAsInteger 邮政编码PhoneAsString 电话EndTypePrivateTypeStudentNameAsString 姓名AgeAsByte 年龄TosAddrAsAddress 声明为Address的变量EndType 26 3 3常量 指在程序运行期间其值不发生变化的量 两种形式 直接常量 符号常量3 3 1直接常量例 欢迎使用VisualBasic 字符串常量12345数值型常量True布尔型常量 11 10 2001 日期型常量3 3 2用户自定义符号常量格式 Const As 类型 IntegerLongSingleDoubleStringString nBooleanDateCurrencyByteVariant 27 例 ConstPi 3 14159ConstMaxAsInteger 9ConstBirthDate 1 1 01 ConstMyString friend 用逗号分隔多个常量声明ConstPi 3 14 Max 9 MyStr Hello 用先前定义过的常量定义新常量ConstPi2 Pi 2 表达式中不能使用内部函数Constsinx Sin 20 3 14 180 使用 在程序中引用如 AREA Pi R 2在程序中不可修改如 Pi 3 14 28 VB内部已定义 可以直接使用的常量查看内部常量 视图 对象浏览器 选择库 类 成员如 库VBRUN类ColorConstantsShapeConstants成员VbredvbShapeCircle例 PrivateSubForm Activate ConstAAsString 各种常量的使用 Form1 BackColor vbGreenForm1 ForeColor vbRedForm1 FontSize 14PrintAEndSub 3 3 3系统定义符号常量 29 3 4变量 一个有名称的内存单元称为变量 1 什么是变量 程序执行期间 用变量临时存储数值 变量的值可以发生变化 每个变量都有名称和数据类型 30 2 变量的命名遵循标识符的命名规则 即 第一个字符必须是字母长度不超过255个字符不可以包含小数点或者内嵌的类型声明字符不能使用关键字不能与过程名或符号常量同名例 Student1MyNameintMaxstrName不区分大小写 变量名应便于识别 记忆 31 3 变量的声明 1 显式声明格式 Dim Private Public Static As 说明 Dim 在窗体模块 标准模块或过程中声明变量 Private 在窗体模块或标准模块中声明变量 使变量仅在该模块中有效 Public 在标准模块中声明全局变量 使变量在整个应用程序中有效 Static 在过程中定义静态变量 即使该过程结束 也仍然保留变量的值 32 例 DimSumAsLongDimAddressAsStringDimNoAsString 8PrivatebAsIntegerDimNum TotalAsInteger Num为可变类型PublicAverageAsSingleStaticAAsLong 2 隐式声明可变类型 易出错 浪费空间 3 强制显式声明在模块的声明段中使用语句 OptionExplicit如果设置 工具 选项 编辑器 要求变量声明则在后续模块中自动插入OptionExplicit 33 例 窗体模块和过程中使用Dim语句的区别 设在窗体中放置按钮Command1和Command2DimaAsIntegerPrivateSubCommand1 Click a a 10PrintaEndSubPrivateSubCommand2 Click a a 15PrintaEndSub观察程序运行结果将DimaAsInteger放到过程内 观察运行结果 34 例 Static的作用 设在窗体中放置按钮C1 PrivateSubC1 Click StaticaAsIntegera a 10PrintaEndSub PrivateSubC1 Click DimaAsIntegera a 10PrintaEndSub 运行时 多次单击命令按钮C1 比较以上两个事件过程的执行效果 35 3 5常用内部函数 函数形式 函数名 参数 常量 变量或表达式 若有多个参数 参数之间以逗号分隔 函数值 也叫 返回值 函数的使用 函数在表达式中被调用 36 例 Fix 45 67 结果为45Int 45 67 结果为45Fix 2 89 结果为 2Int 2 89 结果为 3Abs 4 结果为4Log 10 结果为2 30258509299405Sgn 3 结果为1Sgn 6 结果为 1Sgn 0 结果为0例 求sin300Sin 30 3 14 180 参数以弧度为单位 3 5 1数学函数 37 例 判断一个整数Y能否被另一个整数X整除如果Int Y X Y X则整除例 常用对数log10X的求法用换底公式 即 Log X Log 10 例 求e3正确 Exp 3 错误 e 3 错 38 例 LTrim ABC 结果为 ABC 表示空格 RTrim ABC 结果为 ABC Trim ABC 结果为 ABC Left ABCDE 2 结果为 AB Right ABCDE 2 结果为 DE Mid ABCDE 2 3 结果为 BCD Mid ABCDE 2 6 结果为 BCDE Len ABCDE 结果为5String 3 ABC 结果为 AAA String 3 65 结果为 AAA InStr ABCDECDE DE 结果为4InStr 5 ABCDECDE DE 结果为7UCase Abc 结果为 ABC LCase ABc 结果为 abc 3 5 2字符串函数 39 1 随机函数Rnd x 产生 0 1 之间的单精度随机数 x0 以上一个随机数作种子 产生序列中的下一个随机数 x 0 产生与最近生成的随机数相同的数 省略x 同x 02 Randomize语句初始化随机数发生器 格式 Randomize n n 种子 省略时以系统时间作为种子 3 5 3随机函数 40 生成 a b 范围内的随机整数Int b a 1 Rnd a 例 生成 1 99 之间的随机整数的表达式为 Int 99 Rnd 1 例 生成 1 99 之间的随机整数的表达式为 Int 97 Rnd 2 41 例 Asc A 结果为65Asc ABC 结果为65Chr 65 结果为 A Str 123 结果为 123 Str 123 结果为 123 Val 123 结果为123Val 123AB 结果为123Val 123AB 结果为 123Val a123AB 结果为0Val 12E2ABC 结果为1200 3 5 4转换函数 42 Hex 27 结果为 1B Hex 45 7 结果为 2E Oct 27 结果为 33 Oct 45 7 结果为 56 CInt 5 3 结果为5CInt 5 7 结果为 6CInt 32766 6 结果为32767CInt 32767 8 溢出错误CInt 0 5 结果为0CLng 10 5 结果为10CSng 123 56789 结果为123 5679CDbl 123 56789 结果为123 56789 43 CCur 123 56789 结果为123 5679CBool 5 8 4 结果为TrueCBool 5 8 结果为TrueCBool 0 结果为FalseCBool 12 结果为TrueCBool 0 结果为FalseCBool abc 出错 44 3 5 5日期和时间函数 Now 返回系统日期和时间 Date 返回系统日期 Time 返回系统时间 Day d 返回参数d中指定的日期是月份中的第几天 WeekDay d 返回参数d中指定的日期是星期几 Month d 返回参数d中指定日期的月份 Year d 返回年份 返回系统的日期和时间 或返回指定日期和时间的一部分 45 Hour d 返回小时 0 23 Minute d 返回分钟 0 59 Second d 返回秒 0 59 Timer 返回从午夜开始到现在经过的秒数 46 例 Format 123 45 0000 000 结果为 0123 450 Format 123 45 0 0 结果为 123 5 Format 123 45 结果为 123 45 Format 123 45 结果为 123 5 Format 0 123 结果为 12 Format 0 123 0 结果为 0 12 Format HELLO 结果为 THISISIT 注 经Format函数格式化后的结果为字符串类型例 Format 123 Format 456 结果为 123456 区别 Str 123 Str 456 结果为 123 456 3 5 6格式输出函数 47 Shell函数用于调用Windows下的应用程序 格式 Shell 参数 要执行的可执行文件名 包含路径 决定程序运行时窗口的样式 如果省略 则程序以具有焦点的最小化窗口执行 取值见P54表3 1 3 5 7Shell函数 例 运行时单击窗体 打开计算器 PrivateSubForm Click Shell c winnt system32 calc exe vbNormalFocusEndSub这里Shell函数以语句形式出现 没有返回值 48 3 6运算符与表达式 操作数 常量 变量 函数 对象运算符 圆括号算术运算符 算术表达式 字符串运算符 字符串表达式 关系运算符 关系表达式 布尔运算符 布尔表达式 49 3 6 1算术运算符与算术表达式 书写 一条线 无 无 50 例 将以下表达式写成VB合法的表达式 xy z a1 a2 a b a b a1 a2 a b a b x y z a 1 n y x x y A 4 8 3 B 51 1 乘方运算例 10 210的平方 结果为10010 2 10的平方的倒数 结果为0 012 2 3运算顺序从左到右 结果为64 8 1 3 错误 当底数为负时 指数应为整数2 整数除法例 10 4结果为225 68 6 99先四舍五入再整除 结果为33 取模运算例 10Mod4结果为225 68Mod6 99先四舍五入再求余数 结果为511Mod 4结果为3 11Mod5结果为 1 11Mod 3结果为 2 结果符号同第一个操作数 52 字符串运算符有两个 自动将两侧的操作数作为字符进行连接例 Hello World 结果为 HelloWorld Check 123结果为 Check123 123 456结果为 123456 123 456结果为 123456 仅当两侧操作数都为字符串时才做字符串连接123 456结果为579 123 456结果为579 123 456 结果为 123456 Check 123错误 3 6 2字符串运算符与字符串表达式 53 1 关系运算符 比较运算符 大于 大于或等于 等于 不等于 2 关系表达式 例 X Y ZA 5StudName Shelly 3 6 3关系运算符与关系表达式 54 3 如何比较数值比较按数值大小单字符比较在模块的通用声明部分使用语句OptionCompareBinary缺省状态下 则按字符的内部二进制表示比较 典型的二进制排序顺序如下 0 1 9 A B Z a b z 字符串比较 根据当前的比较方式从左开始逐个比较 55 4 比较结果 TrueFalse例 453结果为True abc cdf 结果为False for fortran 结果为True例 要判断两个单精度型变量A和B的值是否相等 可以用下式判断 Abs A B 例如 要判断1除以3是否等于0 3333 可写成 Abs 1 3 0 3333 1E 5 5

温馨提示

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

评论

0/150

提交评论