VB程序设计3-VisualBasic语言基础.ppt

上传人:max****ui 文档编号:8303202 上传时间:2020-03-28 格式:PPT 页数:56 大小:274.50KB
返回 下载 相关 举报
VB程序设计3-VisualBasic语言基础.ppt_第1页
第1页 / 共56页
VB程序设计3-VisualBasic语言基础.ppt_第2页
第2页 / 共56页
VB程序设计3-VisualBasic语言基础.ppt_第3页
第3页 / 共56页
点击查看更多>>
资源描述
1 第3章VisualBasic语言基础 2 VB程序 程序代码 窗体界面 某些信息的说明 过程 事件过程 通用过程 Function过程 Sub过程 3 指附在对象上的程序代码 是事件的处理程序 由事件调用 事件过程存储在窗体模块 frm 中 形式 PrivateSub对象名 事件过程名 参数列表 事件过程代码 EndSub例如 PrivateSubCmdOK Click MsgBox 你好 EndSub 1 事件过程 Private 4 可被共享的代码构成的过程 即该代码可被不同的窗体所共享 或被一个窗体中不同的事件所共享 由事件过程或其他通用过程调用 形式 Public Private Static Sub过程名 参数列表 语句块 EndSub 2 通用过程 Public Private 5 窗体模块 FRM 窗体内的事件过程 窗体及窗体中各个控件对象的属性和相关说明 标准模块 BAS 通用过程及相关说明 创建方法 工程 添加模块 输入代码类模块 不作要求 6 7 语句体 语句的一般形式 例如 DimaAsInteger 8 VB代码中不区分字母大小写为了提高程序的可读性 VB对用户程序代码进行自动转换 对于VB中的关键字 首字母总被转换成大写 其余字母被转换成小写 若关键字由多个英文单词组成 自动将每个单词的首字母转换成大写 9 语句书写自由在同一行上可以书写多条语句 语句间用 西文冒号 分隔 单行语句可分若干行书写 在本行后加入续行符空格和下划线 一行允许多达255个字符 例如 X 10 Y 20 Z 30DimNameAsString AgeAsInteger SexAs Boolean IDAsString 10 注释有利于程序的维护和调试 方法有 Rem必须单独一行书写 可单独一行 也可在语句后书写在工具栏上右击 在快捷菜单中选择 编辑 菜单 其中有 设置注释块 解除注释块 两个按钮 注释 PrivateSubCmdOK Click Rem2003年1月编写如下代码 若用户单击了确认按钮 则执行下列代码 EndSub 11 3 2VisualBasic数据类型 整数整数是不带小数点和指数符号的数 在机器内以二进制补码形式表示 整型 Integer 整型以两个字节的二进制码表示和参加运算 取值范围为 32768 32767 长整型 Long 长整型以四个字节的二进制码表示和参加运算 取值范围为 2147483648 2147483647 12 3 2VisualBasic数据类型 浮点数浮点数也称实型数或实数 是带有小数部分的数值 它由三部分组成 符号 指数和尾数 单精度型 Single 以4个字节存储 符号1位 指数8位 尾数23位 1位隐含位 用E来表示指数 例如 9 654E 6双精度型 Double 以8个字节存储 符号1位 指数11位 尾数52位 1位隐含位 用D来表示指数 例如 8 573264907D 15 13 3 2VisualBasic数据类型 字节型 Byte 字节实际上是一种数值类型 以一个字节的无符号二进制数存储 取值范围为0 255 布尔型 Boolean 布尔型是一个逻辑值 用两个字节存储 它只有两种值 即True 真 或False 假 对象型 Object 对象型数据用来表示图形或OLE对象或其他对象 用4个字节存储 14 3 2VisualBasic数据类型 字符串型 String 字符串是一个字符序列 由ASCII字符组成 包括标准的ASCII字符和扩展ASCII字符及汉字等 字符串是放在双引号内的若干个字符 长度为0的字符串称为空字符串 VB中的字符串分为两种 即变长字符串和定长字符串 变长字符串的长度是不确定的 最大长度不超过231 定长字符串的长度是固定的 最大长度不超过216 15 3 2VisualBasic数据类型 货币型 Currency 货币数据类型是为表示钱款而设置的 该类型数据以8个字节存储 精确到小数点后四位 小数点前有15位 小数点后4位以后的数字将被舍去 浮点数中的小数点是 浮动 的 而货币类型数据的小数点是固定的 变体型 Variant 变体数据类型是一种可变的数据类型 可以表示任何值 包括数值 字符串及日期等 16 3 2VisualBasic数据类型 日期型 Date 日期型数据用来表示日期信息 格式为mm dd yyyy或mm dd yyyy 表示范围 1000年1月1日到9999年12月31日 任何可辨认的文本日期都可以赋值给日期变量 日期文字必须用符号 括起来 如 3 18 2003 12 30 45 17 不同数据类型占用空间比较 Byte IntegerBoolean LongSingleObject DoubleDateCurrency 字节 18 常量 在程序中取值始终保持不变的数据 可以是具体的数值 也可以是专门说明的符号 10 PI 变量 以符号形式出现在程序中 且取值可以发生变化的数据 3 3常量与变量 19 3 3 1常量 1 数值常量整型和长整型均有三种表示方式 即十进制 十六进制和八进制 十进制 0 9 正负号组成 八进制 0 7 正负号组成 表示时在前面加上 O 如 O37相当于十进制数3 8 7 31十六进制 0 9 A F 正负号组成 表示时在前面加上 H 如 H3D相当于十进制数3 16 13 61浮点型由尾数 指数符号和指数组成 如 单精度 9 654E 6双精度 3 1415926D8 20 字符串常量 不能超过65535个字符 如 Hello 1234 343 苏州 逻辑型常量 只有两个 True False 日期型常量 2 25 2003 3 3 1常量 2 21 符号常量 Public Private Const常量名 AsType Public表示常量可在整个工程中使用Private表示常量只在声明的窗体模块或标准模块中使用Type表示常量的类型如 ConstTaxAsSingle 1 05ConstPi 3 1415926PublicConstNumAsInteger 45 3 3 1常量 3 22 窗体模块 Consta1 3 1415926仅在本窗体模块中有效PrivateConstb1 4仅在本窗体模块中有效PublicConstc1 5出错 不能出现在窗体模块中PrivateSubCommand1 Click Constd1 3该常量仅在本事件过程中有效PrivateConste1 4出错 不能在过程中使用PublicConstf1 5出错 只能出现在标准模块中EndSub 23 Consta2 3该常量在本标准模块中有效PrivateConstb2 4该常量在本标准模块中有效PublicConstc2 5该常量在整个工程中有效Public PrivateSubFun Constd3 3该常量仅在本通用过程中有效PrivateConste3 4出错PublicConstf3 5出错EndSub 标准模块 24 类型说明符 字节 布尔 日期 对象及变体型没有类型说明符 声明常量和变量时也可以使用类型说明符 ConstOne 1等价于ConstOneAsInteger 1 25 3 3 2变量 变量是内存单元的映射 变量名即为内存单元地址的映射 一个有名称的内存位置叫变量 变量的三要素 变量名变量类型变量的值 26 变量名的命名规则 变量名只能由字母 数字 汉字和下划线组成必须以字母开头 大小写等价长度不超过255作用域内唯一不能和VB保留字重名不能含有标点符号 类型说明符只能出现在名称的最后 27 定义变量 显式定义Dim变量名As类型 变量名As类型 Public变量名As类型 变量名As类型 Private变量名As类型 变量名As类型 Static变量名As类型 变量名As类型 隐式定义将类型说明符放在变量名最后例如 Country China k 1等价于DimCountryAsString kAsIntegerCountry China k 1如果变量未被显式或隐式定义则为变体型 注意 Dima bAsInteger 则b为整型 而a则为变体型 28 3 3 3变量作用域与生命周期 过程级变量 又称局部变量 在过程中说明 仅在说明它的过程中有效 窗体模块级 标准模块级变量 在窗体模块或标准模块的通用声明中说明 在该窗体模块或标准模块的所有过程内有效 全局变量 又称公有变量 在窗体模块或标准模块的通用声明中说明 在工程内有效 使用Dim语句声明变量时 系统自动给该变量赋一个初值 若为数值型 则值为0 若为字符串型 则值为空串 若为布尔型 则值为False 29 Dima1AsInteger窗体级变量 在该窗体内有效Publicb1AsInteger全局变量 在工程内有效Privatec1AsInteger窗体级变量 在该窗体内有效Staticd1AsInteger出错PublicS1AsStringPrivateS2AsStringPublicS3AsString 5出错PrivateS4AsString 5PrivateSubCommand1 Click Dime1AsInteger过程级变量 只在该事件过程内有效Publicf1AsInteger出错Privateg1AsInteger出错Statich1AsInteger静态变量 只在该事件过程内有EndSub 窗体模块 30 Dima2AsInteger模块级变量 在该模块内有效Publicb2AsInteger全局变量 在工程内有效Privatec2AsInteger模块级变量 在该模块内有效Staticd2AsInteger出错PublicS1AsStringPrivateS2AsStringPublicS3AsString 5PrivateS4AsString 5Public PrivateSubFun Dime2AsInteger过程级变量 只在该通用过程内有效Publicf2AsInteger出错Privateg2AsInteger出错Statich2AsInteger静态变量 只在该通用过程内有效EndSub 标准模块 31 定长字符串的定义 系统默认的字符串是变长的 定长字符串的定义方法为 Dim变量名AsString size如果在给定长字符串变量赋值时 字符数未达到定义的长度 则用空格填补 如果字符数超过定义的长度 则多余的部分将会被自动截去 在标准模块中定长字符串可说明为Public或Private 在窗体模块中只能说明为Private 32 OptionExlicit语句 变量可以不用定义就可使用 没有定义的变量默认为局部变量 为了安全起见 最好能显式地定义程序中所使用到的变量 OptionExplicit语句的作用是防止未显式定义的变量直接使用 OptionExplicit语句写在 通用 声明 下 可以通过 工具 菜单中的 选项 进行设置 33 3 4常用系统函数 函数是一种特殊的运算 函数有函数名和参数 部分函数可没有参数 函数的结果有一定的数据类型 VB的通用函数大体上可分为5类 算术函数字符函数转换函数日期与时间函数格式化函数 34 算术函数 Abs x 求绝对值Abs 10 10Atn x 求反正切值Atn 0 0Cos x 求余弦值 参数的单位是弧度Cos 0 1Exp x 求ex的值Exp 1 2 71828182845905Hex x 求对应的十六进制的值Hex 20 14 Log x 求自然对数Log 1 0Oct x 求对应的八进制的值Oct 20 24 Rnd x 产生一个 0 1 区间内的单精度随机数Sin x 求正弦值 参数的单位是弧度Sin 0 0Sgn x 求符号Sgn 2 1Sgn 0 0Sgn 2 1Sqr x 求平方根Sqr 4 2Tan x 求正切值 参数的单位是弧度Tan 0 0 35 字符串函数 1 InStr C1 C2 求字符串C2在C1中首次出现的字符位置InStr abcd c 3InStrB C1 C2 求字符串C2在C1中首次出现的字节位置InStrB abcd c 5LCase C 将字符串C中的大写字母改为小写字母LCase aBcD abcd Left C N 返回字符串C左边N个字符Left abcd 3 abc Len C 返回字符串C的字符数Len abcd 4LenB C 返回字符串C的字节数LenB abcd 8LTrim C 去掉字符串C左边的空格LTrim abcd abcd 36 字符串函数 2 Mid C N1 N2 求字符串C中从N1位置开始的N2个字符Mid abcd 2 2 bc Right C N 返回字符串C右边N个字符Right abcd 3 bcd RTrim C 去掉字符串C右边的空格RTrim abcd abcd Space N 返回N个空格Space 3 String N C 返回N个由C字符组成的字符串String 3 a aaa String 3 abc aaa UCase C 将字符串C中的小写字母改为大写字母UCase aBcD ABCD 37 日期与时间函数 Date 返回系统当前的日期Now 返回系统当前的日期和时间Time 返回系统当前的时间Weekday x C 返回日期表达式x的星期号 1 7 1 7表示星期日 星期六Weekday 3 18 2003 3Weekday 3 18 2003 2 2Day x 返回日期表达式x中的日Day 3 18 2003 18Month x 返回日期表达式x中的月Month 3 18 2003 3Year x 返回日期表达式x中的年Year 3 18 2003 2003 38 转换函数 ASC x 以十进制值返回字符x的ASCII码Asc a 97CBool x 将表达式x转成逻辑值 如果表达式的结果为非零的值 返回True 否则返回False Cbool 10 TrueCByte x 将0 255之间的数转为字节型CByte 97 68 98CCur x 将数值型转为货币型CDate x 将有效的日期字符串x转换成为日期型 CDate 3 18 2003 3 18 2003 CDbl x 将数值型转换成双精度型Chr x 返回ASCII码为x的字符Chr 97 a 39 转换函数 CInt x 将数值型数据x的小数部分四舍五入取整 CInt 3 78 4CLng x 将数值型转换成为长整型 小数部分四舍五入 CSng x 将数值型转换成为单精度型CStr x 将表达式x转换为字符串CStr 123 123 CStr 123 123 CVar x 将表达式x转换为变体型Fix x 取x的整数部分Fix 3 78 3Int x 若x为正则取整数部分 若x为负则取小于等于x的整数 Int 5 6 5Int 5 6 6Str x 将数值数据转换为字符串Str 123 123 Str 123 123 Val x 将字符串x起始部分的数字串转成数值数据Val 123abc 123 40 格式化函数 专门用于将数值 日期和时间数据按指定格式输出 但不会改变数据在计算机内部的存储形式 形式 Format fmt 41 InputBox函数 接收用户通过键盘输入的数据使用格式 V InputBox Prompt Title default x y Helpfile Context Prompt 提示用的文字信息 如果要在提示中分行可用Chr 13 Chr 10 或vbCrLf Title 对话框标题 若缺省则为工程名 Default 显示在用户编辑框中的缺省值 若缺省则为空 x y 对话框左上角点的坐标 注意 内的项目可以省略 但有时逗号不能省略 InputBox函数 42 V InputBox Prompt Title default x y Helpfile Context InputBox函数 N InputBox 请输入你的学号 程序示例 23001 43 MsgBox函数 MsgBox函数 向用户发布提示信息 并要求用户作出必要的响应 使用方法 Ans Msgbox Prompt Button Title Helpfile Context PrintMsgbox Prompt Button Title Helpfile Context MsgboxPrompt Button Title Helpfile Context 注意 后两种方法得不到返回值 逗号有时不能省略 44 MsgBox函数 Msgbox Prompt Button Title Helpfile Context Prompt 提示用的文字信息 Button 一个数值 为c1 c2 c3 c4 决定按钮的个数和类型 Title 信息框标题 返回值 选择 重试 按钮 返回4选择 确定 按钮 返回1选择 忽略 按钮 返回5选择 取消 按钮 返回2选择 是 按钮 返回6选择 终止 按钮 返回3选择 否 按钮 返回7 45 46 MsgBox函数 MsgBox 非法数据 48 提示信息 48 c1 c2 c3 c4 0 48 0 0 47 其它函数 IsNumeric x 若x为数值型数据返回True 否则返回False IsNumeric 5 6 TrueIsNumeric 5 6abc FalseRGB R G B 返回一个颜色 R G B取0 255之间的数 48 3 5运算符与表达式 算术运算符 乘方 负号 乘 除 整除 Mod 取余 加 减 Mod运算中 结果与被除数同号 字符运算符 连接 最好用 关系运算符 Is 表达式由运算对象 运算符组成 有返回值 49 逻辑运算符Not 非 And 与 Or 或 Xor 异或 50 一个表达式可能含有多种运算 一般的运算顺序如下 函数运算 算术 字符运算 负号 Mod 关系运算 逻辑运算 Not And Or Xor相同优先级的运算符的结合性都是从左向右 改变运算顺序可使用括号 表达式中只能使用圆括号 且可以嵌套 运算符的优先级与结合性 51 4 5赋值语句 执行过程 首先计算等号右边表达式的值 然后将此值保存到等号左边的变量中 var可以是变量名 如 student 或属性名 如text1 text 是赋值号 不是数学中的等号 变量中的值以最近一次赋值为准 赋值语句的形式 var 52 T AA BB T上述三条语句实现什么功能 赋值语句举例 A 1A A 1 B 3B B 4 A 1A 2 x Thisisabook Number 72Label1 FontSize 8Y a b 2 A B T 1 2 3 T为中间变量 53 赋值语句举例 思考 如何实现三个数交换 即A的值给B B的值给C C的值给A 54 不同数据类型数据的赋值 数值类型Integer LongSingle DoubleByte 逻辑型Boolean 字符串型String 55 DimbAsBoolean nAsInteger sAsString mAsSingleb 0将整型数据赋值给逻辑型变量b为Falseb 2将整型数据赋值给逻辑型变量b为Truen b将逻辑型数据赋值给整型变量n为 1s b将逻辑型数据赋值给字符串变量s为 True m 1012 567s m将数值数据赋值给字符串变量s为 1012 567 n 12 将字符串数据赋值给整型变量n为12n 12abc 将字符串数据赋值给整型变量 出错 n asds 将字符串数据赋值给整型变量 出错 b 12 将字符串数据赋值给逻辑型变量b为Trueb 0 将字符串数据赋值给逻辑型变量b为Falseb asds 将字符串数据赋值给逻辑型变量 出错 56 下列语句的执行结果是什么 DimAAsIntegerA 2 3PrintA DimAAsIntegerA 2 2PrintA DimSAsStringDimAAsIntegerS 2 A 2PrintS DimAAsIntegerDimBAsIntegerA B 2PrintA B
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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