首页 vb6[1].0教程

vb6[1].0教程

举报
开通vip

vb6[1].0教程 VB 教程:序言-不再游戏 我们需要什么 我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具 软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一 个门外汉,那实在是一件可望而不可及的事情。如果运用基于 DOS 下的编程语言,譬如 C、 Qbasic、Pascal 等等,真不知何年何月才能有所成就。 编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮...

vb6[1].0教程
VB 教程 人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程 :序言-不再游戏 我们需要什么 我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具 软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一 个门外汉,那实在是一件可望而不可及的事情。如果运用基于 DOS 下的编程语言,譬如 C、 Qbasic、Pascal 等等,真不知何年何月才能有所成就。 编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程, 这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但 在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不 局限于那些头脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程 序,想象力的充分发挥才是第四代语言的精粹。 Visual Basic(以下简称 VB)可以说是可视化语言的先驱了,而且它也是可视化程度最 高的一个,从几年前 VB 诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧 张的进行着 VB6.0 的研制、测试,这么高的更新率,不外乎说明两个问题:用户对 VB 的热 衷,微软对 VB 的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、 财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如 IE 之于浏览器领域,《帝国时代》之于游戏都是最好的例证。对于 VB 现在也有一个很强的 竞争对手――Delphi,有人把它称作 VB 杀手,这显然有偏激之处,VB 的确有它的不足之 处,但 Delphi 又何尝不是呢,而且以微软对 VB 的倾心,VB 的功能必然会越来越强大。 VB 的诞生 VB 的出现可以说是 Microsoft Windows 的日渐成熟的必然产物。Microsoft Windows 为 程序员和最终用户提供了一个共同的人机界面。对用户,Windows 提供了一个图形鼠标的操 作环境,该环境对所有的应用程序都一样;对于程序员,Windows 提供了一组预定义工具---- 称之为 Microsoft Windows 的软件开发工具箱(SDK),该工具能使程序员建立一个与 Windows 界面相同的应用程序,而且,程序员不必关心最终用户的硬件配置情况。在这一开 发环境中,程序员唯一困难的是 Microsoft SDK 提供了六百多个函数和与其一致的事件驱动 (event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅 要掌握程序驱动编程技术和六百多个函数的功能,而且还得用 C 语言描述这些问题。因此 一般情况下,程序员首先要掌握 C 程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 技术,而后再开始学习 SDK。这样的条件下就 要求在 Microsoft 多任务环境下出现一种操作方便,使用简单的新工具----Visual Basic 由此诞生。 何为可视 英文 Visual 的意思是“视觉的”,“可视的 Baisc”这个名字可能抽象了点,但实际上它 却是最直观的编程方法,之所以叫做“可视”,你只要看到 VB 的界面就会明白,实际上你 无需编程,就可以完成许多步骤。在 VB 中引入了控件的概念,在 Windows 中控件的身影 无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB 把这些控件模式化, 并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样, 随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。 我的希望: 我在学习 VB 的过程中也曾遇到了许多困难,而且用的参考书大都来自译文,毕竟美国 人和中国人的表达方式有所不同。这也造成了理解上的困难,所以我想为什么我不能写一个 给中国人看到 VB 教程呢,于是我这么做了。也曾经在杂志上发表过几篇用 VB 制作小程序 的文章,但受杂志的限制(篇幅、内容等等)(我得听小编的),总没有一个机会系统的介绍 一下 VB,造成了小小的遗憾。不过,我自己的主页建好后,终于这个愿望可以实现了,利 用 HTML 可以方便的把文字与图片结合起来,不失为一个教学良所,也希望能够得到大家 的支持。 希望“VB 教程”能给你我一个互相学习的机会,如果你能从中获益那将是我最 大的快乐,那时你一定会发现编程比游戏有趣得多。:) VB 教程:第一章-Hello World! 文章来源:vb 大世界 没学过编程的人常常会问,编程难不难,这个问题很难回答。难,的确很难,要编一个 好的程序尤其是这样,并且有些程序还要用到一些其他专业的知识,比如说一个图形处理程 序,就要对图像的格式有所了解,甚至一些美术知识;但编程也很容易,就拿 VB 来说,编 一个自娱自乐的小工具还是一件相当惬意的事情呢,当然它没法完全代替人工,譬如说完成 你的家庭作业、向学校发射导弹…… 作为第四代计算机语言,VB 的特点是显而易见的。因为是“可视的”所以我们不妨先 看看 VB 的界面(图 1_1)(我用的是 VB4.0 32 位版),很容易可以看到,屏幕上有五个窗口, (1)是菜单栏;(2)是工具箱(Tools Box),里面是 VB 所需的控件;(3)是 VB 程序要设 计的窗体(Form);(4)控件及窗体的属性(Properties),在 VB 中每一个控件都有其自己 的属性,比如文本框有 Text 属性,而任何一个控件都有一个自己唯一的名字,这使得我们 无需编程就可以完成部分编程的工作;(5)是 VB 的文件控制窗口,VB 的每一个程序称为 一个项目(Project),一个项目文件里往往包括以下两种文件,窗体(Form)文件和模块(Bas) 文件,当然还有 Class 文件,这些文件组成一个完整的程序,而项目文件(Vbp)则用来描 述程序所包含的内容。 实际上,我一直认为学习的最好方法就是实际操作一下,好,下面我们就来看一个最简 单的程序,和所有的编程教科书一样,我们把第一个程序称为“Hello,world!”。 首先,我们先来熟悉一下窗体。如果你用过 Win95 附件所带的画图板的话,那么你一 定会很快熟悉 VB 的窗体设计方法,用鼠标单击一下工具箱中的任何一个控件,然后在窗体 上任意拖动鼠标,你就会得到一个所需的控件;当然还有其他的方法得到控件,你可以在工 具箱上双击得到一个控件;或是按住 Ctrl 键,再单击所需控件,重复第一次的步骤,你会 发现,不用再回去点击工具箱了,点右键可以恢复鼠标指针,这样对于重复画同一个控件尤 其有用。 对于我们的第一个小程序,知道这些就已经足够了。现在你可以在我们的窗体上画如下 控件一个图片框(Picture Box) ,用来显示图画,每一个控件建立的时候,系统都会给它 设一个默认的名字(Name),这个 PictureBox 的名字就叫做 Picture1,为了方便起见,我们以 后的控件都使用缺省的名称。选定 Picture1,在左边的属性窗口中找到 Picture 属性,单击会 出现 ,点击 为 Picture1 选一个图像文件,VB 支持的图像文件有 BitMap、WMF、ICO 三 种,微软为用户提供了一套图标文件,存放在 VB 目录的 Icons 目录下,选择 Icons\misc\face01.ico 文件,这样图标就被装入了 Picture1。再选择 Pictrue1 的 Autosize 属性, 设为 1-True,则会发现 Picture1 以变成和图像一样大了;把 BorderStyle 定为 0-None,去掉 图片边框。用同样的方法再添加两个图片框:Picture2(Picture:face02.ico),Picture3(Picture: face03.ico)。 图片框完成了,第二步,建立三个无线钮(Option Button) ,由于它象收音机的无线 电按钮而得名),把它们的标签名属性(Caption)分别定为“悲哀”,“高兴”,“没治了”, 放置成图 1_2 的样子。 最后我们还需要三个文本框(Text Box) ,分别把它们的 Text 属性设为””(空字符串), 程序的最后界面如图 1_3,这样按下菜单窗口的运行按钮,运行一下程序,还可以吧,不过 现在程序还无法工作,就算是 VB 也不能免俗,还必须输入代码才能使程序运作。 VB 是一门典型的面向对象编程的语言,它的整个程序都是由事件驱动的。那么,什么 是事件呢?其实,我们的生活中充满了各式各样的事件,比如说“闯红灯”这个事件的发生 会导致被警察追杀、走路撞到电线杆时会痛。上面的例子虽然有些滑稽,但它可以清楚的解 释事件的含义,就象你马上就能体会到的在什么地方单击鼠标时会发生什么,按下键盘时会 发生什么,这就是事件,而事件就是这么容易。 要进入 VB 的代码设计区,只需在需要的控件或窗体上双击鼠标即可得到这样的窗口。 如图 1_4,每一个 VB 程序都由若干小程序组成,这使得用 VB 编程更加容易,这些小程序, 分为“过程”(Procedure)和“函数”(Function),二者都可以传递参数,所不同的是函数 有一个返回值,而过程没有,仅此而已。 双击窗体的任何一个部分,将出现一个空的过程:“Form_Load()”,这是一个非常重要 的过程,它所驱动的事件就是该窗体被加载的事件,打个比方,就象计算机启动时的批处理 程序(Autoexec.bat)。 这个程序里我们要对控件进行一些设置。我们刚才也曾对控件进行 设置,但那是在程序设置中进行的,有时我们也需要在程序中改变某些控件的属性,通过程 序代码。VB 中规定,一个控件属性的访问方法:名称.属性,于是我们对本程序的控件进行 如下设置: Private Sub Form_Load() Picture1.Visible = False Picture2.Visible = False Picture3.Visible = False Text1.Visible = False Text2.Visible = False Text3.Visible = False End Sub Private 表示此过程是局部的,Sub 表示子过程的开始,与之相对的是 End Sub 表示过程 的结束,Visible 属性表示控件的可见性,这个属性的值有两个 True 和 False。 注意: VB 里对大小写是不加区分的,而且,已定义的名称,以后再用到时,系统会自动把它变成 相应的大写或小写。 小知识: 1.VB 里的对变量及常量的规矩。 变量一般为 Abc 的格式,常量为 ABC,另外这些变量和常量名不得同 VB 内的关键字 相同,也不可以使用一些特殊符号,这些我们将在以后介绍,注意在学习中养成好习惯,使 程序便于自己和别人的浏览。 2.程序书写的窍门: 不要真的一句一句把程序打完,利用快捷键:拷贝 Ctrl+C,剪切 Ctrl+T,粘贴 Ctrl+P。 按下 F5,运行一下程序,现在发现只剩下无线钮了。如图 1_5。 Private Sub Form_Load() Picture1.Visible = False Picture2.Visible = False Picture3.Visible = False Text1.Visible = False Text2.Visible = False Text3.Visible = False Option4.Left = -2000 Option4.Value = True End Sub Left 属性表示控件离窗体左边框的距离,设置为-2000,则在窗体内不会看到这个控件,并 使之 Value=True。再运行程序,一切如愿,如图 1_6. 注意:为什么不用 Option4.Visible=False? 因为,一旦设置无线钮为不可见,那么再使它的 Value 为真是没有意义的,不信自己试试。 下面我们可以继续进行了。在刚才的代码窗口里,将 Object 选择为 Option1,Proc 选择为 Click,即得到一个 Option1_Click 的过程。代码如下: Private Sub Option1_Click() Picture1.Visible = True Picture2.Visible = False Picture3.Visible = False Text1.Visible = True Text2.Visible = False Text3.Visible = False Text1.Text = "再见,残酷的世界。" End Sub 相同的建立 Option2_Click 和 Option2_Click: Private Sub Option2_Click() Picture2.Visible = True Picture1.Visible = False Picture3.Visible = False Text2.Visible = True Text1.Visible = False Text3.Visible = False Text2.Text = "今天心情不错。" End Sub Private Sub Option3_Click() Picture3.Visible = True Picture2.Visible = False Picture1.Visible = False Text3.Visible = True Text2.Visible = False Text1.Visible = False Text3.Text = "Hello,World。" End Sub 好,我们的开山之作完成了!按下 F5,玩一下吧。这个程序虽然简单,但也用到了许多基 本知识,你开始感兴趣了吗?^_^ VB 教程:第二章-事件、属性及数据类型 文章来源:vb 大世界 以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好 VB,我们一定要打好 基础才行。 一、事件 通过上一章的例子,你可能对“面向对象的编程”已经有了一定了解,它是由事件驱动 的,对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会 触发 MouseMove 事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般 的事件进行一下解释。 1. 窗体和图象框类事件 Paint 事件:当某一对象在屏幕中被移动,改变尺寸或清除后,程序会自动调用 Paint 事件。 注意:当对象的 AutoDraw 属性为 True(-1)时,程序不会调用 Paint 事件。 Resize 事件:当对象的大小改变时触发 Resize 事件。 Load 事件:仅适用于窗体对象,当窗体被装载时运行。 Unload 事件:仅适用于窗体对象,当窗体被卸载时运行。 2.当前光标(Focus)事件 GotFocus 事件:当光标聚焦于该对象时发生事件。 LostFocus 事件:当光标离开该对象时发生事件。 注意:Focus 英文为“焦点”、“聚焦”之意,最直观的例子是,比如有两个窗体,互相有一 部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态,并且标 题条变成蓝色,这就是 GotFocus 事件,而相反,另外一个窗体被遮盖,并且标题条变灰, 称为 LostFocus 事件。上面所说的“光标”并非指鼠标指针。 3.鼠标操作事件 Click 事件:鼠标单击对象。 DbClick 事件:鼠标双击事件。 MouseDown、MouseUp 属性:按下/放开鼠标键事件。 MouseMove 事件:鼠标移动事件。 DragDrop 事件:拖放事件,相当于 MouseDown、MouseMove 和 MouseUp 的组合。 DragOver 事件:鼠标在拖放过程中就会产生 DragOver 事件。 4.键盘操作属性 KeyDown、KeyUp 事件:按键的按下/放开事件。 KeyPress 事件:按键事件。 5.改变控制项事件 Change 事件:当对象的内容发生改变时,触发 Change 事件。最典型的例子是文本框 (TextBox)。 DropDown 事件:下弹事件,仅用于组合框(ComboBox)对象。 PathChange 事件:路径改变事件,仅用于文件列表框(FileBox)对象。 6.其他事件 Timer 事件:仅用于计时器,每隔一段时间被触发一次。 二、属性 每个对象都有它的属性,并且“Name”属性是共有的,有了“Name”属性才可以在程 序中进行调用。对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取 决你的需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的实例中具体介 绍各个属性的作用。 三、数据类型 学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB 也不例外。其实, 在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但 是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而 导致程序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数 据的另一个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占 2 字节, 而长整型数据占 4 个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存! 1. VB 常用的数据类型有:整型(Integer,表示-32768 至 32767 之间的整数)、长整型(Long, 表示-2,147,483,648 至 2,147,483,647 之间的整数)、实型(Single,表示-3.37E+38 至 3.37E+38 之间的实数)、双精度实型(Double,表示-1.67E+308 至 1.67E+308 之间的实数),字符(String, 每个字符占一字节,可以储存 0~65,535 个字符),布尔(Boolean,只有两个值 True/-1,或 False/0)。 2. 数据类型的定义方法: 定义变量最简单的方法是用“Dim”关键字,它的语法: Dim 【变量名】As 【数据类型】 如:Dim Index As Integer 也可以在一行中定义多个变量,如: Dim Index As Integer , Dim Number As Long 把多个变量定义成同一类型可以写成: Dim Index , Number As Integer 有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“%”代替, 长整型可以用“&”代替,实型可以用“!”,双精度实型可以用“#”定义,如刚才的第一 个例子可以写成: Dim Index% 等价于 Dim Index As Integer 对于常量的定义用 Const 定义,如:Const COLOR=255。 为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则 全部大写。 注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便, 其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。 数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如: Dim IntegerArray(99) As Integer 这个数组中包含 100 个元素,脚标从 0 到 99。 也可以指定脚标的起始值,例如: Dim IntegerArray(2 to 10) As Integer 这个数组含有九个元素,脚标从 2 到 10。 还可以定义多维数组: Dim ThreeD(4,2 to 5,3 to 6) As Integer 上例定义了一个三维数组(4×4×4)。 记录的定义 记录定义是把控制权交给用户的方法,它让用户可以定义自己的数据类型,它使用关键字 “Type”,方法是: Type 【数据类型标识符】 <域名> As <数据类型> <域名> As <数据类型> <域名> As <数据类型> ………………………… End Type 例如,定义一个地址数据: Type Address Street As String ZipCode As String Phone As String End Type 这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型: Dim MyHome As Address 要调用或改变“MyHome”的值时,类似于对对象的属性的操作: 变量名.域名=“……” 为了简化书写重复的部分,可以用关键字“With”: With MyHome .Street=”阜成路” .ZipCode=”100037” .Phone=”12345678” End With VB 教程:第三章-VB 语言 文章来源:vb 大世界 一、VB 与 Basic VB 之所以叫做“Visual Basic”就是因为它使用了 Basic 语言作为代码,所以它们之间有着 千丝万缕的关系,如果学过 Basic 的话,看到 VB 的程序结构会感到很亲切。但 VB 作为新 生物,也超越了 Basic 的限制,有了许多自己的特点: VB 建立了一种新的变量类型――货币型变量,通过使用仅带有二位小数的货币变量,就能 避免因使用实型变量而带来的数值积累误差问题。 VB 在调用函数(Function)时,必须在函数名后跟一对括号。 VB 对白兰地使用范围重新做了规范,在 Basic 里把隐含变量都当作全局变量,而在 VB 里 对隐含变量都当作局部变量。 VB 里的说明语句(Declare),仅支持动态链结库(DLL)的子程序和无变量函数。 使用数组,必须事先用 Dim 或 Redim 进行定义。 二、注释语句 在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序 的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后 注释语句将是我们在编程里最经常用到的语句之一。 在 VB 里,注释语句有两种,一种是用“Rem”关键字,这跟 DOS 里的批处理文件的用法 一样,还有一种是利用单引号“’”,例如: ‘Dim a As String 与 Rem Dim a As String 的作用是一致的。 三、长语句的分行 在比较早的版本中,因为没有象 C 等语言用“;”隔开语句与语句,VB 的语句是必须写在 一行里的,不过后来版本的 VB 里如许用分行符“_”把一个长语句分成若干行来存放。 四、条件语句 如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环, VB 自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩 罢了。 在条件语句里,我们先来学习“If……Then……”语句。 它的一般语法是: If <条件> Then <语句> <语句> ……… End If 与 C 语言不同,VB 的条件语句更符合英语的语法,如果 Then 后面所跟的语句只有一条, 可以写成: If <条件> Then <语句> 而不用 End If。 有时我们还会用到 If <条件> Then <语句> Else <语句> End If 更可以在 Else 里在嵌套 If 语句,如: If <条件> Then <语句> Else If <语句> Else <语句> End If 所有这些可以用一个 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 表示: 条件 1 True False 语 句 1 条件 2 True False 语 句 2 条件 3 True False … … … ……………………… 条件 N True False 语句 N 语句 N+1 用了过多的Else后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有Select 语句帮助解决这个问题。 VB 里的 Select 语句的格式是这样的: Select Case <变量名> Case <情况 1> …… Case <情况 2> …… Case <情况 3> …… …… …… Case Else …… End Select 例如: Select Case a% Case 1 Print “a=1” Case 2 Print “a=2” Case Else Print “a does not equal to 1 or 2.” End Select 五、循环语句 循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用, 还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句 输入多次,而通过循环结构完成,非常方便。 C 语言里有一个“for”循环语句,VB 里也有“For”关键字,作用也差不多,只是 VB 的“For” 语句更容易理解。它的格式是: For <循环变量>=<初赋值> To <终值> [Step <步长>] …… …… Next <循环变量> 在默认情况下,Step 被设为“1”,可以省略,Step 也可以设为负值,例如: Dim a=0 For I=1 To 10 a=a+I Next I 这是一个最简单的累加器的例子,把 1 到 10 累加在一起,然后赋值给“a”这样的效果和上 面是一样的,只不过是倒着加罢了,请看: Dim a=0 For I=10 To 1 Step –1 a=a+I Next I While 语句也是一个很常用的循环语句,它的形式很多。 Do While …… Loop 语句 While …… Wend 语句 Do …… Loop While While 后面都跟逻辑条件判断,“Do While …… Loop 语句”和“While …… Wend 语句” 作用相似,都是先判断 While 后面的条件是否为“真”,如果为“真”则执行里面的语句, 如果为“假”,则退出循环,循环直至条件为“假”终止。“Do …… Loop While ”与前两 者的区别在于,它不管条件的真假,都会先执行“Do”后面的语句,也就是说,它至少执 行语句一次。 与 While 用法相似的还有 Until 语句,它是直至条件为真则终止循环,句式把 While 上述三 个语句的 While 换成 Until 即可,但是因为容易记混,所以我建议只用 While 即可。Until < 条件>可以相当于 While Not <条件>。 For 循环和 Whlie 循环应当根据适当的环境使用,它们有时也可替换。 六、运算操作 ? 数学运算 +:加法运算,也适合于字符串的之间的合并运算。 -:加法运算。 *:乘法运算。 /:除法运算。 \:整除运算。 Mod:求余运算。例如:a Mod b 表示 a 被 b 整除以后的余数。 ^:幂运算。A^B 表示以 A 为底的 B 次方。 ? 关系运算 关系运算也称比较运算,它表示不等式的真或假,VB 共提供六种运算符,分别是=(等于), >(大于),<(小于),>=(大于等于),<=(小于等于)和<>(不等于)。 ? 逻辑运算 逻辑运算是对真或假的运算,我将列表说明: A B Not A 非 And 与 Or 或 Xor 异或 Eqv 相等 Imp 蕴含 T T F T T F T T T F F F T T F F F T T F T T F T F F T F F F T T T――True F――False 七、 数据与定义 本标题的内容已经在上一章向大家详述过,在这里就不再重复。 八、函数与过程 函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值, 而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而 VB 中的每个事 件都是一个过程,比如 Command1_Click()就是一个过程。 因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用时进行 调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查 看。函数和过程都可以有参数,也可以没有参数。 关于函数和过程我将在以后的章中配合实例讲解,请您继续留意 VB 教程。 VB 教程:第四章-按钮 文章来源:vb 大世界 从本章开始我们将正式进入 VB 的编程世界,但这还仅仅是个开端,要编出功能强大的 软件,还要学很多东西,那就要看以后的 VB 高级教程了,我也得努力学啊! 按钮是我们在 Windows 操作见到最多的控件,它们有着各种各样的功能:“确认”、“取 消”、“下一步”等等,这些都是按钮的表现,另外还有很多图形话的按钮,其实它们并没什 么不同,所有的按钮都是通过单击(click)事件实现的,只不过是在外表不同罢了。下面就 让我们建立一个最简单的按钮,双击工具箱的 CommandButton,将在窗体上建立一个形如 图 4-1 的按钮,它的缺省名(Name 属性)为 Command1,我们可以把它改名为 cmdExit, 把 Caption 属性设为“退出”,然后双击,按钮填写代码: Private Sub cmdExit_Click() Unload Me End Sub 按下 F5 或者工具条上的播放按钮,运行程序。图 4-2 当你按下退出按钮的时候,就 会自动退出程序,原因是当你单击按钮时激活了它的 Click 事件,执行“Unload Me”语句, 使得窗体被卸载。 上面举了一个比较简单的例子,下面的例子稍微复杂些: 新建窗体,控件布局如图 4-3 所示,包括一个 List 控件,一个 Text 控件和两个按钮 (Command1 和 Command2),(比较简单的程序我们都采用缺省名),对它们属性做如下修 改: List1 Caption=“请输入你的名字” Text1 Text=“”(空字符串) Button1 Caption=“复原” Enabled=False Button2 Caption=“清除” 把使用 Button1 的 Enabled 属性设为 False(假),是使程序在初始时,无法单击 Command1。 按 F5,运行程序,图 4-4,复原按钮成为灰色,不可选。 当然现在程序还什么也不能做,下面我们在程序中添加代码: 首先在 General 里声明全局变量: Dim StoreString As String '用来储存字符串 ※注意:为什么用全局变量? VB 里每一个小过程都相当于一个程序,程序里的变量称为局部变量,是只能在程序内部使 用的,而当程序调用结束后,由于从内存中被清除,所以变量储存的值也就消失了,这里的 全局变量是用来在过程中传递字符串。 接着填写以下代码: Private Sub Command1_Click() Text1.Text = StoreString Command1.Enabled = False End Sub Private Sub Command2_Click() StoreString = Text1.Text Text1.Text = "" '清除 Command1.Enabled = True End Sub 运行程序,如图 4-5。按下“清除”,文本框被清除,按下“复原”,文本有被恢复,许多 程序中的 Undo/Redo 就是利用这个原理实现的,现在知道为什么内存越多越好了吧。 我们在把程序修改一下,把 Button2 删除,Button1 的 Enabled 属性改为 True,Caption 改为 “清除”,填写代码: Private Sub Command1_Click() If Command1.Caption = "清除" Then StoreString = Text1.Text Text1.Text = "" '清除 Command1.Caption = "复原" Else Text1.Text = StoreString Command1.Caption = "清除" End If End Sub 同样可以上面的功能,但是却少用了一个控件,控件使用少的程序启动会快些。 下面的例子要更加复杂些,大家一定都用过 Windows 附件中的计算器,它是一个标准的科 学计算器,利用 VB 我们也可以做到,只是没有那么复杂,四则运算而已。 先建立一个新的项目文件,里面包含一个 Form1 的窗体。然后,添加控件,包括一个 Text 框(Text1),和 17 个按钮,这 17 个按钮使用的名称都是 Command1,只是 Index 属性不同, 就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮(Command1),然后 在 Command1 上击鼠标右键,选择复制(Copy),然后在窗体上任意部位击右键,选择粘贴 (Paste),系统会提示是否创建控件组,选择“是”,重复上面步骤,直至创立 17 个按钮为 止。各控件属性如下表: Text1 BackColor=&H00C0FFFF& Text=“0.” Command1 Index 0――16 Index 0――9 Caption=“0”-“9” Index 10 Caption=“.” Index 11 Caption=“=” Index 12 Caption=“+” Index 13 Caption=“-” Index 14 Caption=“×” Index 15 Caption=“÷” Index 16 Caption=“清除” 如果想改变一些其他的属性,比如字体,可以自己定义一下 Font 属性,如果相对多个控件 的共同属性进行改变,可以在窗体上按下鼠标,拖动,把多个控件一起选定,然后对它们的 共同属性进行修改。 别看这个东西小,还费了近我两个小时呢,不觉大叹手生,里面也有些地方很绕弯子,我尽 量解释清楚。 在编写程序之前,我们先来回顾一下计算器的使用。 1. 按下数字键在液晶屏上会出现数字,这是最基本的功能。 2. 第一次按下运算键,再按下数字键,将重新输入第二个数字,再次按下运算键,将算出 前两个数的结果,然后按下数字键,将又重新输入新的数字。 3. 输入数字后,按下“等于键”将仍输出原来的数字,输入运算符和第二个数字后在按下 “等于”,将得到二者的结果。然后又重复第二、三步。 4. 按下“清除”,数据被全部清除。 了解了这些,我们一步一步实现。 先实现数据的输入,请看代码。 与未创立组的控件相比, 它的事件里多了 Index 参数,组里所有的对象都使用同一个事件。 先在 General 里声明窗体 级全局变量: Dim Num1, Num2 As Single Dim StrNum1, StrNum2 As String Dim FirstNum As Boolean '判断是否是数字开头 因为 Text1 里是存放字符串的,所以要把输入的数据进行运算,必须把字符型变量转变为实 型变量,分别用 Num1、Num2 和 StrNum1、StrNum2 进行存放。 在 Form_Load 事件里给变 量初赋值: Num1 = 0 Num2 = 0 StrNum1 = "" StrNum2 = "" FirstNum = True 因为 17 个按钮使用的是同一事件,所以我们用一个 Select Case 语句区分各个按钮,双击任 意按钮输入代码: Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 To 9 If FirstNum Then StrNum1 = Str(Index)’实型转字符型 FirstNum = False’初赋值为假 Else’非初赋值 StrNum1 = StrNum1 + Str(Index) End If Text1.Text = StrNum1’显示 <还有其他语句,等待插入> End Select End Sub 运行程序的话已经可以输入数据,下面我们来处理小数点。 在 General 里声明新的变量: Dim PointFlag As Boolean '判断是否已有小数点 我们知道小数点只能输入一次,一个数据中不能有多个小数点存在,所以需要一个布尔变量 做判断。 在 Form_Load 里进行初赋值: PointFlag = False 在 Command 的单击事件里接着上面输入新的代码: Case 10 If Not PointFlag Then’如果没有小数点 If FirstNum Then’如果是第一个字符 StrNum1 = "0." FirstNum = False Else StrNum1 = StrNum1 + "." End If Else’已有小数点 Exit Sub’则退出单击事件 End If PointFlag = True Text1.Text = StrNum1 下面会复杂一些,我们先跳过等号,而来处理四则运算: 先在 General 里声明新变量: Dim Runsign As Integer '储存运算符号 Dim SignFlag As Boolean '判断是否已有运算符号 然后在 Form_Load 中进行初赋值: Runsign = 0 SignFlag = False 在接下的 Command1_Click 中继续输入代码: Case 12 To 15 FirstNum = True’使下一次可以输入新数据 PointFlag = False '还原标记值 If SignFlag Then’前面已有运算符未运算 Call Run Else SignFlag = True StrNum2 = StrNum1’把字符串 1 复制给字符串 2 StrNum1 = ""’字符串 1 清空 End If Runsign = Index - 11 ‘储存键入的运算符 里面运算的部分我用了一个过程,是因为在按下等号时还会调用到运算过程,这样可以减少 代码的输入,也使程序便于浏览。建立过程(Procedure),可以在 General 部分直接输入, 也可以通过菜单里的“Add Procedure”添加。Run 的代码如下: Sub Run() Num1 = Val(StrNum2) Num2 = Val(StrNum1) Select Case Runsign Case 1’加 equal = Num1 + Num2 Case 2’减 equal = Num1 - Num2 Case 3’乘 equal = Num1 * Num2 Case 4’除 equal = Num1 / Num2 End Select StrNum2 = Str(equal) StrNum1 = StrNum2 Text1.Text = StrNum2 End Sub 下面是其余的代码:(在 Command1_Click 事件里,接着写) Case 11 If Not SignFlag Then Text1.Text = StrNum1 equal = Val(StrNum1) FirstNum = True PointFlag = False Else Call Run SignFlag = False End If Case Else’清除按钮 Call ClearData 里面又用到了一个 ClearData 过程,实际上就是 Form_Load 里的变量初赋值,代码如下: Sub ClearData() Num1 = 0 Num2 = 0 StrNum1 = "" StrNum2 = "" FirstNum = True PointFlag = False Runsign = 0 SignFlag = False Text1.Text = "0." End Sub 这样完整的程序就完成了,本章介绍了 VB 的第一个控件――按钮,并且举例,希望你继续 看下一章――菜单。 下面给出完整的程序代码: Dim Num1, Num2 As Single Dim StrNum1, StrNum2 As String Dim FirstNum As Boolean '判断是否是数字开头 Dim PointFlag As Boolean '判断是否已有小数点 Dim Runsign As Integer '储存运算符号 Dim SignFlag As Boolean '判断是否已有运算符号 Sub ClearData() Num1 = 0 Num2 = 0 StrNum1 = "" StrNum2 = "" FirstNum = True PointFlag = False Runsign = 0 SignFlag = False Text1.Text = "0." End Sub Sub Run() Num1 = Val(StrNum2) Num2 = Val(StrNum1) Select Case Runsign Case 1 equal = Num1 + Num2 Case 2 equal = Num1 - Num2 Case 3 equal = Num1 * Num2 Case 4 equal = Num1 / Num2 End Select StrNum2 = Str(equal) StrNum1 = StrNum2 Text1.Text = StrNum2 End Sub Private Sub about_Click() MsgBox "Create by 周晓阳。1998/7/27", vbDefaultButton1, "VB 教程第四章范例" End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 To 9 If FirstNum Then StrNum1 = Str(Index) FirstNum = False Else StrNum1 = StrNum1 + Str(Index) End If Text1.Text = StrNum1 Case 10 If Not PointFlag Then If FirstNum Then StrNum1 = "0." FirstNum = False Else StrNum1 = StrNum1 + "." End If Else Exit Sub End If PointFlag = True Text1.Text = StrNum1 Case 12 To 15 FirstNum = True PointFlag = False '还原标记值 If SignFlag Then Call Run Else SignFlag = True StrNum2 = StrNum1 StrNum1 = "" End If Runsign = Index - 11 Case 11 If Not SignFlag Then Text1.Text = StrNum1 equal = Val(StrNum1) FirstNum = True PointFlag = False Else Call Run SignFlag = False End If Case Else Call ClearData End Select End Sub Private Sub Form_Load() Call ClearData End Sub 按钮还有两个重要的属性 Default(默认属性)和 Cancel(取消属性),两个属性都以布尔赋 值,把 Default 设为 True,则在按下回车键时,不论焦点处于何处,都会触发该按钮的 Click 事件,而当 Cancel 属性被设为 True,在按下 ESC 键时,该按钮的 Click 属性发生。下面举 个例子: 建立一个新窗体和两个按钮,Name 属性分别为 cmdOK 和 cmdCancel,把前者的 Default 设 为 True,后者的 Cancel 设为 True,Caption 属性分别为 OK 和 Cancel。如图 4-8。填写代 码后运行: Private Sub cmdCancel_Click() MsgBox "Cancel 按钮被按下", vbDefaultButton1, "提示" End Sub Private Sub cmdOK_Click() MsgBox "OK 按钮被按下", vbDefaultButt
本文档为【vb6[1].0教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_048672
暂无简介~
格式:pdf
大小:393KB
软件:PDF阅读器
页数:43
分类:互联网
上传时间:2011-11-02
浏览量:39