VB语言基础教程PPT学习课件_第1页
VB语言基础教程PPT学习课件_第2页
VB语言基础教程PPT学习课件_第3页
VB语言基础教程PPT学习课件_第4页
VB语言基础教程PPT学习课件_第5页
已阅读5页,还剩260页未读 继续免费阅读

下载本文档

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

文档简介

VisualBasic程序设计 6 0版 清华大学计算机教研室毕迎春 1 2 第一章VisualBasic程序设计概述 1 1概述1 2运行环境 安装和启动1 3VB集成开发环境 3 1 1概述一 VB简介 VisualBasic是基于Basic的可视化的程序设计语言 VisualBasic6 0中文版是Microsoft公司最新推出的可视化开发工具 是一种基于Windows操作系统的新型的现代程序设计语言 是一种易于学习 功能强 效率高的编程工具 任何具有初步程序设计基础的人 都能在很短的时间内掌握好VB 并有效地编写出各种Windows程序 VB6 0包括三个版本 学习版 专业版 企业版 4 二 VB主要功能特点 1 具有面向对象的可视化设计工具2 事件驱动的编程机制3 提供了易学易用的应用程序集成开发环境4 结构化的程序设计语言5 支持多种数据库系统的访问6 OLE技术 VB核心就是其对对象的链接与嵌入 OLE 的支持 7 Active技术8 完备的help联机帮助功能三 VB6 0新功能特点 5 1 2运行环境 安装和启动一 运行环境 二 安装 安装文件 setup exe三 启动 方法 1 双击桌面VB快捷方式 2 开始 程序 MicrosoftVisualStudio6 0 MicrosoftVisualBasic6 03 开始 运行 C programfiles MicrosoftVisualStudio VB98 VB6 exe 6 进入VB6 0窗口 7 1 3VB集成开发环境 8 1 主窗口应用程序窗口 由标题栏 菜单栏和工具栏组成 VB的三种工作模式 标题栏总显示当前模式 1 设计模式 创建应用程序的大多数工作都是在设计时完成的 在设计时 可以设计窗体 绘制控件 编写代码并使用 属性 窗口来设置或查看属性设置值 2 运行模式 代码正在运行的时期 用户可与应用程序交流 可查看代码 但不能改动它 3 中断模式 程序在运行的中途被停止执行时 在中断模式下 用户可查看各变量及不是属性的当前值 从而了解程序执行是否正常 还可以修改程序代码 检查 调试 重置 单步执行或继续执行程序 9 2 窗体 Form 设计窗口 窗体设计窗口是屏幕中央的主窗口 它可以作为自定义窗口用来设计应用程序的界面 用户可以在窗体中添加控件 图形和图片来创建所希望的外观 每个窗口必须有一个的窗体名字 建立窗体时缺省名为Form1 Form2 窗体网格点间距的设置 设计模式 工具 选项 应注意窗体名 代码中使用的标识对象名称 和窗体文件名的区别 10 11 3 代码 code 窗口 在设计模式中 通过双击窗体或窗体上任何对象或通过 工程资源管理器 窗口中的 查看代码 按钮来打开代码编辑器窗口 代码编辑器是输入应用程序代码的编辑器 代码窗口主要包括 a 对象列表框b 过程列表框c 代码框d 过程查看按钮e 全模块查看按钮 12 13 4 属性 properties 窗口 属性是指对象的特征 如大小 标题或颜色等数据 在VisualBasic6 0设计模式中 属性窗口列出了当前选定窗体或控件的属性的值 用户可以对这些属性值进行设置 14 工程是指用于创建一个应用程序的文件的集合 工程资源管理器列出了当前工程中的窗体和模块 5 工程资源管理器 projectexplorer 窗口 15 工程文件的扩展名为 VBP工程资源管理器下面的列表窗口 以层次列表形式组成这个工程的所有文件 主要包括三种类型的文件 窗体文件 FRM 存储窗体上使用的所有控件对象和有关的属性 对象相应的事件过程 程序代码 标准模块文件 BAS 所有模块级变量和用户自定义的通用过程 可以被应用程序各处调用的过程 类模块文件 CLS 包含用户对象的属性及方法 16 工具箱提供一组工具 用于设计时在窗体中放置控件生成应用程序的用户接口 系统启动后缺省的General工具箱就会出现在屏幕左边 上面有常用 部件 6 工具箱 ToolBox 窗口 17 定制工具箱添加选项卡 对添加的选项卡加控件的方法 1 在已有的选项卡中拖动所需控件 2 激活选项卡 工程 部件 18 窗体布局窗口显示在屏幕右下角 用户可使用表示屏幕的小图像来布置应用程序中各窗体的位置 这个窗口在多窗体应用程序中很有用 因为这可以指定每个窗体相对于主窗体的位置 7 窗体布局窗口 19 立即窗口 中断模式中调试应用程序 对象浏览窗口 可查看工程定义的模块或过程 也可查看对象库 类型库 类 方法 属性及可在过程中使用的常数 20 第二章简单的VB程序设计 2 1程序设计方法的发展2 2对象的概念2 3建立简单的应用程序2 4窗体和基本控件2 5工程的管理及环境设置2 6制作成安装盘2 7使用帮助系统 21 2 1程序设计方法的发展 1 初期的程序设计高运行效率 少占用内存为目标2 结构化程序设计程序的可读性 可维护性为目标程序 算法 数据结构的面向过程的程序设计3 面向对象的程序设计 OOP 降低程序的复杂性 提高软件的开法效率和改善工作界面为目标程序 对象 消息的面向对象的程序设计 22 结构化的分解突出过程 Howtodo 面向对象的分解突出真实世界和抽象的对象 Whattodo 目前常用的面向对象语言有 VisualBasic VisualC VisualFoxPro等优点a 符合人们的思维方法b 易于软件的维护和功能的增减c 能用继承的方式减短程序开发时间d 与可视化技术结合 改善了工作界面 23 2 2对象的概念 一 对象和类1 类 是创建对象实例的模板 是同种对象的集合与抽象 包含了创建对象的属性描述和行为特征的定义 2 对象 是类的一个实例 继承了类的属性 方法 Vb中常用的对象有 窗体 控件等 3 控件 以图标的形式放在工具箱中 VB中的控件分为三类 内部控件 标准控件 如工具箱上的控件 20个ActiveX控件 工程 部件 命令加载可插入对象 Windows应用程序的对象 如Excel工作表 二 对象的建立和编辑 1 对象的建立 两种方法2 对象的选定 单选 多选3 复制或删除对象4 对象的命名 24 三 对象的三要素 属性 事件和方法 1 属性对象的性质 即用来描述和反映对象特征的参数 2 事件对象的响应称为事件 它发生在用户与应用程序交互时 如单击控件 鼠标移动 键盘按下等 事件过程指附在该对象上的用户编写的程序代码 是事件的处理程序 事件驱动过程是图形用户界面的本质 由用户控制而代码作出响应 25 VB程序执行步骤 启动应用程序 装载和显示窗体窗体 或窗体上的控件 等待事件的发生事件发生时 执行对应的事件过程重复执行 2 和 3 直到遇到 END 结束语句结束程序的运行或单击 结束 按钮强制停止程序的运行 26 3 方法对象的动作 即将一些通用的过程编写好并封装起来 作为方法供用户直接调用 对象方法的调用格式 对象 方法 参数名表 例如 在窗体上显示一行文字 Form1 Print 欢迎使用VisualBasic6 0 27 2 3建立简单的应用程序 设计一个VB应用程序的通用步骤 1 设计用户界面的对象2 设置对象的属性3 编写对象事件代码4 保存文件5 程序运行和调试 解释执行 或 运行 启动 或按F5 6 建立可执行文件 编译运行 文件 生成 exe 28 例2 1编写一个对输入字符进行转换的程序 转换规则为 将其中的大写字母转换成小写字母 小写字母转换成大写字母 空格不转换 其余转换成 要求每输入一个字符 马上就进行判断和转换 29 PrivateSubText1 KeyPress KeyAsciiAsInteger DimaaAsString 1aa Chr KeyAscii SelectCaseaaCase a To z aa Chr KeyAscii 32 Case A To Z aa Chr KeyAscii 32 Case CaseElseaa EndSelectText2 Text Text2 Text aaEndSub 30 PrivateSubCommand1 Click Text1 Text Text2 Text EndSubPrivateSubCommand2 Click EndEndSub 31 2 3 4保存和运行程序 保存窗体文件保存工程程序的运行 1 编译运行模式 生成 exe 2 解释运行模式 F5 32 2 4窗体和基本控件 一 基本属性1 Name名称属性创建的对象名称 有默认的名 在程序中 控件名是作为对象的标识而引用 不会显示在窗体上 2 Caption标题属性该属性决定了控件上显示的内容 3 Height width top和left属性 33 4 Enabled属性控件是否可操作 当设置为false时 呈暗淡色 禁止用户进行操作 5 Visible属性控件是否可见 当设置为false时 用户看不到 但控件本身存在 6 Font属性Fontname字体Fontsize字体大小Fontbold是否是粗体Fontitalic是否斜体Fontstrikethru是否加一删除线Fontunderline是否带下划线例2 2在窗体上建立两个命令按钮Command1和Command2 Command2的Font通过属性窗口设置 其余属性通过代码实现 34 7 Forecolor前景颜色属性设置控件的前景颜色 即正文颜色 其值是一个16进制常数 用户可以在调色板中直接选择所需颜色 8 Backcolor背景颜色属性9 Backstyle背景风格属性0 transparent 透明显示 即控件背景颜色显示不出来10 BorderStyle边框风格属性0 None 控件周围没有边框1 FixedSingle 控件带有单边框 11 Alignment属性控件上正文水平对齐方式0 正文左对齐1 右对齐2 居中12 AutoSize属性控件是否根据正文自动调整大小 False 35 13 MousePointer属性指示鼠标指针的类型 当为99时为用户自定义类型 MouseIcon属性设置鼠标的图标 当MousePointer为99时起作用 图标库在Graphics目录下 扩展名一般为 ico或 cur14 WordWarp属性为True时水平方向上下发生变化 15 TabIndex属性决定了按Tab键时 焦点在各个控件移动的顺序 各个控件默认的TabIndex值就是控件建立时的顺序 第一个为0 16 控件默认属性反映该控件最重要的属性 使用时可省略属性名 如 Text1 text Welcome 与Text1 Welcome 是等价的 部份控件默认值 文本框的为 Text命令按钮为 Default标签为 Caption单选 复选按钮为 Value图形 图像框为 Picture注意 Command的Default为True 当按Enter键 该控件起作用 36 例 有关属性的综合应用 对象设置 效果 37 二 窗体1 属性 P27StartUpPosition Icon ControlBoxMaxButton MinButtonWhatsThisButton WhatsThisHelpPicture AutoRedrawBorderStyle 012345 WindowsState 0 正常 1 最小化 2 最大化 注 1 Picture属性可在属性窗口设置 也可通过Loadpicture函数用代码来实现 函数格式为 对象 Picture Loadpicture 文件路径 文件名 对象可以是窗体 图片框 图像框 缺省时为窗体 VB可以识别的图形格式有 bmp gif jpg wmf ico cur等 2 两者的不同在于 属性设置时设置的图片 会被保存起来并与窗体同时加载 而运行时加载的图片 不和应用程序一起保存 38 2 事件 P28Click DblClick Load UnLoad等Load当装入窗体时激发 通常用于对属性和变量初始化3 方法 P28Print Cls Move Show Hide等当在Form Load事件中使用Print方法时 必须将该窗体的AutoRedraw设置为True 否则Print方法无效 例上述属性 Click DblClick和Load事件演示 书上例子 P28 39 三 标签Label1 功能 用于显示文本 输出 信息 不能作为输入信息的界面 2 属性 P293 事件 click Dblclick Change例2 5 显示浮雕效果的文字 实现方法 字颜色 标签位置书上例子 P29四 文本框TextBox功能 是一个文本编辑区域 可以输入 编辑和显示正文内容 1 属性 P30Text 正文内容Maxlength 设置正文的最多字符个数 0任意长度值 MultiLine 是否为多行 默认一行 FALSEScrollBars 当MultiLine为True时 该属性才有效 表示滚动条的形式0 None 1 Horizontal 2 Vertical 3 Both Locked 是否可被编辑属性 False 表示为可编辑 PassWordchar 口令字符 Text属性返回输入的数据 屏幕显示该字符 SelStart SelLength SelText 选中文本的起始 长度 内容 例2 6复制选中的文本 40 2 常用事件Change 当改变文本框的Text属性时会引发该事件 KeyPress KeyAsciiAsInteger 同上 并可返回一个KeyAscii参数KeyAscii为13 按回车键 为0去除刚输入的字符 LostFocus 当控件失去焦点时发生 GotFocus 当控件获得焦点时发生 3 常用方法 对象 SetFocus 是把光标移到指定的文本框对象中 即设置焦点 4 文本框的应用数据过滤例2 7要求输入合法的数字数据 当输入结束时 按Tab键 对于输入正确的数据 显示正确信息 对输入的非数字数据 则响铃 Beep 显示错误信息 清除文本框中的内容 并使焦点重新回到文本框 Text2 LostFocus当输入结束按Tab键时 该事件激发IsNumeric Text2 判断是否输入非数字数据 Text2 SetFocus 使焦点重新回到文本框书上例子 P32 41 五 命令按钮CommandButton功能 接受用户输入的命令 输入命令可以有三种方式 鼠标单击Tab键焦点到该按钮快捷键1 属性 P33Caption 命令按钮显示的内容 可设置快捷键 例 Ok 显示OkValue 检查该按钮是否按下 该属性在设计时无效 Picture 按钮可显示图片文件 bmp和 Ico 当Style为1时有效Style 确定显示的形式 0只能显示文字 1文字 图形均可 ToolTipText 设置工具提示 和Picture结合使用 2 事件Click 42 3 应用 例2 8建立一个允许剪切 复制和粘贴的简单便笺板程序 可增加内容 利用MouseMove事件决定命令按钮的有效性 即当选中内容 剪切 复制 按钮有效 否则无效 43 DimstAsStringPrivateSubcmdcopy Click st txtnoteedit SelTextcmdcopy Enabled Falsecmdcut Enabled Falsecmdpaste Enabled TrueEndSubPrivateSubmdcut Click st txtnoteedit SelTexttxtnoteedit SelText cmdcopy Enabled Falsecmdcut Enabled Falsecmdpaste Enabled TrueEndSub PrivateSubcmdexit Click EndEndSubPrivateSubcmdpaste Click txtnoteedit SelText stEndSubPrivateSubForm Load cmdcopy Enabled Falsecmdcut Enabled Falsecmdpaste Enabled FalseEndSub 44 Subtxtnoteedit MouseMove ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle Iftxtnoteedit SelText Thencmdcopy Enabled Truecmdcut Enabled Truecmdpaste Enabled FalseElsecmdcopy Enabled Falsecmdcut Enabled Falsecmdpaste Enabled TrueEndIfEndSub 45 六 常用方法 Vb中使用方法的语法结构是相同的 对象 方法 参数列表 1 print方法形式 对象 print spc n tab n 表达式列表 作用 在对象上输出信息 对象 可以是窗体 form 图形框 picturebox 打印机 若省略 则在窗体上输出 46 表达式列表开始位置是由对象的currentx和currenty属性决定的 缺省为打印对象的左上角0 0 例2 9 print方法输出图形 PrivateSubForm Click Form1 CurrentX 200Form1 CurrentY 550Fori 1To5PrintTab i 5 String 6 i Spc 6 String i NextiEndSub 47 2 cls方法 形式 对象 cls 如 picture cls 作用 用于清除运行时在窗体或图形框中显示的文本或图形 注意 1 cls方法只清除运行时在窗体或图形框中显示的文本或图形 不清除窗体在设计时的文本或图形 2 cls方法使用后 currentx和currenty属性被设置为0 48 3 move方法 形式 对象 move左边距离 上边距离 宽度 高度 作用 用于移动窗体或控件 并可改变其大小 对象 可以是窗体及除时钟 菜单外的所有控件 省略对象为窗体 如果对象是窗体 则 左边距离 和 上边距离 以屏幕左边界和上边界为准 否则以窗体的左边界和上边界为准 宽度和高度表示可改变其大小 49 例2 10 PrivateSubForm Load Image1 Top 0Image1 Left 0Image1 Picture LoadPicture App Path 1 gif EndSubPrivateSubImage1 Click Image1 Move Form1 Left Form1 Width 2 Form1 Left Form1 Top Form1 Height 2 Form1 Top Image1 Width 2 Image1 Height 2EndSub 50 七 应用举例 例2 11 根据房产商提供的信息 购房者选择房型 面积 单价 按揭期等信息 编写计算每月支付贷款的程序 程序由两个窗体构成 第一个窗体输入或选择买房的数据 该窗体由列表框选择数据 标签显示数据 文本框输入数据 第二个窗体显示房屋的平面图 该窗体仅有一个图形控件 51 2 5工程的管理 一 工程的组成工程文件包含了一个应用程序的所有文件 工程文件 vbp 工程组文件 vbg 窗体文件 frm 控件及属性 事件过程和自定义过程窗体的二进制数据文件 frx 自动产生同名 frx文件 标准模块文件 bas 类模块文件 cls 资源文件 res ActiveX控件的文件 ocx 二 创建 打开和保存工程 文件 菜单 52 三 添加 删除和保存文件 可利用 文件 和 工程 菜单1 窗体名和窗体文件名概念窗体名 窗体的Name属性 在代码中用来引用该窗体 同一工程不能有相同的窗体名 窗体文件名 窗体存放在磁盘上的文件名 该文件包含了该窗体的所有控件属性和代码 同一文件夹不能有相同的文件名 2 在工程中添加现存的窗体时 只是对该窗体文件的引用纳入工程 因此 如果更改窗体并保存它 会影响包含此窗体文件的任何工程 3 在工程中删除窗体时 仅将此窗体从工程里删除掉 但是窗体文件仍存在于磁盘上 但是 如果在VB之外删除一个窗体文件 VB不能更新此工程文件 当打开此工程时 将显示一个文件丢失的错误信息 53 四 环境设置 工具 选项 1 编辑器 选项卡2 通用 选项卡 4 对窗体文件改名方法 在 工程资源管理器 中 右击窗体文件 Form另存为 5 保存窗体文件 若只想保存窗体文件而不保存工程文件 可直接在 工程资源管理器 中选定 然后执行 文件 菜单中的相应选项 54 2 6制作成安装盘 2 6 1使用打包和展开向导打包 把工程中用到的各种类型的文件 包括工程自身的文件 必要的系统文件和安装主文件 进行打包压缩后 存放到特定的目录下 展开 把打包的文件展开到用户可以携带的用来安装的软盘 光盘等介质 管理脚本 记录打包或展开过程中的设置 便于以后做同样的操作 系统的压缩文件以 cab扩展名保存 2 6 2检测安装程序 55 第三章VB语言基础 3 1编码基础3 2数据类型3 3常量与变量3 4运算符和表达式3 5基本语句3 6数组3 7过程3 8常用算法举例3 9程序调试 56 3 1编码基础 一 书写要求 1 VB代码不区分字母的大小写系统关键字自动转换每个单词的首字母大写 用户自定义行以第一次为准2 语句书写自由一行可书写几个语句 之间用冒号分隔 一行最多255个字符 一条语句可分若干行书写 用续行符 空格 下划线 连接3 注释有利于程序的维护和调试Rem或单撇号 以及 编辑 工具栏的 设置注释块 VB中注释语句会自动变为绿色4 保留行号与标号5 其他注意事项 保留字与变量之间至少有一空格 字母 l 与数字 1 字母 o 与数字 0 的使用 57 3 2数据类型 一 标准数据类型 58 1 数值数据类型 IntegerLongSingleDoubleCurrencyByte 1 Integer和Long型用于保存整数 2 Single和Double型用于保存浮点实数 3 Currency型是定点实数或整数 4 Byte字节型用于存储二进制数 59 2 日期 Date 数据类型按8字节浮点数来存储 日期范围 公元100年1月1日 9999年12月31日时间范围 0 00 00 23 59 59表示方法 一般日期形式前后加 来表示另一种是以数字序列表示日期和时间 1 一般日期表示法 使用成对 将任何可被认作日期和时间的字符括起来 公元年份默认19 年 因而填入1995年与填入95年效果一样 但年的部分输入0 29间的数字 则VB自动转换为20 年 例如 5 25 24 与 5 25 2024 等价 而 5 25 95 May25 95 May 25 95 25May1995 1995May25 等均为合法日期格式 60 2 数字序列表示法数字序列是双精度的浮点数 由VB自动解释 序号的整数部分表示日期 小数部分表示时间 在VB中 基准日期为公元1899年12月30日 这一天的整数部分为0 比基准早的日期序号为负数 比其晚的日期序号为正数 其取值范围为657434 公元100年1月1日 到2958465 公元9999年12月31日 小数部分 以某个时间点占一天24小时的比例表示 如 6 00AM会以0 25来表示 2 5表示1899 12 2812 00 005 75表示1900 1 418 00 00366 05表示1900 12 311 12 00367 05表示1901 1 11 12 00 367 05表示1898 12 281 12 00 61 3 逻辑 布尔型 数据型 Boolean当逻辑型转换成整型数据时 true 1 false 0 当其他类型数据转换成逻辑数据时 非0数转换为true 0转换为false4 字符串型 String 5 对象数据类型 Object作为32位 4个字节 地址来存储 62 6 变体类型 Variant是所有未定义的变量的缺省数据类型 它可以包括标准数据类型 还包含四个特殊的数据 empty 空 表示未指定确定的数据null 无效 表示数据不合法Error 出错 指出过程中出现了一个错误条件Nothing 无指向 表示数据还没有指向一个具体对象Vartype 检测变体型变量中保存的数值类型如 dimtVartype t 或Vartype 667 63 二 自定义类型让用户自己定义的数据类型 由若干个标准数据类型组成 是一组不同类型变量的集合 相当于C语言中的结构类型 Pascal中的记录类型 1 自定义类型的定义形式如下 Type自定义类型名元素名 下标 As类型名 元素名 下标 As类型名 EndType其中 元素名 表示自定义类型中的一个成员下标 表示数组类型名 为标准类型 64 例如 以下定义了一个有关学生信息的自定义类型 TypeStudTypeNoAsInteger 学号NameAsString 20 姓名SexAsString 1 性别Mark 1To4 AsSingle 4门课程成绩TotalAsSingle 总分EndType注意 1 自定义类型一般在标准模块 BAS 中定义 默认是Public 在窗体必须是Private 2 自定义类型中的元素类型可以是字符串 但应是定长字符串 3 不要将自定义类型名和该类型的变量名混淆 前者表示了如同Integer Single等的类型名 后者VB根据变量的类型分配所需的内存空间 存贮数据 4 自定义类型一般和数组结合使用 简化程序的编写 65 2 自定义类型变量的声明和使用 1 声明形式 Dim变量名As自定义类型名例DimStudentAsStudType 2 引用 形式 变量名 元素名例表示Student变量中的姓名 第4门课程的成绩 则表示如下 Student Name Student Mark 4 3 赋值 如 Student Name 王刚 Student Mark 4 98 66 3 3常量与变量 一 常量和变量的命名规则常量 在程序运行中其值不可以改变 变量 在程序运行中其存储的值可以改变 命名规则 1 以字母或汉字开头 后可跟汉字 字母 数字或下划线组合 长度小于等于255个字符 2 不能使用VB中的关键字 3 VB中不区分变量名的大小写 4 为了增加程序的可读性 可在变量名前加一个缩写的前缀来表明该变量的数据类型 如 strMystring intCount 67 VB6 0的关键字有 AsBinaryByRefByValDateElseEmptyErrorFalseForFriendGetInputIsLenLetLockMeMidNewNextNothingNullOnOptionOptionalParamArrayPrintPrivatePropertyPublicResumeSeekSetStaticStepStringThenTimeToTrueWithEvents 68 二 常量 一 直接常量有数值常量 整数 长整数 定点数和浮点数 字符串常量 布尔常量 日期常量 二 符号常量1 系统提供的常量系统定义常量位于对象库中 可通过 对象浏览器 查看 例 vbNormal vbMinimized vbMaximized vbblue等form1 windowsstate vbmaximized 将窗口极大化form1 windowsstate 2 与上面的语句等价的 69 2 用户声明常量形式 Const常量名 AS类型 表达式省略 AS类型 常量的类型由表达式值的类型决定 也可在常量后加类型符 表达式 可以是数值常数 字符串常数以及由运算符组成的表达式 对于数值常数除了可用十进制表示外 还可以使用十六进制数 数值前加 H 和八进制数 数值前加 O 为使与变量名区分 一般常量名使用大写字母例ConstMAX 100ConstPI 3 14159ConstPI 3 14159ConstMAXasinteger O144 70 三 变量1 用Dim语句显式声明变量形式 Dim变量名 AS类型 Dim变量名类型符例DimiCountAsinteger sAllsumAssingle等价于DimiCount sAllsum 对于字符串变量 根据其长度是否固定 有两种方法 Dim字符串变量名AsStringDim字符串变量名AsString 字符数2 隐式声明未进行上述的声明而直接使用 其类型为Variant类型 建议不使用 注意 在通用声明处加OptionExplicit语句可强制显式声明变量 71 3 4运算符和表达式 一 运算符1 算术运算符例 5 10mod10 9 3 2 2结果 10 取ia 3 72 2 字符串运算符 和 都是将两个字符串拼接起来 123 456 结果 123456 123 456 结果 123456 区别 若 的两旁的操作数均为数值型则进行算术加 若一个为数字字符型 另一个为数值型 则自动将数字字符转换为数值 然后进行算术加 若一个为非数字字符型 另一个为数值型 则出错 则不管什么类型 强制转换为字符型进行拼接 例如 abcdef 12345 结果为 abcdef12345 abcdef 12345 出错 123 456 结果为 123456 123 456 结果为57912000 123 100 结果为 12123100 Val left 12345678 4 mid 12345678 4 2 结果为123445注意 1 123 True 结果为122True转换为数值 1 False转换为数值0 2 使用 时 最好在两侧的操作数间加入一个空格 因为Long类型变量的类型符以及八进制 十六进制数值表示法的起始字符也为 73 3 关系运算符将两个操作数进行大小比较 结果为逻辑量 1 关系运算符的优先级相同 2 Like 运算符与通配符 字符列表 字符列表 结合使用 常用于模糊查询 其中 表示任何单一字符 表示零个或多个字符 表示任何一个数字 0 9 字符列表 表示字符列表中的任何单一字符 字符列表 表示不在字符列表中的任何单一字符 例如 找姓名变量中姓张的学生 则表达式为 姓名Like 张 又如找没有张字的学生 表达式为 姓名Like 张 74 4 逻辑运算符 说明 1 Not 进行取反运算 2 And 操作数均为真时 结果才为真 3 Or 操作数中有一个为真时 结果为真 4 Xor 操作数相反时 结果才为真 5 Eqv 操作数相同时 结果才为真 6 Imp 第1个操作数为真 第2个为假时 结果才为假 其余结果均为真 7 优先级 Not And OR Xor Eqv Imp 75 如果逻辑运算符对数值进行运算 则以数字的二进制值逐位进行逻辑运算 1 And运算符常用于屏蔽某些位 2 Or运算符常用于把某些位置1 3 连续两次进行Xor运算 可恢复原值 例 10and710or7 76 二 表达式1 表达式组成变量 常量 函数 运算符和圆括号2 书写规则 1 运算符不能相邻 例a b是错误的 2 乘号不能省略 例x乘以y应写成 x y 3 括号必须成对出现 均使用圆括号 4 表达式从左到右在同一基准上书写 无高低 大小 3 不同数据类型的转换运算结果的数据类型向精度高的数据类型靠 Integer字符运算符 关系运算符 逻辑运算 77 表达式书写举例 sin 45 3 14 180 exp 10 log 10 sqr x y 1 a b c d e f g或a b c d e f g 78 例 用人单位招聘秘书 年龄小于40岁的女性 学历专科或本科年龄 40性别 女 学历 专科 学历 本科 AndAndOr 比a小 比b大用Or a小数 b大数 a小数 b大数 比a大 比b小用And 例 表示算术表达式 正确的VB表达式 3 xAndx 7错误的VB表达式 3 x 7或3 xOrx 7 考虑 若分别写成 年龄 40And性别 女 And 学历 专科 And学历 本科 年龄 40Or性别 女 Or 学历 专科 Or学历 本科 1 数学函数 Rnd函数返回0和1 包括0但不包括1 之间的双精度随机数 例 产生1 100的随机整数 Int Rnd 100 1产生100 3000的随机整数 Int Rnd 2901 100随机产生 A Z 的字符 Chr Int Rnd 26 65 注意 1 产生一定范围内的随机整数通常表示为 Int Rnd 范围 基数或Int Rnd 范围 基数 2 每次运行时 要产生不同序列的随机数 执行Randomize语句 Randomize number 注 函数名后有 符号 表示函数返回值为字符串 三 常用内部函数 79 2 转换函数Chr 66 B Asc B 66Asc Chr 99 99Chr Asc K K Ucase abcdefg ABCDEFG 3 日期函数 Date返回系统日期Time返回系统时间Now返回系统日期和时间Year返回年份 1 DateAdd增减日期函数 2 DateDiff间隔日期函数 三 常用内部函数 80 4 字符串编码及操作函数 1 字符串编码Windows系统对字符采用了DBCS编码 中文2字节 西文1字节VB中字符Unicode编码 任何字符2字节 Len 中国good 为6LenB 中国good 为12StrConv 进行DBCS与Unicode之间转换 2 字符串函数Mid ABCDEFG 2 3 BCD InStr 2 EFABCDEFG EF 7注 函数的自变量中有M 表示M 0区分大小写 M 1不区分 省略M区分大小写 81 5 格式输出函数Format 功能 Format 可以使数值 日期或字符串按指定的格式输出 格式 Format 表达式 格式字符串 其中 表达式 为要格式化的数值 日期和字符串类型表达式 格式字符串 表示按其指定的格式输出表达式的值 格式字符串有三类 1 数值格式化 将数值表达式的值按 格式字符串 指定的格式输出 2 日期和时间格式化 3 字符串格式化格式字符串要加双引号 82 83 6 Shell函数功能 Shell函数负责执行一个可执行文件 扩展名为 exe com bat 返回一个Variant 如果成功 代表这个程序的进程ID 若不成功 则会返回0 形式 Shell 命令字符串 窗口类型 缺省窗口类型最小化为图标 84 X shell c windows pbrush exe 1 Y shell c windows write exe 1 Z shell C ProgramFiles MicrosoftOffice Office winword exe 1 提示 如果不知道应用程序的路径名 可用Start命令启动程序i Shell start calc exe i Shell start vb6 exe 举例 i Shell c windows calc exe 1 j Shell c 1 85 86 3 5基本语句 3 5 1赋值语句形式 LET 变量名 表达式作用 将表达式的值赋值给变量名 一般用于给变量赋值或对控件设定属性值 例 sRate 0 1Text1 Text 欢迎使用VisualBasic6 0 注意 1 当表达式的类型与变量的类型不一致时 强制转换成左边的精度 如 iA 10 3iA中的结果为32 虽然赋值号与关系运算符等于号都用 表示 VB系统会根据所处的位置自动判断是何种意义的符号 3 赋值号左边只能是变量 不能是常量或表达式 4 不能在一句赋值语句中 同时给多个变量赋值 87 3 5 2人机交互函数和过程VB与用户之间的直接交互是通过InputBox 函数 MsgBox 函数和MsgBox过程进行的 1 InputBox函数InputBox 提示 标题 缺省 x坐标位置 y坐标位置 其中 提示提示信息 标题对话框标题 缺省输入区缺省值函数返回字符类型 例要在屏幕上显示图示的对话框 88 相应的语句如下 DimstrNameAsString 40strName InputBox 请输入你的姓名 vbCrLf 然后单击确定 输入框 也可以使用如下语句 DimstrNameAsString 40 strS1AsString 40strS1 请输入你的姓名 Chr 13 Chr 10 然后单击确定 strName InputBox strS1 输入框 100 100 当键盘输入 王晓明 后 变量strName获得键盘输入的值 89 2 MsgBox函数和MsgBox过程函数形式 变量 MsgBox 提示 按钮 标题 过程形式 MsgBox提示 按钮 标题 按钮值如下 函数返回所选按钮整数值 90 例3 2编一帐号和密码检验程序 要求 帐号不超过6位数字 有错 清除原内容再输入 密码输入时在屏幕上以 代替 若密码错 显示有关信息 选择 重试 按钮 清除原内容再输入 选择 取消 按钮 停止运行 分析 帐号6位 MaxLength为6 LostFocus判断数字IsNumeric函数密码PassWordChar为 MsgBox函数设置密码错对话框 91 3 5 3选择结构1 If Then语句 单分支结构 IfThen语句块EndIf或IfThen 例 已知两个数x和y 比较它们的大小 使得x大于y Ifx yThent xx yy tEndIf或Ifx yThent x x y y t 92 2 If Then Else语句 双分支结构 1 IfThenElseEndIf 2 IfThenElse计算分段函数 单分支结构实现 ifx 0then y cos x x 3 3 xIfx0Theny sin x sqr x x 1 双分支结构实现 Ifx0Theny sin x sqr x x 1 Elsey cos x x 3 3 xEndIf 93 3 If Then ElseIf语句 多分支结构 形式 IfThenElseIfThen Else语句块n 1 EndIf 94 例已知变量strC中存放了一个字符 判断该字符是字母字符 数字字符还是其他字符 用多分支结构实现 IfUcase strC A AndUcase strC 0 AndstrC 9 ThenPrintstrC 是数字字符 ElsePrintstrC 其他字符 EndIf 不管有几个分支 依次判断 当某条件满足 执行相应的语句 其余分支不再执行 若条件都不满足 且有Else子句 则执行该语句块 否则什么也不执行 ElseIf不能写成ElseIf 95 例已知百分制成绩mark 显示对应的五级制成绩哪些正确 哪些错误 正确 方法一 二错误 方法三 96 4 If语句的嵌套If语句的嵌套是指If或Else后面的语句块中又包含If语句 形式如下 IfThenIfThen EndIf EndIf 例已知x y z三个数 使得x y z用一个IF语句和一个嵌套的IF语句实现 Ifx yThent x x y y tIfy zThent y y z z tIfx yThent x x y y tEndIfEndIf If语句的嵌套注意事项 书写锯齿型 EndIf与它前面最近的if配对 97 与的类型必须相同 可以是下面四种形式之一 表达式例 A 一组枚举表达式 用逗号分隔 2 4 6 8表达式1To表达式260To100Is关系运算符表达式Is 60 5 SelectCase语句 情况语句 形式 SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2 CaseElse语句块n 1 EndSelect 变量 只能含有一个表达式 数值型或字符串 98 注意 关键字Is定义条件时 只能是简单的条件 不能用逻辑运算符将两个或多个简单的条件组合在一起 例如 CaseIs 20andIs20 是正确的 99 例变量strC中存放了一个字符 判断该字符类型 用多分支结构实现 IfUcase strC A AndUcase strC 0 AndstrC 9 ThenPrintstrC 是数字字符 ElsePrintstrC 其他字符 EndIf用SelectCase语句实现 SelectCasestrCCase a To z A To Z PrintstrC 是字母字符 Case 0 To 9 PrintstrC 是数字字符 CaseElsePrintstrC 其他字符 EndSelect 100 例 已知坐标点 x y 判断其落在哪个象限 哪个能实现 哪个不能实现 方法一Ifx 0Andy 0ThenPrint 在第一象限 ElseIfx0ThenPrint 在第二象限 ElseIfx0Andy 0ThenPrint 在第四象限 EndIf 方法二SelectCasex yCasex 0Andy 0Print 在第一象限 Casex0Print 在第二象限 Casex0Andy 0Print 在第四象限 EndSelect 方法二代码错误 1 SelectCase后不能出现多个变量 2 Case后不能出现变量及有关运算符 比较 SelectCase结构清晰 但使用受到限制 因此 凡是对多个变量的条件判断只能用If的多分支结构来实现 101 例由计算机来当一年级的算术老师 要求给出一系列的1 10的操作数和运算符 学生输入该题的答案 计算机根据学生的答案判断正确与否 当结束时给出成绩 分析 产生1 10操作数 可通过Int 10 Rnd 1 实现设置的控件名Label1Text1Picture1 Command1 102 6 条件函数 1 IIf函数形式是 IIf 表达式 当表达式为True时的值 当表达式为False时的值 例如 求x y中大的数 放入Tmax变量中 语句如下 Tmax IIf x y x y 2 Switch函数形式是 Switch 条件表达式1 条件表达式1为True时的值 条件表达式2 条件表达式2为True时的值 103 3 Choose函数形式是 Choose 数字类型变量 值为1的返回值 值为2的返回值 例如 Nop是1 4的值 转换成 运算符Op Choose Nop 当值为1 返回字符串 然后放入Op变量中 值为2 返回字符串 依次类推 当Nop是1 4的非整数 系统自动取Nop的整数办法在判断 若Nop不在1 4之间 函数返回Null值 104 1 在选择结构中缺少配对的结束语句对多行式的If块语句中 应有配对的EndIf语句结束 2 多边选择ElseIf关键字的书写和条件表达式的表示ElseIf不要写成ElseIf 多个条件表达式次序问题3 SelectCase语句的使用SelectCase后不能出现多个变量 Case子句后不能出现变量 本节常见错误 105 3 5 4循环结构1 For循环语句 一般用于循环次数已知 形式For循环变量 初值to终值 Step步长 语句块 ExitFor 语句块Next循环变量 循环变量 终值 语句块 ExitFor 语句块 循环变量加步长 T F 循环变量得初值 循环体 例计算1 100的奇数和Dimi s 等价于 Dimi s s 0s 0 i 1Fori 1To100

温馨提示

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

评论

0/150

提交评论