第4章 程序代码基础ppt课件_第1页
第4章 程序代码基础ppt课件_第2页
第4章 程序代码基础ppt课件_第3页
第4章 程序代码基础ppt课件_第4页
第4章 程序代码基础ppt课件_第5页
已阅读5页,还剩49页未读, 继续免费阅读

下载本文档

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

文档简介

第四章程序代码基础 语法基础 数据类型常量变量运算符 3 1数据类型 本章目录 数据类型 1 一 用于保存数字的几种数字类型Interger 16位整型215 1Long 32位整型231 1Single 32位单精度浮点 小数Double 64位双精度浮点 小数Currency货币类型 64位精确定点 整数15位小数4位 Byte8位字节型 例如1 DimaAsIntegera 5aim 1 193例如2 DimcAsIntegerPrivateSubForm Click c 5PrintcEndSub 数据类型 2 二 用于进行逻辑判断的Boolean类型16位 取值只有True和False 默认为false从其它数据类型转换为Boolean时0转成False 其它值为True从Boolean转换为其它数据类型时False转成0 True为 1例如 command1 visible true 数据类型 3 三 用于保存字符串的String类型双引号括起变长String 最多231个字符如 DimtempAsstring定长String 最多216 不足字符以空格填充如 DimtempAsstring 100表示声明了100个字符的字符串 数据类型 4 四 用于保存日期的Date类型64位 识别多种日期格式 除汉字日期以外如 DimbirthdayAsDatebirthday 12 5 78 birthday 1990 12 512 00 00AM birthday January1 1993 取值范围为 100年1月1日 9999年12月31日 数据类型 5 五 用于保存对象引用的Object类型32位 保存对对象的引用 地址 只能用Set语句赋值六 万能的Variant类型 变体型 Dimtemp几种特殊取值 Empty值 在赋值前 Variant型变量具有该值 Null值 空值 用于数据库 表示未知 尚未赋值的数据 不同于0 零长度字符串 Error值 指出运行中的错误状态 数据类型 6 七 自定义数据类型Type自定义类型名元素名As数据类型元素名As数据类型元素名As数据类型 EndType类似于C语言中的结构类型 如 TypeStudentIDaslongNameasstring 10EndTypeDimStu1AsStudentStu1 ID 100102Stu1 Name zhang 数据类型 7 如 PublicEnumColorsWhiteRedGreen EndEnumDimtempAsColorsTemp Green Private Public Enum自定义类型名元素名As数据类型 EndType 八 自定义枚举类型 Public Private Const常量名 表达式如 ConstconPi 3 1415926 有两类常量 用户自定义常量系统常量 以VB开头 比如回车换行符vbCrlf vbRed vbCancel等等 常量 变量名称如何声明使用变量的作用域 变量 合法变量名以中英文字符开头 可以包含英文字母 中文 数字 下划线 不能是系统已有的关键字 如Date if End 不能超过255个字符 在同一作用范围区域中必须唯一 比如同一个事件过程中不能有两个同名的变量 例如 cmd1txt 6错误 1cmd3 3f 变量的命名 Public Private Static Dim变量名 As类型 如 局部变量DimtempAsInterger 模块声明段中或在过程中 在模块声明段中 与private同 在过程中 只有过程有效 模块级变量PublictempAsInterger 整个工程有效 模块声明段中 PrivatetempAsInterger 当前窗体有效 静态变量StatictempAsInterger 退出过程不释放 隐式声明就是不声明而直接就使用一个变量 显式声明比隐式声明更安全 OptionExplicit语句强制要求变量进行显式声明 或通过菜单的选项对话框设定 变量的声明 我们会强制要求先声明后使用 即显式声明 原因 变量不声明而直接使用 这些未声明的变量都是Variant类型 当需要指明数据为具体类型形式时需要额外的处理 也缺乏必要的类型检测 在使用已有变量时可能会错误地拼写了该变量 而系统会认为它是隐式声明的另一个变量 而检查不出错误 反之若采用显式声明方式 系统强制所有变量必须先声明 在编译时一旦发现使用了未经声明的变量名 如写错 就会报告错误 在每个文件代码的通用段 首行 增加一条设置语句 OptionExplicitDimMyVar 声明变量 MyInt 10 未声明变量产生错误 MyVar 10 声明变量不产生错误 严格要求变量声明 变量的简易声明方式 VB还提供了一种简易的声明方式 只要变量名后带有某个特定符号 就代表该变量是某种数据类型 如DimStudentName 数据类型声明字符 Integer Long Single Double String 变量的作用域 全局变量 定义在BAS模块中 使用public关键字 工程中所有文件所有过程共享如在common bas中 PublicstuNoAsLong模块级变量 定义在BAS模块 窗体或类模块中 使用Private或Dim关键字 整个模块内共享如在frmMain frm中 DimstuNoasLong局部变量 定义在一个过程内部 仅限该过程使用例如 实验1例题 赋值运算符 frmMain Width 300 给对象属性赋值 数值 frmTest Caption Hello 给对象属性赋值 字符串 temp temp 1 给普通变量赋值flag1 true 给普通变量赋值 布尔 orderDate 2002 12 20 给普通变量赋值 日期 DimaAsFormSeta NewForm1 给对象变量赋值VB在进行赋值运算时 会自动进行类型转换 注释语句 以下循环计算总成绩 VB中进行运算 一 算术运算 加法 减法 乘法 浮点数除法 整数除法 指数如temp 3 2MOD求余数例题 30 True结果是31 逻辑量True转为数值 1 False转为数值0False 10 4 结果是145 10mod10 9 3 2 2结果 10 二 连接运算 强制两个表达式作字符串连接两旁的操作数可任意 转换成字符型后再连接 两旁的操作数应均为字符型 1 数值型 则进行算术加运算2 一个为数字字符 另一个为数值 自动将数字字符转换为数值后进行算术加3 一个为非数字字符 另一个为数值型 出错有些情况下 用 比用 可能更安全 例如 设A Mouse B Trap 执行语句 C A B 后C 的值为 MouseTrap VB中进行运算 和 运算符的比较 PrivateSubCommand1 Click Dims DimaAsIntegers 12345 a 67Text1 Text a sText2 Text a sEndSub VB中进行运算 三 关系运算符关系运算符也称比较运算符 用来对两个表达式的值进行比较 比较的结果是一个逻辑值 即真 True 或假 False 操作数可以是数值型 字符型 比较运算符的应用结果 Dims1 s2asstringPrivateSubCommand1 Click s1 abcd s2 12345 Text1 Text s1 s2EndSubtrue VB中进行运算 四 逻辑运算符用逻辑运算符将关系表达式或逻辑值连接起来的式子就是逻辑表达式 也称布尔表达式 逻辑运算的值是一个逻辑值 真 或 假 Not逻辑非 And逻辑与 Or逻辑或 Xor逻辑异或 Eqv逻辑等于 Imp逻辑蕴含 逻辑运算符运算结果比较 VB中进行运算 五 表达式1 组成变量 常量 函数 运算符和圆括号2 书写规则运算符不能相邻例a b是错误的乘号不能省略例x乘以y应写成 x y括号必须成对出现 均使用圆括号 表达式从左到右在同一基准上书写 无高低 大小3 不同数据类型的转换运算结果的数据类型向精度高的数据类型靠Integer 字符运算符 关系运算符 逻辑运算 表达式书写举例 a b c d e f g或a b c d e f g 例逻辑表达式书写 选拔优秀生的条件为 年龄 Age 小于19岁 三门课总分 Total 高于285分 其中有一门为100分 如果其表达式写为 Age285And Mark1 100OrMark2 100OrMark3 100 如果取消括号有何问题 请读者考虑 sin 45 3 14 180 exp 10 log 10 sqr x y 1 本章目录 练习题 使用立即窗口 DebugWindow 显示下列表达式的值 设x 5 y 15 z 3 1 xmodz x 2 y z6 2 x 2 y 2 3 zandz 3x 2false 3 ymod10 10 y 1051 常用内部函数 1 数学函数2 字符串函数3 转换函数4 其他函数 1数学函数 数学函数主要用来完成数学运算 常用的有以下几个 1 Sin x 返回X的正弦值 X的单位为弧度 2 Cos x 返回X的余弦值 X的单位为弧度 3 Tan x 返回X的正切值 X的单位为弧度 4 Atan x 返回X的反正切值 返回值单位为弧度 5 Log x 返回X的自然对数 6 Exp x 返回以e为底的X的指数值 7 Sqrt x 返回参数X的平方根值 8 Abs x 返回X的绝对值 9 Hex x 以字符串形式返回X的十六进制值 10 Oct x 以字符串形式返回X的八进制值 11 Rnd 产生一个介于0 1之间的单精度随机数 每次运行时 要产生不同序列的随机数 先执行Randomize语句 产生a b的之间的随机整数 Int Rnd b a 1 a 12 Int x 去掉小数部分 返回整数 13 Fix x 该函数和Int x 类似 去掉小数部分 返回整数 负数int需进位 正数int和fix相同 2字符串函数 1 InStr 起始位置 字符串1 字符串2 比较类型 根据比较类型模式确定字符串2在字符串1中第一次出现的位置 2 LTrim 字符串 去掉字符串左边的空白部分 3 Rtrim 字符串 去掉字符串右边的空白部分 5 Trim 字符串 去掉字符串的左右空格 若为Null时 返回Null 6 Left 字符串 个数 取出字符串左边指定个数的字符 若个数大于或等于字符串长度 全取 7 Right 字符串 个数 取出字符串右边指定个数的字符 若个数大于或等于字符串长度 全取 8 Mid 字符串 起始位置 个数 取字符串由起始位置开始的指定个数的字符 9 Len 字符串或字符变量 计算字符长度 若字符串为空时 返回Null 10 Ucase 字符串 将字符串的小写字母转换为大写字母 其他字符不变 11 Lcase 字符串 将字符串中的大写字母转换为小写字母 12 Space 个数 返回指定个数的空字符串 13 String 个数 字符 返回包含重复字符的字符串 长度由 个数 指定 14 StrComp 字符串1 字符串2 比较类型 按比较类型比较两个字符串 返回值为 相等时为0 小于时为 1 大于时为1 15 StrReverse 字符串 将给定字符串逆序输出 若为空串 返回空串 若为Null 则会出错 字符串函数 本章目录 字符串函数 本章目录 3转换函数 转换函数一般用来实现不同类型数据之间的转换 VisualBasic提供的常用转换函数有以下几个 1 Str 数值表达式 把数值转换为字符串 2 Val 字符串 把字符串转换为数字数值 忽略字符串中的非数字字符 转换函数 本章目录 4其他函数 1 Date 取当前系统日期 2 Time 取当前系统时间 3 Hour 返回0 23之间的整数 表示一天之中的某一钟点 4 Day 返回1 31之间的整数 表示一个月中的某一日 5 Month 返回当前的月份 6 Year 返回当前年份 日期函数 例计算从当前日期到2007年6月30日有多少天 表达式为 DateDiff d Now 6 30 2007 本章目录 Shell函数 Shell函数可调用各种应用程序 格式如下 Shell 命令字符串 窗口类型 命令字符串为要执行的应用程序名 包括路径 必须是可执行文件 com exe bat 窗口类型表示执行应用程序的窗口状态 0 4 6的整型数值 1表示正常窗口状态 函数调用成功返回一个任务标识ID 不成功 则返回0 例i Shell calc exe 本章目录 程序结构和编码规则 本章目录 编码规则 1 VB代码不区分字母的大小写关键字首字母自动转换成大写 其余字母转换成小写 用户自定义的变量 过程名 以第一次定义的为准 以后输入的自动向首次定义的形式转换 2 语句书写自由一行上可书写多句语句 用冒号分隔 一行最多255个字符 单行语句可分若干行书写 在本行后加入续行符 空格和下划线 本章目录 综合应用 例4 1模仿字处理软件中字符串替换功能 设计思路 利用Shell函数调用winword exe执行Word程序实现替换功能利用查找 InStr 取子串 Left Mid 等函数实现替换功能

温馨提示

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

最新文档

评论

0/150

提交评论