安装vb6.0时点击setup屏幕弹出vb安装向导导在初始化时遇到了致命的错误,但是右击setup也没有反应怎么办

1) 菜单与工具栏: 缺省 VB 只显示了标准的工具栏根据编程的需要,应该通过右键菜单将所有的工具栏 都显示出来并进行合理的排布特别是其中的”调试”工具栏比较重要。 2) 窗体设置区域: 这里是模拟运行的效果所显示的窗体可在上面进行控件拖放等可视化设计;根据所使 用控件的不同,不一定能完全达箌所见即所得的效果 3) 控件工具箱:

显示可用的控件图标,这里只缺省列举 VB 内置的标准控件 4) 工程浏览器: 显示各个工程以及工程所包含嘚各种文件的树形浏览器;对一个工程组,可能包含多个 工程都显示在浏览器中。 5) 属性浏览器: 用于显示窗体、或者窗体中当前所选择控件的属性列表;也可以显示工程浏览器中当前 所选择的其他文件的属性 6) 窗体布局: 用于直观显示当前窗体在屏幕中的布局,可拖动其Φ的窗体改变屏幕位置;该区域一般 不使用为增加其他区域的可视区域可将它隐藏。 开发过程中根据可视区域尺寸的需要,以上各个區域都可以关闭或者通过工具栏上面的按 钮显示出来 注:图例中有一些菜单、工具条、页卡与标准的 VB 环境有所区别,是因为安装了 CodeSmart 辅助編程插件 1.1.2 可视化设计开发: 窗体缺省是处于设计状态,在设计状态下点击控件工具箱上面的对应控件,然后在窗 体上面进行拖放就添加了这个控件;在窗体上面摆放多个控件,并进行拖放排布在属性 浏览器中设置它的相应属性,就是可视化设计的主要工作 除了标准的内置控件外,可以在控件工具箱上面点击右键选择”部件”(或者选择菜单”工 程\部件”),就会弹出第三方控件列表对话框勾选对應的控件之后,在控件工具箱上面会增 加显示对应的控件图标 在工程浏览器中,左上角的两个图标用于切换窗体的设计界面和代码书写堺面双击窗 体设计界面也可以切换到代码书写界面;代码书写界面类似下图:

其中有两个下拉框,第一个下拉框定位具体的对象(窗体或鍺控件)第二个下拉框定位它的 具体某个事件,当事件函数在代码中不存在时会自动产生。 除了事件函数外也可能有一些自已书写的函数,可以在第一个下拉框中选择”(通用)”然 后就可以在第二个下拉框中找到这些函数进行定位。 Visual Baisc 的代码都是由一个个的函数组成所鉯又称为函数式编程。 在窗体界面设计好代码编写完成之后,点击工具栏上面的”启动”按钮 (F5)即可运行程 序;运行程序有两种方式,┅种是”启动”一种是”全编译执行”(Ctrl+F5),全编译执行可以 检查出代码中的编译错误从好的习惯出发,一般都应该使用”全编译执行” 程序运行之后,如果要进行调试可以点击工具栏上面的”中断”按钮 (Ctrl+Break),即进入 代码调试状态;如果要终止程序可以关闭窗体,或者點击工具栏上面的”结束”按钮 1.1.3 VB 环境设置: 在使用 VB 环境进行开发之前,先可以进行一些基本的选项设置但不是必须的。选择菜单”

工具\选项”进入选项设置下面介绍几个常用的选项设置,其他的保持缺省即可: 1) 自动语法检测: 在”编辑器”页面该选项一般情况下应勾上,这样在代码书写过程中会自动对错误的 语法进行检查提示。 2) 要求变量声明: 在”编辑器”页面该选项一般情况下应勾上,虽然 VB 支持不声明变量直接使用但这 样是不严谨的,我们的规范也不允许该选项勾上的情况下,代码窗体的最前面会自动 加上” Option Explicit ”关键字 3) 玳码颜色和字体: 在”编辑器格式”页面,这里面可以根据自身的情况设置对应的颜色和字体。 4) 窗体网格设置: 在”通用”页面根据洎身情况,确定是否勾选”显示网格”和”对齐控件到网络”; 5) 错误捕获: 在”通用”页面这个是比较重要的参数,影响程序调试但具体选项的作用,我们在后 面错误调试的章节再进行说明 另外 VB 开发环境是一个开放的环境,可以在 IDE 环境中加载插件以提供一些辅助编程嘚功 能比如前面提到的 CodeSmart 就是一种插件;甚至可以自已使用 VB 开发插件(本培训课程 不涉及)。 加载插件的方法是选择菜单”外接程序\外接程序管理器”就会弹出外接程序管理器,并列 举出可用的插件选择对应的插件,并勾选”在启动中加载、加载/卸载”然后在菜单中, 就會自动添加相应的功能项 VB 标准 API 的查询和函数定义生成器,方便进行 API 编程 3) VB6 类生成工具: 辅助定义类,类的属性、方法、事件设置类集匼,并自动生成对应代码的工具;这个 工具可能经常使用 4) VB6 资源编辑器: 当要把图片、 字符串等资源附加到工程中, 一并编译到文件中时 需要使用到资源文件, 这个工具可以对资源文件中的内容进行编辑关于工程中资源的访问,后面章节再进行 介绍 1.2 VB 工程与文件类型: 1.2.1 鈳开发的工程与类型: 进入 Visual Basic 6.0 时,会提新建的工程类型这里对我们常用的几种工程类型进行说明: 1) 标准 EXE: 开发 Windows 标准的 exe 可执行文件。 2) ActiveX DLL: 开发基于 COM 对象的 DLL 部件通过开放公共的类接口来被其他程序所调用,其他程 序可以是支持 COM 部件调用的任何语言编写的;该 DLL 部件可能是系统中的業务组件

之一也可能是一个公共功能的组件; 3) ActiveX EXE: 与 ActiveX DLL 类似,可通过开放公共的类接口来被其他程序所调用;但它是以 exe 的方 式出现因此相對于调用它的主程序来说,ActiveX EXE 是在独立的进程中运行 4) ActiveX 控件: 同样是基于 COM 对象的程序,但是以控件的形式提供让其他程序调用 1.2.2 工程文件组荿: 窗体只是 VB 工程中的一种文件,VB 工程(Projectprj)中可能包含的比较常用的文件类型如 下: 1) 窗体: Form,用于与用户进行交互文件扩展名为 frm,文本格式存放各个控件的属性,以 及窗体中的代码;如果窗体中包含二进制数据(比如窗体中有一张图片)就会产生同名 的 frx 文件。 2) 模块: Modual用于存放全局使用的公共变量、公共函数,文件扩展名为 bas 3) 类模块: Class, 用于实现 VB 中的类 VB 基于对象的编程就主要靠类模块实现, 文件扩展名为 cls 4) 用户控件: UserControl,实现自定义控件时它是主要的界面设计文件特性与窗体文件类似,扩展 名为 ctl对应的二进制同名文件为 ctx。 5) 属性页: PropertyPage实現自定义控件时,对控件的属性进行设置的窗体特性与窗体文件类 似,扩展名为 pag对应的二进制同名文件为 pagx。 6) 资源文件: Resource用于存放工程中使用的,额外的图片、字符串等数据与工程一起编译。二 进制格式扩展名为 res,一个工程中只能有一个资源文件 以上文件的名称嘟可以在属性浏览器中进行设置, 保存时的磁盘文件名缺省与所设置的文件 名称相同但也可以强制保存为其他磁盘文件名,不过这样是佷不规范的行为容易给管理 造成混乱。 1.2.3 工程属性与启动: 1) 启动工程以及工程的启动对象: 在一个工程组中(Visual Basic Project Group、vbg)可以包含多个工程(比如一個类型 为标准 exe 的主工程, 若干个类型为 ActiveDLL 的业务部件工程) 但启动工程只有一个; 在 C/S 开发模式中,启动工程就是 exe 工程在工程浏览器中选中 exe 笁程名,点击右 键选择”设置为启动”即可;当只有一个工程时,它缺省就是启动工程 设置了启动工程,该工程启动的入口又有两种方式;一种是缺省以工程中添加的第 一个窗体作为启动入口;另一种是以模块文件中的 Main 过程作为入口(模块中定义的 Public Sub Main 或者 Sub Main)具体可以在工程屬性的启动对象中设置;当要编写无界 面交互的程序,或者在窗体显示之前先要作一些特殊处理的程序来说Sub Main 启动就 非常有用。 2) 工程属性: 在工程浏览器中选中某个工程名点击右键,选择”<工程名>属性”即可弹出工程属性设

置框工程有一些比较重要的属性,下面分别介紹: 1) “通用”页面:

启动对象:前面已经说了用于选择窗体启动,还是 Sub Main 启动这个选项 主要针对 exe 工程,对于 dll、ocx 等工程缺省为”(none)”。 2) “苼成”页面:

版本号:设置当前工程部件所对应的版本号每一位允许在 0-9999 之间设置; 在产品化的开发中,版本号非常重要;该属性在代码Φ可以通过 APP.Major、 Minor、Revision 读取 注:在 Windows 的文件属性中看到的版本号格式是 4 段的,如 10.28.0.10这 里的对应设置为 10.28.10。 应用程序: 标题用于设置对工程的简称洳”药房业务部件”,这个标题同时也是工程中调 用 MsgBox 函数进行消息提示框的缺省标题该属性在代码中可以通过 APP.Title 读取。 图标用于设置工程編译后所生成文件的图标 它是通过选择工程中的某个窗体, 而使用该窗体的图标作为工程编译文件的图标 版本信息: 设置一些附加的笁程信息,一般是跟版权相关的信息包括”产品名、公司名、 合法版权、合法商标、文件描述 ” 等,在代码中可通过 APP.ProductName 、 CompanyName 等属性访问工程被编译成文件之后,在 Windows 的文件属性 中也可以查看到这些信息

命令行参数: 标准 exe 工程编译之后,由其他程序调用时可以传入命令行参数;如果在这里 输入命令行参数就是让程序运行时,模拟进行传入以方便程序进行调试。 3) “部件”页面:

版本兼容: 对于 ActiveX EXE/DLL/控件这几种类型的工程都是以 COM 类来开放接口,在 编译生成文件时与以前的版本的文件存在一个接口兼容性问题,在接口类的 定义、函数、参数等未發生变化或者只发生了向下兼容性的变化时,应该选 择按”二进制兼容”模式进行编译并指定要进行兼容检查的磁盘文件。 这个设置對于公用性质的部件特别重要一旦不兼容了,使用公用部件的程序 就会出错除非也重新编译使用公用部件的程序。 1.2.4 工程编译与发布: 笁程编译的方法比较简单选择菜单”文件\生成<工程名>”,然后指定要生成到的路径和文 件名即可标准 EXE、ActiveX DLL、ActiveX EXE、ActiveX 控件编译时分别生成的是 exe、dll、 exe、ocx 文件。 要发布所编译的文件需要将它所依赖的其他文件一并包含,依赖的的文件包括: 1) Visual Basic 6.0 的运行支持文件:msvbvm60.dll放在系统目录 System32 下面。 2) 笁程所使用到的控件文件包括自定义控件和第三方控件文件,如 mscomct.ocx 3) 工程所使用到的其他 DLL 组件, 包括自已编写的 ActiveX DLL 以及第三方的公共组件等, 如 msscrrun.dll 4) 工程中所涉及到要读写的其他独立文件。 注:VB 在编译过程中可能会生成 lib、exp 等一些附加文件,这些文件在编译之后可以删 除 1.3 VB 对潒的基本概念: Visual Basic 6.0 是基于对象的编程,不是完全面向对象的编程对象的继承、多态等特性不能很 好地处理;但使用对象编程仍是 VB 中很重要嘚功能,在日常工作中大量使用 1.3.1 窗体对象: 前面提到的窗体,VB 中也是一种 Form 类的对象它拥有属性、方法、事件,对 Form也 完全可以按照类嘚构建方法,自已再增加属性、方法、事件;除了可以直接通过窗体名使用 窗体外也可以通过对象使用模式,定义基于窗体类的对象實例化之后进行使用,如下面 的代码:

1.3.2 类模块与对象: VB 中的类模块(Class)是专门用来定义类、实现对象处理的文件定义使用一个对象的步骤如 丅: 1. 在工程中添加一个类模块,并命名比如 clsPerson 2. 在类模块中添加属性、 方法、 事件, 比如添加两个属性”Name、 Sex” 添加两个方法”Eat、 Sleep”,添加┅个事件”GetIll” 3. 在窗体中定义一个对象变量,并实例化如:

4. 给该对象的属性赋值、读取,调用对象的方法 5. 使用对象的事件比较特殊,需要使用 WithEvents 关键字并且需要将对象定义为窗体模 块级的、单独使用 New 关键字进行实例化:

也可以使用外接工具”类生成器实用工具”直观地萣义类并自动生成相应代码;关于对象类型 的进一步说明,将在后续章节进行 1.3.3 其他常用内置对象: VB 中有一些内置的对象,在日常开发工莋中经常用到下面进行简要介绍: 1) Me: Me 表示的是对象实例自身,在类模块内部使用窗体也是一种类模块,因此在窗体中 使用得非常多 仳如在 Form1 内部的代码中, 我们可以书写 Me.Caption、 Me.TextBox1.Text; 通过 Me 关键字加”.”符号在代码书写时可以快速找到要访问的属性、方法等;当然在 类里面,对於自身的属性、方法等也可以不加 Me 前缀直接书写访问。 2) VB.APP: 当前应用程序对象通过 APP 对象(可以不加 VB 前缀),能够读到当前工程相关的信息

4) VB.Screen: 当前屏幕对象,可以读取屏幕的尺寸精度,活动窗体等信息 5) VB.Printer: 当前打印机对象,能够读取和设置打印机、纸张等信息并可以打印機输出文本、图形 等内容。关于打印机编程在应用类产品中非常重要,后面的章节将对打印机编程作进 一步讲解 除了 VB 内置的对象,Windows 和┅些第三方厂商也提供了一些公共的对象库可以在 VB 中使用,比如 ADO 数据库操作对象FileSystemObject 文件操作对象等,要使用这些对象库 的方法如下: 1) 点擊菜单”工程\引用”将弹出”引用”对话框;对话框中列举了可以使用的公共对象库, 这些对象库都是基于 COM 的 ActiveX DLL/EXE每个工程缺省引用了 VB 的┅些内置库。 2) 找到对应要使用对象库比如 Microsoft ActiveX Data

类型 字符 字符 枚举 枚举 布尔 枚举 数字 数字 数字 布尔 对象 枚举 名称,运行时只读 显示的文本标题

┅般有 3D、Flat 几种选择表示窗体或控件的外观是平 面的还是立体的。 控件标题文本在内部的对齐方式 缺省为 False当设置为 True 时,在窗体或者控件仩面作 图时不用去处理 Paint 事件重绘。 窗体或控件的边框样式一般有无边框、单线边框、3D 边框等样式选择。 背景色 字体颜色或者画笔颜色 當控件具有背景图片时对图片中 MaskColor 指定的颜 色进行屏蔽透明。 所指定的 MaskColor 颜色值是否生效 字体属性,包括字体名、字号、粗体、斜体等 对於可输入类控件具有表示控件激活时中文输入法的 状态,一般设置为:No Operation(不处理)ON(打开), Off(关闭)Disabled(禁用) 背景图片 控件的索引,使用控件数组時使用否则缺省为空; Index>=0,同一种控件、名称相同Index 不同的一组控

缺省为 False,当为 True 时表示按键盘 Tab 键时,焦点 不经过该控件;但该控件仍可獲取焦点仍可以强行用 鼠标点击获取焦点。 输入类控件具备表示当前键盘光标所在输入内容中的 位置,值为 0-Len(内容) 输入类控件具备,表示当前键盘光标在输入内容中所选 中的内容长度如果没有选中内容,则为 0 输入类控件具备,表示当前键盘光标在输入内容中所选 中嘚内容如果没有选中内容,则为”” 用于存放额外的扩展数据,数据内容是自已定义的 鼠标悬停提示的内容 窗体或者控件是否可用(鈈可用一般会置为灰色) 窗体或者控件是否可见 窗体或者控件相对于它所在的容器的位置和尺寸;窗体 的容器是屏幕。 缺省为 False当设置为 True 时,表示窗体上面的所有按 键都先触发窗体的 KeyPress 事件而不是先触发当前控 件的 KeyPress 事件。 表示窗体是否具有最大化、最小化、关闭按钮以及图标; 在运行时只读 表示窗体运行时是否在 Windows 任务栏上面显示;在运 行时只读。 设置窗体运行时缺省在屏幕上所出现的位置在运行时 只读。 掱动:根据在窗体布局中所调整的位置进行显示 所有者中心:显示在上层主窗体的中心。 屏幕中心:显示在屏幕的中心 窗口缺省:不凅定位置,由 Windows 系统控制 窗 体 当 前 的

数字 数字 文本 字符 字符 布尔 布尔 数字 布尔

窗体与控件常用事件: 1.5.1 窗体的使用及事件 要显示一个窗体,囿几种办法 1) 直接使用窗体的 Show 方法:

Show 方法的第一个参数表示是否以模态方式显示,1 表示模块0 表示非模态(缺省); 第二个参数表示该窗体的主窗体,如果有主窗体那么当主窗体最小化时,该窗体也会 最小化当主窗体关闭时,该窗体也会自动关闭;这两个参数都是可选参数 2) 定义窗体对象,再调用 Show 方法: 窗体是 VB 中的一种类 前面直接调用 Show 方法的方式并没有通过创建窗体对象来处理,

这样是 VB 在后台自动创建一個窗体对象实例但这样这个窗体只能有一个实例存在, 即只能同时打开一个;上例中第 2 次点击 Form1 时,只是将已经显示出来的 Form2 激 活而已 峩们可以采用以下方法:

这样每次点击 Form1 时,都是重新打开并显示一个新的 Form2 窗体 3) 先加载窗体,再显示出来:

这个方法是先将窗体对象 Load 加载箌内存(激活窗体的 Load 事件)但暂时不显示,这 时可以作一些其他的处理完成之后,再将窗体显示出来 4) 自已定义窗体的 Show 方法: 窗体作为一種类,也可以定义其自已的方法特别在需要传递额外的参数的时候,我们 可以人为定义一个 Show 方法如:

要关闭一个窗体,除了交互操作關闭外在代码中可以使用以下方法: 1) 使用 Unload 语句: 如一般在窗体的退出按钮中书写:Unload Me 2) 使用 Hide 方法: 如 Me.Hide;但 Hide 只是将窗体隐藏掉,并没有清除窗體实例;最后还是要使用 Unload 语句 从窗体从打开到关闭这个过程中,发生的事件以及顺序如下: 1) Form_Initialize: 窗体初始化

窗体加载这个时候窗体还没囿显示出来;和 Initialize 相比,Load 事件用得较多一些; Initialize 中主要是进行一些比较低级和底层的初始化(如 Windows API 处理) 3) Form_Resize 在窗体加载完成之后,没有显示出来之前先要激活一次 Resize 事件,以根据设计时的 布局调整窗体及控件 4) Form_Activate 窗体激活; Windows 任务管理器正在关闭应用程序 MDI 主窗体关闭导致当前 MDI 子窗体被关闭 窗体的主窗体被关闭导致当前窗体被关闭

键盘事件 窗体以及大部分的控件都具有以下键盘事件响应: 1) KeyDown/KeyUp(KeyCode As Integer, Shift As Integer) 我在键盘上按一个键或者组组合键时(洳 Ctrl+F),会先后激活 KeyDown/KeyUp 事件这 两个事件能够截获绝大部分的键盘按键; 每一个按键都有一个对应的按键代码,这些按键代码大部分也对应有 VB 常量如 一般的字符按键,对于控制键和组合键则适合使用 KeyDown 事件;因此 KeyAscii 事件参 数主要是所按下字符的 ASCII 码当然一些特殊按键也能被 KeyPress 事件捕获,比如 BackSpace 键它的 ASCII 码是 8。 与 KeyDown 事件所不同的是在 KeyPress 事件中,可以通过将事件参数 KeyAscii = 0 来 使按键无效而

另外当窗体的 KeyPreview 属性为真时,如果窗体中当前焦点在某个控件上面这时当键盘 按下时,是先激活窗体的键盘事件再激活该控件的键盘事件;反之则只激活该控件的键盘 事件。 1.5.3 鼠标倳件 窗体以及大部分的控件都具有以下鼠标事件响应 1) MouseDown/MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 当鼠标按下或者弹起时激活; Button 表示具体按的哪个键1 表示左键、1 表示右键、4 表示中间按钮; Shift 表示按下鼠标时,同时按下了键盘的组合键具体与键盘 KeyDown 事相同; X、 Y 则表示当前的鼠标位置, 注意这个鼠标位置是相对于当前窗体戓者控件的左上角的 2) MouseMove(Button As Integer, Shift As 在界面交互过程中,当编辑控件中的内容输入完成转移焦点时激活;该事件的主要目 的是对所输入内容的正确性進行校验,如果检查发现输入内容不符合要求可以通过将 事情参数 Cancel =1 来阻止进行焦点转移。 注:转移焦点也会激活 LostFocus 事件但所不同的是 LostFocus 是強制性的,不能阻止 这个过程 1.5.5 拖放事件 窗体以及大部分的控件都支持拖动的处理,利用拖动的事件、方法我们可以实现鼠标拖动应 用拖动的启动有两种方式: 1) 手动: 这个时候窗体或者控件的 DragMode=0 (VbManual,缺省)需要在代码中调用 Drag 方法 进行启动: Drag <Action> Action=

当拖动对象经过某个控件或者窗体时,这个控件或者窗体会触发 DragOver 事件: Source:表示被拖动的来源控件 X/Y:被拖动的控件在当前控件或者窗体中的坐标 State:被拖动的控件在当前控件或者窗体中的状态分别有 0=进入,1=离开2=经过 2) DragDrop(Source As Control, X As Single, Y As Single) 当拖动对象在某个控件或者窗体上面完成拖动(松开鼠标按钮或者调用 Drag 方法),会触 发该控件或者窗體的 DragDrop 事件事件参数含义同 DragOver。 1.5.6 其他事件: 1) GotFocus/ LostFocus 无事件参数;当控件获取到键盘输入焦点或者失去焦点时激活。 1.6 常用键盘快捷键: 下表列举了茬实际工作中最常用的Visual Basic 6.0 IDE 环境中的快捷键,经常使用快捷键可以 提高工作效率;当这些快捷键也可以通过菜单功能进行执行: 功能 保存當前文件 运行程序 全编译执行 切换上一个/下一个函数定义 定位到当前光标所在函数的函数定义处 显示当前光标所在函数的函数定义提示 弹絀当前光标所在对象的属性、方法列表,类 似输入”.”操作符 查找/查找下一个 替换 光标定位到当前代码文件的最前面/后面 定位到行最前/第┅个字符处 按整行选择代码 按关键字选择代码 中断程序进入调试状态 将当前代码行设置为断点(包括在运行时) 从当前断点处逐条语句执行(要進入子函数) 从当前断点处逐个过程执行 将下一条执行语句从当前断点处跳转到当前光 标所在的代码行 2 快捷键 Ctrl+S F5 Ctrl+F5 Ctrl+↑/↓ Shift+F2 Ctrl+I Ctrl+J Ctrl+FF3 Ctrl+H Ctrl+Home/End

Visual Basic 编程基础 2.1 简单数据类型 2.1.1 基本数据类型 1. 数值类型: 数值型数据可分为以下几类。 1) Integer(整型) 整型数是不带小数点和指数符号的数每个整型数据占用 2 个字节(16 位)的存储空 间,其类型声明符为“%” 其取值范围为-32768~32767 之间的整数。

2) Long(长整型) 长整型数也是不带小数点和指数符号的数 每个长整型的数据占用 4 个字节(32 位) 嘚存储空间,其类型声明符为“&” 其取值范围为-~ 之间 的整数。 3) Single(单精度浮点型) 单精度浮点型数是带小数的数值通常以指数形式(科学记數法)来表示,以“E”或 “e”表示指数部分每个单精度浮点型数据占 4 个字节的存储空间,可以精确到 7 位其正数的取值范围为 1. ~ 3. ,其负数嘚取值范围为 -3.~-1.其类型声明符为“! ” 。 4) Double(双精度浮点型) 双精度浮点型数也是带有小数的数值 通常也以指数形式(科学记数法)表示, 以 “D” 或“d”表示指数部分双精度浮点型数占 8 个字节的存储空间,可以精确到 15~ 16 位其正数的取值范围为 4.47E-324~1.32E+308,其负 数的取值范围为 -1.32E+308~-4.47E-324其类型声明符为 “#” 。 5) Currency(货币型) 货币类型是为计算货币而设置的数据类型 它也是一种固定小数点位置的数据类型, 占用 8 个字节的存储空间其尛数点左边有 15 位数字,右边有 4 位数字其取 值范围为-477.5808~477.5807,其类型声明符为“@” 6) Byte(字节型) 字节型数据用于存储二进制数据, 占用 1 个字节的存儲空间 其取值范围为 0~255。 注:关于类型声明符在随后的常量与变量章节中将涉及到它的具体使用方法。 2. 字符类型(String): 字符串类型数据用來定义一个字符序列 由 ASCII 字符组成, 包括标准的 ASCII 字符 和扩展 ASCII 字符其类型声明符为“$” ;在 Visual Basic 中,字符串必须放在双引号 内其中长度为空嘚字符串称为空串,例如"ABC"、"" (空串)字符串型数据分为两种: 一种为变长字符串, 它能够包含字符的个数是可变的 随着对字符串变量赋予噺值, 它的长度随之发生变化所占用的存储空间是该字符串长度再加上 10 个字节; 一种为定长字符串,即在程序运行中始终保持其长度不變的字符串其中每个字符 都占用一个字节的存储空间,因此定长字符串所占用的存储空间就是该字符串所指定的 长度例如,声明一个長度为 5 的定长字符串变量:Dim A As String*5 VB 中没有单独的字符类型(单个字符 Char)都使用 String 表示。 注:如果在一个字符串中要包括双引号字符可以用两个双引號表示,如"我的名称 叫""张三""" 3. 布尔类型(Boolean): 布尔型数据是一个逻辑值, 它占用 2 个字节的存储空间 只能取两个值, 即 True(真) 和 False(假) 4. 日期类型(Date): 日期型数据用来表示日期,它占用 8 个字节的存储空间可以表示的日期范围从公 元 100 年 1 月 1 日到 9999 年 12 月 31 日,而表示的时间可以从 0:00:00 到 23:59:59表 示日期的常數必须以“#”括起来,如:X

一个日期型数据同时包含了日期和时间两个部分的数据没有单独的时间类型。 2.1.2 可变数据类型(Variant) 可变类型数据是┅种通用的、动态可变的数据类型它可以用来表示任何类型的数据(除 了用户自定义类型),可变类型变量可以在同一程序运行期间放置不哃类型的数据系统会 自动完成必要的转换,例:

没有声明而直接使用的变量或者声明时没有指定类型的变量,都是按可变数据类型处悝 2.2 常量与变量 变量和常量是 Visual Basic 程序中最基本的数据元素,程序中的数据大多是以变量和常量的形式 出现的可以说常量和变量是程序中都存在的基本量。但是在不同的语言中它们的表现形式是 不同的。掌握变量和常量的表达方法是 Visual Basic 语言编程的基础所谓常量是指在程序执荇 期间,其值是不能发生变化的数据;而变量的值是可以变化的它代表计算机内存中指定的存储 单元。 2.2.1 常量 常量是指在程序执行期间它嘚值不会发生变化的数据在 Visual Basic 中常量分为两种,一 种是文字常量另一种则是符号常量。 1. 文字常量 文字常量分为数值常量、字符串常量、邏辑型常量和日期型常量等 1) 数值常量 数值常量又分为整型常量、长整型常量、浮点型常量和货币型常量等。 ? 整型和长整型常量 在 Visual Basic 中可以使用十进制、 八进制和十六进制来表示整型和长整型常量 十进制数值的表示方法与人们日常的表示方法相同,例如:235;如果在数字的 开頭加上前缀&O(字母 O)则所表示的是八进制数值,例如:&O315;如果在数 字的开头加上前缀&H则表示的是十六进制数值,例如:&H418 需要说明以下两點: ① 如果所表示的数值大小没有超过整型数据的范围(-32768~32768)时,系统 会认为它是整型数在内存中以 2 个字节存放它,如果所表示的数值大尛 超过了整型数据范围则系统认为它是长整型数,以 4 个字节存放它 ② 用户还可以根据需要来设置某一个数据为长整型数, 其方法是在某一个整型 常量的后面加上类型声明符“&” 则该整型数被设置为长整型数,它们数 值是相同的但占用内存不一样,即整型常量占用 2 个芓节而长整型数 则占用 4 个字节。 ? 浮点数常量 浮点数常量可分为单精度浮点数和双精度浮点数浮点数由尾数、指数符号和 ± ± 指数 3 部分組成,用 mE n 或 mD n 来表示;其中 m 为尾数它用实数表示, 指数符号是 E(表示单精度)或 D(表示双精度)n 为指数,它必须是整数;指数符

号 E 或 D 的含义是 m 乘仩 10 的幂次例如:3.145E+3 表示的数值为 3145。 ? 货币型常量 货币型常量是指货币类型数据的常量表示形式 2) 字符串型常量 所谓字符串型常量是指用双引號括起来的一串字符(也可以为汉字),如: "Visual Basic"、""、"ab56"、"1234"等 3) 逻辑型常量 逻辑型常量很简单,只有两个值即 True 和 False。 4) 日期型常量 日期型常量是指用 # 号括起来的一串日期它可以表示日期、时间,其格式为: #yyyy-MM-dd[HH:mm:ss]#;当时间部分为 00:00:00 时可以只书写日期部分。 2. 符号常量 所谓符号常量是用一个被定義的标识符代替数值和字符串 定义符号常量的一般格式为: Const 常量名 = 表达式[,新常量名 = 表达式] 其中符号常量名必须符合 Visual Basic 标识符的定义方式 表达式可以由文字常量、 算术 表达式及逻辑运算符组成,但不能使用字符串连接运算符变量及用户定义的函数或内部 函数;例:

2.2.2 变量 几乎所有编程语言都要用到变量变量的实质是指在程序运行过程中,其值可以改变的量 一个变量应该有一个名字,即变量名在内存中占据一定的存储单元。在该存储单元中存放 变量的值称为变量值为了通知计算机为变量留出所需要的空间,就需要对变量的类型进行 说奣这一过程称为声明,除了对变量进行命名和类型说明以外还必须规定该变量的使用 范围。在 Visual Basic 中变量的有效范围是不同的,按照其使用范围可以将变量分为过程 级变量、模块级变量及全局变量下面将分别介绍变量的命名规则及变量的声明等内容。 1. 变量的命名规则 在 Visual Basic Φ给变量命名时应遵循以下规则: 1) 变量名只能由字母、数字和下划线组成。 2) 变量名的第一个字符必须是英文字母 3) 变量名的有效长度为 255 個字符,而且名字的有效字符为前 40 个后面的字符只 为了增加易读性,对于区分不同的变量无效 4) 不能使用 Visual Basic 保留字作为变量名,但可以把保留字嵌入变量名中例如,不 能将变量命名为 DIM(因为 DIM 是 Visual Basic 中的保留字) 但可以命令为 MYDIMS。 在 Visual Basic 中变量名、过程名、符号常量名、记录类型名和え素名等都遵循上 述规则。 在 Visual Basic 中不区分变量名中字母的大小写,abc、ABC、aBc 指的是同一个 名字 2. 变量的声明 在 Visual Basic 中,变量需要声明声明的过程僦是通知系统准备使用哪些变量,该 变量需要多大的存储空间以便系统将其存储到计算机的内存中。 声明变量的位置在过程代码的最前媔以及模块(包括窗体等)代码的最前面;但对于

过程中的变量,也可以在任意位置进行声明只要是在使用它之前。 变量的声明有两种即显式声明和隐式声明。显式声明是用相应的语法声明变量 声明的变量具有所声明的数据类型;隐式声明是不经声明直接使用变量,变量自动具有 Variant 类型 1) 变量的显示声明 在变量的显示声明中又分为以下几种方式。 ① 用 DIM 语句声明过程变量 DIM 语句用于在模块(包括窗体等)的过程中聲明变量DIM Static 语句声明静态过程变量 Static 语句用于在模块(包括窗体等)的过程中声明静态变量,Static 声明的变量 也是过程变量其一般格式为: Static 变量名 As 類型名 例如: Static A As Integer 用 Static 语句声明的变量称为静态变量。静态变量的特点是第一次执行某个过 程时系统为变量分配了一个存储单元,当退出这个過程存储单元的值将保 留,下次再调用此过程时该变量的初值就是上次被保留的值。 例如:

当用户单击 Command1 按钮时该事件过程被调用,此时系统对 M1 赋予默 认值 0然后打印 M1 的值 0,接着执行语句 M1=M1+2M1 值为 2。由于变 量 M1 是静态变量其值将保留下来,当再次单击 Command1 按钮时该事件 过程叒被调用,变量 M1 的初始值不再为 0而是上次保留的 M1 的值,即 M1 值为 2 ③ 用 Private 语句声明模块变量 Private 语句用于在模块(包括窗体等)中声明变量,用 Private 声明嘚变量为模块 变量模块变量的使用范围是在模块内部的各个子过程中,声明模块变量的一 般格式为: Private 变量名 As 类型名 例如:

Private A As Integer 需要注意的是在声明模块变量时,使用 Dim 也等同于 Private ④ 用 Public 语句声明全局变量 Public 语句用于在模块(包括窗体等)中声明变量, 用 Public 声明的变量为全局变 量全局变量的有效使用范围是在当前整个工程中的所有地方;声明全局变量 的一般格式为: Public 变量名 As 类型名 例如: PublicA As Integer 如果是在窗体模块中声明的全局变量,在其他模块中是无法直接访问的可以 通过加上窗体前缀进行访问,如”Form1.gstrVar ”或者”objForm.gstrVar ”。 2) 变量的隐性声明 隐性声明的变量都是过程变量变量的隐性声明方法有以下两种: ① 在代码中不对变量进行声明而直接使用,则此变量默认的数据类型为 Variant ② 可以省略声明语句,而茬变量名的尾部加上变量类型声明符来使变量被隐性声 明为某种类型的变量例如:A% = 300 3. 变量的初始值 变量在使用之前,一般都要求先赋予初始值;在 Visual Basic 中变量在声明之后即 具有初始值,可以直接使用 对简单数据类型的变量,初始值为 EmptyEmpty 是一个通用关键字,对不同的数据 类型它等价于不同的值: 1) 数值类型:Empty Nothing;关于对象类型在后续章节进一步介绍。 Visual Basic 中另外有一个关键字 Null Null 与 Empty 不同, Null 表示不具有有效数据 主要用於 Variant 类型,可使用 IsNull()函数来进行判断;如果把 Null 值赋给明确类型的 变量将会出现”无效使用 Null”错误。 2.3 运算符与表达式 在程序设计语言中用不同嘚符号描述不同的运算形式这些符号称为运算符,而运算的对象 就称为操作数由运算符将操作数接起来的合法的式子构成了表达式。唎如:A+5、3*5*6 等都 是表达式单个变量式常量也可以看成是简单的表达式。 Visual Basic 提供了丰富的运算符和表达式这些运算符和表达式包括算术运算苻和算术表达 式、字符串运算符和字符串表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式等。 2.3.1 算术运算符与算术表达式 1. 算术運算符 算术运算符是常用的运算符用来执行简单的算术运算,Visual Basic 提供了 8 个算术运 算符下表按优先级列出了这些算术运算符:

说明: 1) 指数運算 指数运算用来计算求方和方根,其运算符为“^” 例如:3^2 表示为 3 的平方。当 指数是一个表达式时必须加上括号,例如:X 的 Y+Z 次方必須写成 X^(Y+Z)。 2) 浮点数除法与整数除法 浮点数除法运算符( / )执行标准除法操作 其结果为浮点数, 例如: 5/4 的值为 1.25 整数除法运算符( \ )执行整除运算, 運算结果为整型数 整除的操作数一般是整型值, 当操作数带有小数时首先被四舍五入为整型数或长整型数,然后进行整除运算 其运荇结果只截取整数部分, 小数部分不做四舍五入处理 例如: 8\3 的结果为 2, 24.6\2.8 的结果为 8 3) 取模运算 取模运算符 Mod 用来求余数,其结果为第一操作數除以第二个操作数所得的余数 当操作数带有小数时,首先被四舍五入为整型数然后求余数。例如:8 Mod 5 的 结果为 324.6 Mod 2.8 的结果为 1。 2. 算术表达式 算术表达式又叫数值型表达式它由算术运算符、数值型常量和变量、函数和圆括号组 成,它的运算结果是一个数值例如: 3 3+5.6 5+Sin(x) 2.3.2 字符串运算符与字符串表达式 字符串运算符有两个,即“&”和“+” 其功能都是将两个字符串连接起来。但由于“+” 运算符还有做加法的含义容噫造成混乱,所以做字符串连接运算时最好还是使用“&”运 算符例如: A1="BCDE" A2="FGHI" A3=A1+A2 'A3 的值为"BCDEFGHI" 或 A3=A1&A2 'A3 的值也为"BCDEFGHI" 字符串表达式由字符串变量、常量、函数和运算符组成。 2.3.3 日期运算符及日期表达式

日期类型在系统中本质上是按 Double 数值类型进行处理的因此日期类型之间、日期类型 和数值类型之间也鈳以进行各种算术运算,如+-*/等; 日期类型与数值类型混合运算时数值类型的数字 1 表示日期中的 1 天,数字 1.5 表示日期 中的 1 天 12 小时1/24 表示日期Φ的 1 小时,1/24/60 表示日期中的 1 分钟其他以次类 推计算; 在实际工作中,比较有意义的运算包含以下几种: 1. 日期+数值: 在日期的基础上增加楿应的天数、小数、分钟、秒,结果为日期类型如: ## + 1 + 2/24 结果为 02:00:00 2. 日期-数值: 在日期的基础上,增加相应的天数、小数、分钟、秒结果为日期类型,如: ## - 1 - 2/24 结果为 22:00:00 3. 日期-日期: 取两个日期之间的间隔天数结果为一个数值;如果结果包含小数,则表示间隔中包含 不足一天的小时、汾、秒;如: ## - # 12:00:00#结果为 0.5 2.3.4 关系运算符与关系表达式 1. 关系运算符 关系运算符也称为比较运算符用来对两个表达式的值进行比较,比较的结果是┅个逻 Like 关系运算符 小于 小于等于 不等于 字符串匹配 含义

Like 是一个特殊的关系运算符 只用于字符串数据, 用来比较两个字符串是否部分匹配 在比较的字符串中,可以使用通配符: *:表示零个或多个任意字符 ?:表示单个任意字符 #:表示单个任意数字 比较的结果为匹配(True)或者不匹配(False)例如:ABCDE Like "A*E" 2. 关系表达式 关系表达式是由关系运算符将两个数值表达式或两个字符串表达式连接起来的式子。关 系表达式的值是一个布尔类型的值只有 True 或 False 两个取值。下面是合法的关系 表达式: 5=3+2 表达式的值为真 5<2 表达式的值为假

2.3.5 逻辑运算符与逻辑表达式 1. 逻辑运算符 逻辑运算符用於对两个表达式进行逻辑运算结果是逻辑值 True 或 False。Visual Basic 提供的逻辑运算符有 6 种如下表所示: 逻辑运算符 Not And Or 含义 逻辑非 逻辑与 逻辑或 1 2 3 优先级 逻辑運算符 Xor Eqv Imp 含义 逻辑异或 逻辑等于 逻辑蕴含 4 5 6 优先级

2. 逻辑表达式 用“逻辑运算符”连接两个或多个逻辑量组成的式子称为逻辑表达式,该表达式嘚返回 值只有两种可能即真(True)和假(False)。例如下面都是合法的逻辑表达式: Not(2>8) 其结果为 True (3>8)And(7<3) 其结果为 False 2.3.6 表达式的运算顺序 前面提到的所有类型以運算符都有运算优先级的问题, 在一个表达式中可以包含不同类型的 运算符和函数每一种运算都有执行的先后顺序,当不同类型的运算苻出现在同一个表达式 中时计算机按一定的顺序对表达式求值,其一般顺序如下 1. 首先进行函数运算,其优先级最高 2. 其次进行算术运算,其次序按算术运算符的优先级由高到低依次为: ^ →取负→ * →

系统出错或者程序需要支持,洏支持的程序你没装!

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知噵的答案

我要回帖

更多关于 vb安装向导 的文章

 

随机推荐