可视化程序设计语言基础.ppt_第1页
可视化程序设计语言基础.ppt_第2页
可视化程序设计语言基础.ppt_第3页
可视化程序设计语言基础.ppt_第4页
可视化程序设计语言基础.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

常州工学院计算机系 1 1 VB程序书写规范和程序注释2 VB中标准的数据类型3 VB中的运算符和表达式4 变量与常量5 数组6 枚举类型7 用户自定义类型8 VB的基本控制结构9 过程10 常用函数 第三章VB语言基础 常州工学院计算机系 2 一 VB程序书写规范和程序注释 语句体 语句的功能 具体操作和说明 语句的一般形式 例 Print OK 赋值语句 结束语句 End 常州工学院计算机系 3 一 VB程序书写规范和程序注释 按行书写VB代码中不区分字母的大小写一行一句一句多行 续行标记一个空格 一个下划线 一行多句 语句分隔符冒号 例 x 10 y VisualBasic z 20 常州工学院计算机系 4 一 VB程序书写规范和程序注释 书写规范对于VB中的保留字 首字母总被转换成大写 其余字母被转换成小写 对于用户自定义的变量 过程名 VB总是以第一次定义的为准 以后输入的自动向第一次的定义转换 程序注释 可读性 Rem语句Rem单引号 常州工学院计算机系 5 二 VB中标准的数据类型 常州工学院计算机系 6 二 VB中标准的数据类型 数值型 Numeric 数据Integer和Long型 用于保存整数 整数运算速度快 精确 但表示数的范围小 Long较大的整数 Integer较小的整数 Single和Double型 用于保存浮点实数 浮点实数表示数的范围大 但有误差且运算速度慢 Double的精度大于SingleCurrency型 是定点实数或整数 最多保留小数点右边4位和小数点左边15位 用于货币计算 Byte型 用于存储二进制数 一个字节型变量 常州工学院计算机系 7 二 VB中标准的数据类型 日期型 Date 数据Date型按8字节的浮点数来存储 日期范围 100年1月1日 9999年12月31日时间范围 0 00 00 23 59 59赋值时用两个 号将日期括起来A 10 12 2002 常州工学院计算机系 8 二 VB中标准的数据类型 字符型 String 数据 用于表示由很多字符组成的字符串 字符串的表示方法 两侧用 号括起来B VisualBasic 定长字符串 String Size不足在右边补空超过截取变长字符串 常州工学院计算机系 9 二 VB中标准的数据类型 逻辑型 Boolean 数据用于逻辑判断 它只有True和False两个值 常州工学院计算机系 10 二 VB中标准的数据类型 变体型 Variant 数据 尽量少用 是一种特殊的数据类型 是所有未定义变量的默认数据类型 它可以存储所有系统定义的类型的数据缺点 占用的空间较大 慢注意以下两种特定值 Empty 在赋值之前 Variant变量具有值EmptyIsEmpty函数Null 表示未知数据或丢失的数据 常用于数据库应用程序IsNull函数 常州工学院计算机系 11 二 VB中标准的数据类型 对象数据类型可用来引用应用程序或某些其他应用程序中的对象给Object类型的变量指定某一具体的对象时应该用Set语句赋值 常州工学院计算机系 12 VB中的类型转换函数 常州工学院计算机系 13 算术运算符与算术表达式算术运算符 乘方 加 减 负号 乘 除 整除 Mod 取余 模 优先级 负 Mod 算术表达式A b c d a b c da b c d13 2 323 8 2mod329mod9 8 2 三 运算符和表达式 常州工学院计算机系 14 关系运算符与关系表达式关系运算符 IS 对象引用比较 Like 字符串比较 关系表达式 按值比较 字符按其ASCII码逐个比较 A z 2B Basic 优先级相同 三 运算符和表达式 常州工学院计算机系 15 逻辑运算符与逻辑表达式逻辑运算符 三 运算符和表达式 常州工学院计算机系 16 三 运算符和表达式 字符串运算符字符串运算符有两个 和 在使用 时应注意变量与运算符 之间应有一个空格 和 的区别 连接符两端的操作数均应是字符型 进行连接操作前 系统先将操作数首先转换为字符型 然后再进行连接 例如 12000 12345 结果2434512345 abcdef 出错12 12345 结果1212345 常州工学院计算机系 17 三 运算符和表达式 各种运算符间的优先顺序算术运算符 字符运算符 关系运算符 逻辑运算符对于多种运算符并存的表达式 可以增加括号 改变优先级例如 分析优先级 A 2 3 14159 randx5ornotbX 2ortext1 text Microsoft 19 and119 or1 2 常州工学院计算机系 18 数据存储形式 常州工学院计算机系 19 四 变量与常量 命名规则必须以字母 汉字开头 由字母 汉字 数字或下划线组成 作为变量名的字符串内不得包括点号和用于类型说明的字符 和空格 长度 255个字符 见名知义 在作用域内必须唯一 不能使用VB中的关键字 VB中不区分变量名的大小写 为便于区分 一般变量首字母用大写字母 其余用小写字母 常量全部用大写字母 常州工学院计算机系 20 四 变量与常量 常量 系统提供的常量VB系统中还提供了为应用程序和控件定义的常量 这些常量位于对象库中 可通过对象浏览器查看 如 颜色常量VbRed VbBlue 符号常量 Const语句 为什么要用 如何用 常州工学院计算机系 21 四 变量与常量 常量 Const语句的形式 Public Private Const AsType ConstPI 3 14159ConstconBirthday 3 22 93 PublicConstCountry CHINA Fax Num 36134484PublicConstconYearsMissyouAsInteger 6 注 常量一旦声明 在其后的代码中只能引用 不能改变 常州工学院计算机系 22 VB中变量的声明分为两种方法隐式声明 允许对使用的变量未声明就直接使用privatesubform click k 1country China Printk Countryendsub 四 变量与常量 变量 隐式声明的弱点 变量名书写错误 不会出错 显示声明 每个变量都必须先声明再使用要强制显式声明变量 只须在类模块 窗体模块或标准模块的声明段中加入这条语句OPTIONEXPLICIT 常州工学院计算机系 23 OptionExplicit语句在模块中使用OPTIONEXPLICIT语句 系统将检查模块中所有未加显式说明的变量 一旦发现这样的变量存在 就会产生一个出错信息 提示使用者改正错误 要求变量声明可以通过 工具 菜单 选项 编辑器 选项卡设置 四 变量与常量 变量 常州工学院计算机系 24 四 变量与常量 变量 变量的作用域与变量说明语句作用域局部变量在过程中说明 仅在说明它的过程中有效窗体 模块变量在窗体或标准模块中说明 在定义该变量的模块或窗体的所有过程内均有效全局变量在模块或窗体中说明 在工程内的所有过程中都有效 常州工学院计算机系 25 四 变量与常量 变量 作用时间普通局部变量 只在声明它的过程内部有效变量在过程真正执行时才分配空间 过程执行完毕后即释放空间 变量中存放的值也就不复存在 静态局部变量 只在声明它的过程内部有效变量在第一次定义时分配空间 过程执行完毕后 只要程序还未结束 该变量的值就依然存在 该变量占用的空间不被释放 常州工学院计算机系 26 四 变量与常量 变量 PrivateSubCommand1 Click DimiAsIntegerPrintii i 1PrintiEndSub PrivateSubCommand2 Click StaticiAsIntegerPrintii i 1PrintiEndSub 想一想 会有什么不同 常州工学院计算机系 27 四 变量与常量 变量 变量说明语句DimAs As 用于说明窗体变量或局部变量 最常用 PublicAs As 用于说明全局变量 PrivateAs As 用于说明窗体 模块级变量 StaticAs As 用于说明静态变量 常州工学院计算机系 28 四 变量与常量 变量 窗体级和全局变量应在 代码编辑器 窗口中的 通用 声明 部分进行说明例 Dimcountasintegerpublicnameasstring ageasinteger局部变量仅在使用它的过程中说明例 privatesubcommand1 click Dimcountasinteger Endsub用Dim语句说明的变量初值为0或空串变量名自动转换 常州工学院计算机系 29 不同作用范围的3种变量声明及使用规则 常州工学院计算机系 30 变长字符串 缺省 DimAsString例 DimstrNameAsString定长字符串 DimAsString size例 dimempnameasstring 50 不足补空 太长截取 相关函数 TRIM RTRIM LTRIM LEFT RIGHT MID 四 变量与常量 变量 常州工学院计算机系 31 五 数组 数组 数组是一种由同类数据组成的有序集合 Name 25 数组名 下标 数组元素 下标变量 数组元素 数组中每一个数据称为数组元素表示方法 数组名 S1 S2 S1 S2为下标 下标 元素在数组中的位置 数组的引入 能够实现对数据的快速 成批处理 常州工学院计算机系 32 五 数组 数组的声明 格式 Dim As 维数定义的格式 To To 数组的命名 数组的命名规则与普通变量相同 数组的维数 简单的说就是数组下标的个数 数组的类型 与变量的类型一样 省略下界时 系统缺省为0 但可通过OptionBase语句改变OPTIONBASE语句OptionBase1 默认为0 必须写在窗体或标准模块的所有过程之前一个模块中只能出现一次OptionBase语句必须写在数组说明语句之前使该模块中所有缺省说明下标下界的数组的下标下界为1 常州工学院计算机系 33 五 数组 数组的形式 静态数组 元素个数固定 和动态数组 元素个数可以在程序运行期间改变 静态数组 说明数组时 如果指明了数组的维数和每一维的下标范围 在使用过程中 维数和下标范围不变的数组动态数组 说明数组时 如果不指明了数组的维数和每一维的下标范围 仅用一对圆括号表示 在使用过程中 可以利用ReDim语句对维数和下标范围重新说明的数组例 DimPin asintegerPrivatesubform loadRedimpin 5 Endsub 常州工学院计算机系 34 五 数组 ReDim Preserve As使用Preserve 则在对数组重新说明时 将会保留原数组中的元素的内容 例如 DimA RedimA 3 A 0 0 A 1 1 A 2 2 A 3 3RedimA 10 思考 此时A 0 A 3 中的内容为多少 DimA RedimA 3 A 0 0 A 1 1 A 2 2 A 3 3RedimPreserveA 10 思考 此时A 0 A 3 中的内容为多少 A 0 A 3 中的内容恢复为初始值 A 0 A 3 中的内容维持不变 常州工学院计算机系 35 五 数组 控件数组在一个窗体内可以包含多个同种类型的控件同一类型的控件通过控件数组可以共享同一个事件过程属性的共享加一个控件设置属性加另一个控件 右击控件 复制 粘贴查看另一个控件的属性 常州工学院计算机系 36 五 数组 事件过程的共享加一个控件设置事件过程加另一个控件 右击控件 复制 粘贴查看另一个控件的事件过程进行比较元素 text1 0 text1 1 text1 2 优点 编写的代码比较简单且易于维护 常州工学院计算机系 37 六 枚举类型 枚举 将变量的可能值一一列举出来 变量的取值只限于列举出来的值得范围内语法 private public EnumStyle nameelement1 常数表达式 element2 常数表达式 EndEnum 常州工学院计算机系 38 举例 1 PrivateEnumDaysMonday 1TuesdayWednesdayThursdayFridaySaturdaySundayEndEnum DimaasDaysa Tuesdaya a 2 必须先声明后使用 常州工学院计算机系 39 七 用户自定义类型 数组能够存放一组性质相同的数据 例如 一批学生某门的课的成绩 Dimscore 50 AsIntegerScore 1 95但若同时要表示学生的姓名和考试成绩 因为数据的性质不同 则需要声明两个数组DimScore 50 AsIntege存放其对应的考试成绩DimName 50 asString存放学生的姓名Name 1 张三 Score 1 95 常州工学院计算机系 40 用户自定义类型 这样的问题其实可以通过用户自定义类型来实现用户自定义类型 也可称为记录类型 它由若干个标准数据类型组成 语法 private public Typevar nameelementname1astype name1elementname2astype name2 EndType 常州工学院计算机系 41 用户自定义类型 举例 PrivateTypeUserTypeIDasintegerNameasStringEndTypeDimaasUserTypea Name 张某某 a ID 1 常州工学院计算机系 42 用户自定义类型 注意 自定义数据类型一般在标准模块 bas 中定义 默认是Public 若在窗体模块中定义 必须是Private自定义数据类型中元素的类型可以是字符串 但必须是定长字符串 一旦定义好了类型 就可以在变量的声明时使用该类型要表示自定义类型变量中的某个元素 形式如下 变量名 元素名 常州工学院计算机系 43 八 VB的基本控制结构 1 顺序结构2 选择结构3 循环结构 常州工学院计算机系 44 常州工学院计算机系 45 1 顺序结构 基本形式变量名 表达式表达式可以是任何类型的表达式 一般其类型应该和变量的类型相一致 VB带有强制类型转换功能 常州工学院计算机系 46 2 分支结构 IfeThen A组语句 EndIfIfeThen A组语句 单分支结构语句 e g Ifx 5theny x 2 4Endif Ifx 5theny x 2 4 常州工学院计算机系 47 IfeThen A组语句 Else B组语句 EndIfIfeThen语句1Else语句2 双分支结构 常州工学院计算机系 48 多分支结构 Ife1Then A1组语句 ElseIfe2Then A2组语句 ElseAn 1组语句 EndIf 注意 ElseIf是连着写 中间没有空格 常州工学院计算机系 49 常州工学院计算机系 50 注意 条件 是必要的参数 其结果为True或False在块形式中 If块必须以一个EndIf语句结束 Else和ElseIf子句都是可选的 在If块中 可以放置任意多个ElseIf子句 但是都必须在Else子句之前 常州工学院计算机系 51 SelectCase结构语句 SelectCaseeCasec1A组语句Casec2B组语句 CaseElsen组语句EndSelect e 测试表达式 可以为任何数值表达式或字符串表达式 常州工学院计算机系 52 C1 c2情况表达式 可以为以下几种形式 表达式表达式To表达式Is多个情况表达式值 中间用 进行隔开 Case6 Case 6 Case1To9 CaseIs 10 Case1 3 5 7 9 常州工学院计算机系 53 3 循环结构 Forv e1Toe2 Stepe3 ExitFor Next v For循环语句 常州工学院计算机系 54 当知道循环次数的时候最还是使用此结构 功能 1 当循环控制变量在给定范围内 则执行循环体内的语句块 否则跳出循环 执行next后的语句 2 当执行到next时 循环控制变量自加步长 然后跳回第一步 重新判断循环控制变量是否在给定范围内 常州工学院计算机系 55 例 s 1 3 5 99s 1 1 2 1 2 3 1 2 10 任意输入一个自然数 判断是否为素数求m和n的最大公约数 常州工学院计算机系 56 Do Loop循环语句 用DO循环重复执行一语句块 且重复次数不定 Do Loop语句有4种形式 但每种形式都会对循环条件进行判断以决定是否继续执行循环 循环条件必须是一个值为True或False的表达式 常州工学院计算机系 57 DoWhilee ExitDo Loop 首先测试循环条件 如果循环条件为False或零 则跳过后面的循环语句序列 如果循环条件为True或非零 则VB将进入循环体执行语句 执行语句后退回到DoWhile语句再测试循环条件 例 s 1 2 3 100 常州工学院计算机系 58 Do ExitDo LoopWhilee T F 常州工学院计算机系 59 DoUntile ExitDo Loop 常州工学院计算机系 60 Do ExitDo LoopUntilee 常州工学院计算机系 61 多重循环语句 多重循环语句也称为循环语句的嵌套 就是在一个循环体内又出现另外的循环语句 在进行嵌套的时候必须注意 1 内 外循环的循环变量不能同名 2 内循环必须完全处于外循环之中 不能出现任何交叉 另外 循环体如果出现在if语句 select等语句中时 则也必须作为一个整体出现在条件语句的语句块中 例 1 九九乘法表 常州工学院计算机系 62 九 Sub过程 Vb使用三种过程子程序过程 SubProcedure Sub过程不返回值函数过程 FunctionProcedure Function过程只返回一个值属性过程 PropertyProcedure Property过程设置和返回对象 类等的属性值 略 常州工学院计算机系 63 1 事件过程事件 能被对象 窗体和控件 识别的动作由用户产生 click事件 keypress事件由系统产生 timer事件事件过程 存放对发生的事件进行处理的代码的过程事件过程是窗体和控件的附属物分为窗体事件过程和控件事件过程 常州工学院计算机系 64 定义事件过程 窗体事件过程的语法PrivateSubForm 事件名 参数列表 局部变量和常数声明 语句块EndSub注意过程名由 Form 下划线和事件名组成 Private 表示该事件过程不能在它自己的窗体模块之外被调用 它的使用范围是模块级的 在该窗体模块之外是不可见的事件过程是VB内部定义好的 有无参数 由VB决定 常州工学院计算机系 65 控件事件过程的语法PrivateSub控件名 事件名 参数列表 局部变量和常数声明 语句块EndSub注意过程名由控件名 下划线和事件名组成建立事件过程双击窗体或控件单击 查看代码 按钮 常州工学院计算机系 66 2 通用过程通用过程是一个必须从另一个过程显式调用的程序段 使用它可使复杂程序分解成易于管理的逻辑单元 通用过程分为公有过程和私有过程两种 定义Sub过程Sub过程不能嵌套定义建立Sub过程 常州工学院计算机系 67 Private Public Sub过程名 参数列表 局部变量和常数声明 语句块 ExitSub 语句块EndSub前缀Private Public Static形式参数格式 传值 和 传址 方式 ByVal变量名 AS数据类型 常州工学院计算机系 68 3 Function过程语法 Private Public Function函数名 参数列表 As数据类型 局部变量和常数声明 语句块 函数名 表达式 ExitFunction 语句块 函数名 表达式 EndFunction 常州工学院计算机系 69 4 过程调用事件过程由系统自行调用Sub过程调用Call语句Call过程名 实在参数表 直接用过程名过程名 实参1 实参2 参数的传递方式有 传值 和 传址 常州工学院计算机系 70 Function过程调用Function过程名 实在参数表 注意 1 函数返回的值往往需要使用 则参数必须加上括号2 但也可以按Sub来使用 只是此时将放弃返回值 常州工学院计算机系 71 5 调用其他模块中的公共过程窗体中的公用过程Call 标准模块中的公用过程无同名过程Call有同名过程Call 常州工学院计算机系 72 6 参数的传递形参定义过程 Sub 或函数 Function 时 出现在形参表中的变量名 数组名称之为形式参数形参给出传递到过程 函数 中的值在过程 函数 中的表现形式形参的类型 1 除定长字符串变量之外的合法变量名 2 后面跟有左右圆括号的数组名 常州工学院计算机系 73 实参在调用Sub或Function过程时 传送给相应过程的变量名 数组名 常数或表达式 形实结合 要求在传递参数时 形实对应 要求形参和实参数据类型相互兼容传递参数的两种方式 按值传递和按地址传递 引用 ByVal ByRef 参数名 As数据类型 常州工学院计算机系 74 按值传递参数形参前加关键字 ByVal 过程调用时 VB给按值传递参数分配一个临时存储单元按值传递参数 传递的只是实参变量的副本过程中改变形参值 只影响副本按地址传递参数形参前加关键字 ByRef 或省略关键字形参和实参共用内存的同一 地址 过程中改变形参值 将同时将形参和实参中的值 常州工学院计算机系 75 声明数组参数的格式 形参数组名 As数据类型 数组形参的下标和维数由数组实参决定Ubound 函数 可用的最大下标Lbound 函数 可用的最小下标 常州工学院计算机系 76 形参的类型可声明为Control 向过程传递控件形参的类型可声明为Form 向窗体传递控件VB可以将对象赋给某一变量 常州工学院计算机系 77 递归过程 在函数定义中调用了函数本身 即递归为定义的函数递归过程中必须有结束递归语句调用递归过程时 程序的执行过程 逐层调用 逐层返回 常州工学院计算机系 78 10 常用函数 定义 由系统提供的 可在任何一个VB程序中随时使用的程序段 每个程序段用于进行某个特定的运算或处理 例 SQR X VAL X CHR X 函数调用 p1 p2 show 自变量的个数 排列次序 数据类型 应和函数规定的参数相同 一致 SGN X SGN 23 SGN 34 SGN 0 常州工学院计算机系 79 算术函数 常州工学院计算机系 80 Rnd函数 Rnd函数返回的范围为 0 1 默认情况下每次运行一个应用程序 VB提供相同的种子 即Rnd产生相同序列的随机数 为了每次运行时产生不同序列的随机数 可先执行Randomize语句思考 如何产生 30 50 之间的随机数 Int Rnd 21 30 Int Rnd 范围 基数 常州工学院计算机系 81 VB中的转换函数 常州工学院计算机系 82 字符函数 常州工学院计算机系 83 Len c 返回字符串长度 LenB c 返回字符串所占的字节数StrReverse c 将字符串反向 Ltrim Rtrim Trim c 将字符串左边 右边或两边的空格清除 Left c n 从左边截取字符串 Right c n 从右边截取字符串 Mid c n1 n2 从中间截取字符串 其中第二 第三个参数分别表示从第几个字符开始 共截取几个字符 Space n 返回空格字符串 String n c 以单一字符填充字符串 常州工学院计算机系 84 Strcomp c1 c2 m 用来比较两个字符串的大小 Strconv c 参数 按指定的形式转换字符串 Replace 替换字符串中的指定字符串 它的使用方法为 replace 字符串表达式 查找字符串 替换字符串 起始位置 替换数量 比较方式 Split 按分隔符将字符串分解为多个部分 并以数组形式返回 它的使用方法为 Split 字符串表达式 分隔符 分解数量 比较方式 Shell a b 调用Windows下运行的可执行程序a 要执行的应用程序名b 表示所执行的应用程序的窗口大小 常州工学院计算机系 85 Format函数 它可以使数值 日期或字符串按指定的格式输出 其形式如下 Format 表达式 格式字符串 1 数值格式化 2 日期和时间格式化 3 字符串格式化 例 a 12 2345b 12Format a 0 00 12 23 Format b 0 00 12 00Format a 12 23 Format b 12 常州工学院计算机系 86 日期与时间函数 常州工学院计算机系 87 Date函数 用来返回当前日期 DateSerial 用来返回一个日期形式Time函数 用来返回系统当前时间 TimeSerial函数 用来返回任意时间 Now函数 用来返回

温馨提示

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

评论

0/150

提交评论