1、VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 1 页 / 共 73页VB 最简单 入门教程VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 1 页 / 共 73页目 录(提示:按 c t r l , 并单击鼠标,可以跳到相应页)1. 1 1 我们需要什么 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2、. . . . . . . . . . . . . . . . . 31. 2 2 第二章:事件、属性及数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3、 . . . . . . . . . . . . . . . . . . . . . . . 31. 3 3 第三章: VB 语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61. 4 4- 1 第四章 按钮(一 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121. 5 4- 第四章 按钮(二 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991. 6
7、 5 第五章 菜单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271. 7 6- 1 第六章 输入(一) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341. 8 6- 2 第六章 输入(二 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9、 . 421. 9 6- 3 第六章 输入(三 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521. 10 7 第七章 输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59附录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632. 1 V B 教程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12、. . . 63VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 2 页 / 共 73页1 . 1 1我们需要什么我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于 DOS下的编程语言,譬如 C 、 Qbasic、 Pascal等等,真不知何年何月才能有所成就。编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语
13、言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。VisualBasic(以下简称 VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前 VB 诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着 VB6.0的研制、测试 ,这么高的更新率,不外乎说明两个问题:用户对 VB 的热衷,微软对 VB 的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力
14、的竞争对手,如 IE 之于浏览器领域,帝国时代之于游戏都是最好的例证。对于 VB 现在也有一个很强的竞争对手 Delphi,有人把它称作 VB 杀手,这显然有偏激之处, VB 的确有它的不足之处,但 Delphi又何尝不是呢,而且以微软对 VB 的倾心, VB 的功能必然会越来越强大。VB 的诞生VB 的出现可以说是 MicrosoftWindows的日渐成熟的必然产物。 MicrosoftWindows为程序员和最终用户提供了一个共同的人机界面。对用户, Windows提供了一个图形鼠标的操作环境,该环境对所有的应用程序都一样;对于程序员, Windows提供了一组预定义工具 -称之为 Mi
15、crosoftWindows的软件开发工具箱( SDK) , 该工具能使程序员建立一个与 Windows界面相同的应用程序 , 而且 , 程序员不必关心最终用户的硬件配置情况。在这一开发环境中,程序员唯一困难的是 MicrosoftSDK提供了六百多个函数和与其一致的事件驱动( event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用 C 语言描述这些问题。因此一般情况下,程序员首先要掌握 C 程序设计技术,而后再开始学习 SDK。这样的条件下就要求在 Microsoft多任务环境下出现一种操作方便,使用简
16、单的新工具 VisualBasic由此诞生。何为可视英文 Visual的意思是 “ 视觉的 ” , “ 可视的 Baisc” 这个名字可能抽象了点 , 但实际上它却是最直观的编程方法 , 之所以叫做 “ 可视 ” , 你只要看到 VB 的界面就会明白 , 实际上你无需编程 , 就可以完成许多步骤 。在 VB 中引入了控件的概念 , 在 Windows中控件的身影无处不在 , 各种各样的按钮 、 文本框 、 无线钮 , 都是控件的种类 , VB 把这些控件模式化 , 并且每个控件都有若干属性用来控制控件的外观 , 工作方法 。 这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在
17、以前的编程语言下是要经过相当复杂的工作的。VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 3 页 / 共 73页1 . 2 2第二章:事件、属性及数据类型以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好 VB,我们一定要打好基础才行。一、事件通过上一章的例子 , 你可能对 “ 面向对象的编程 ” 已经有了一定了解 , 它是由事件驱动的 , 对于不同的对象 ,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发 M o u s e M o v e 事件 ,这很 直观 , 也容易 理解, 但也有 些事件 比较抽 象,下 面我来 对一般 的事件 进行一 下解释 。1. 窗
18、体和图象框类事件 P a i nt 事件 : 当某一对象在屏幕中被移动 , 改变尺寸或清除后 , 程序会自动调用 P a i nt 事件 。 注意 :当对象的 Au t oDr aw 属性为 T r u e ( 1 )时,程序不会调用 P ain t 事件。 R e s i z e 事件:当对象的大小改变时触发 R e s i z e 事件。 L oad 事件:仅适用于窗体对象,当窗体被装载时运行。 U nload 事件:仅适用于窗体对象,当窗体被卸载时运行。2 . 当前 光标( Focus)事 件 G otF ocus 事件:当光标聚焦于该对象时发生事件。 L os t F ocus 事件:
19、当光标离开该对象时发生事件。注意: Focus 英文为 “ 焦点 ” 、 “ 聚焦 ” 之意,最直观的例子是,比如有两个窗体,互相有一部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态 , 并且标题条变成蓝色 , 这就是 GotFocus事件 , 而相反 , 另外一个窗体被遮盖,并且标题条变灰,称为 LostFocus事件。上面所说的 “ 光标 ” 并非指鼠标指针。3.鼠标操作事件 C l i c k 事件:鼠标单击对象。 D bCl i c k 事件:鼠标双击事件。 M ouse Down 、 M o u s e U p 属性:按下 / 放开鼠标键事件。 M ouse
20、M ove事件:鼠标移动事件。 D r a g D r op 事件:拖放事件,相当于 M ouse D own 、 M ouse M ove和 M ouse U p 的组合。 D r a g O ver 事件:鼠标在拖放过程中就会产生 D r a g O ver 事件。4 . 键盘 操作属 性VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 4 页 / 共 73页 K e yDown 、 K e yUp 事件:按键的按下 / 放开事件。 K e yPr e s s 事件:按键事件。5 . 改变 控制项 事件 C hange 事件 : 当对象的内容发生改变时 , 触发 C hange事件
21、。 最典型的例子是文本框 ( T e x t B ox) 。 D r opDown 事件:下弹事件,仅用于组合框( C om boBox )对象。 P a t hChange 事件:路径改变事件,仅用于文件列表框( F i l e B ox)对象。6 . 其他 事件 T i m e r 事件:仅用于计时器,每隔一段时间被触发一次。二、 属性每个 对象都 有它的 属性 , 并且 “ Name” 属性是共有的 , 有了 “ Name” 属性才可以在程序中进行调用 。对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取决你的需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的
22、实例中具体介绍各个属性的作用。三、数据类型学过编程的人都知道大多数的计算机语言都规定了各自的数据类型 , VB 也不例外 。 其实 , 在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但是在一个复杂的程序里,这样做就很危险 , 因为很可能给同一个变量赋予了不同的类型 , 而导致程序出错 。 所以 , 为了程序的严谨和便于查看 ,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型( I n t e r g e r )数 据占 2 字节 ,而长 整型数 据占 4 个字 节,定 义合适 的数据 类型, 不管你 相信不 相信, 它可
23、以 节省内 存!1. VB 常用的数据类型有:整型( I nt e g e r ,表示 - 32768至 32767之间的整数 ) 、长整型( L ong,表示- 2,147,483,648至 2,147,483,647之间的整数 ) 、实型( S i ngle ,表示 - 3.37E+ 38 至 3.37E+ 38 之间的实数 ) 、 双精度实型 ( D ouble , 表示 - 1.67E+ 308 至 1.67E+ 308 之间的实数 ) , 字符 ( S t r i ng , 每个字符占一字节,可以储存 0 65,535个字符 ) ,布尔( B oole a n ,只有两个值 T r
24、ue/ - 1 ,或 F a l s e / 0 ) 。2. 数据类型的定义方法: 定义变量最简单的方法是用 “ D i m ” 关键字,它的语法:Dim 【变量名】 As 【数据类型】如: Dim IndexAs Integer也可以在一行中定义多个变量,如:Dim IndexAs Integer, Dim NumberAs Long把多个变量定义成同一类型可以写成:VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 5 页 / 共 73页Dim Index, NumberAs Integer更可以在定义时进行初赋值:Dim Index=有时为了简便 , 也以符号进行简单的定义 , 作用
25、是和上面一样的 。 整型可以用 “ % ” 代替 , 长整型可以用 “ & ”代替,实型可以用 “ ! ” ,双精度实型可以用 “ # ” 定义,如刚才的第一个例子可以写成:D i m I n d e x % 等价 于 D i m I n d e x A s I n t e g e r 对于常量的定义用 C onst 定义,如: C onst C O L O R = 。为了 在程序 中便于 查阅, 我们对 变量和 常量的 写法进 行规定 ,变量 一般用 小写方 式,常 量则全 部大写 。注意 :使用 常量的 好处, 对于程 序中经 常出现 的数值 ,应设 常量等 于它, 这样一 是书写 方便,
26、 其二, 如果要 改变该 数值, 只需改 变定义 常量的 语句值 ,而不 需改变 每个语 句,提 高了效 率。 数组 的定义 类似于 变量定 义,所 不同的 是数组 需要指 定数组 中的元 素个数 ,例如 :Dim IntegerArray(99)As Integer这个数组中包含 100个元素,脚标从 0 到 99。也可以指定脚标的起始值,例如:Dim IntegerArray(2to 10) As Integer这个数组含有九个元素,脚标从 2 到 10。还可以定义多维数组:Dim ThreeD(4,2to 5,3 to 6) As Integer上例定义了一个三维数组 (4 4 4)。
27、记录 的定义记录定义是把控制权交给用户的方法 , 它让用户可以定义自己的数据类型 , 它使用关键字 “ T y p e ” , 方法是 :Type 【数据类型标识符】As As VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 6 页 / 共 73页As End Type例如,定义一个地址数据:Type AddressStreetAs StringZipCodeAs StringPhoneAs StringEnd Type这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型:Dim MyHomeAs Address要调用或改变 “ MyHome” 的值时,类似于对对
28、象的属性的操作:变量名 . 域名 “”为了简化书写重复的部分 , 可以用关键字 “ With” :With MyHome.Street=阜成 路 ”.ZipCode=.Phone=End With1 . 3 3第三章: V B 语言本章提要: VB 语法与 B a s i c 的异同 注释语句 长语句的分行 条件语句 循环语句VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 7 页 / 共 73页 运算操作 数据定义与赋值 函数和过程一、 VB 与 Basic VB 之所以叫做 “ Vi s ual B a s i c ” 就是因为它使用了 B a s i c 语言作为代码 , 所以它们
29、之间有着千丝万缕的关系,如果学过 B a s i c 的话,看到 VB 的程序结构会感到很亲切。但 VB 作为新生物,也超越 了B a s i c 的限制,有了许多自己的特点: VB 建立了一种新的变量类型 货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。 VB 在调用函数( F unct i on)时,必须在函数名后跟一对括号。 VB 对白兰地使用范围重新做了规范 , 在 B a s i c 里把隐含变量都当作全局变量 , 而在 VB 里对隐含变量都当作局部变量。 VB 里的说明语句( D e c l a r e ) ,仅支持动态链结库( D L
30、 L )的子程序和无变量函数。 使用数组,必须事先用 D i m 或 R e dim 进行定义。二、注释语句在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。在 VB 里,注释语句有两种,一种是用 “ Rem” 关键字,这跟 DOS里的批处理文件的用法一样,还有一种是利用单引号 “” ,例如: Dim a As String与Rem Dim a As String的作用是一致的。三、长语句的分行在比较早的版本中 , 因为没有象 C 等语言用
31、 “ ; ” 隔开语句与语句 , VB 的语句是必须写在一行里的 ,不过后来版本的 VB 里如许用分行符 “ _ ” 把一个长语句分成若干行来存放。四、条件语句如果你学过任何一种编程的话 , 都会知道在程序里控制其流程的有两种语句 , 条件与循环 , VB 自然也不例外 ,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 8 页 / 共 73页在条件语句里,我们先来学习 “ If Then” 语句。它的一般语法是:If ThenEnd If与 C 语言不同, VB 的条件语句更符合英语的语法,如果 Then后面所跟的语句
32、只有一条,可以写成:If Then 而不用 End If。有时我们还会用到If ThenElseEnd If更可以在 Else里在嵌套 If 语句,如:If ThenElse IfElseEnd If所有这些可以用一个表格表示:条件 1True FalseVB 最简单入门教程 天天疯狂购享受 1 折 购物 第 9 页 / 共 73页语句1条件 2True False语句2条件 3True False条件 NTrue False语句 N 语句 N 1用了过多的 Else后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有 Select语句帮助解决这个问题。VB 里的 Select语句的
33、格式是这样的:SelectCase Case Case Case Case ElseEnd Select例如:SelectCase a %VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 10页 / 共 73页Case 1Print“ a =Case 2Print“ a =Case ElsePrint“ a d oes n ot e qual to 1 or 2 . ”End Select五、循环语句循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法 , 更直观的例子是把某件事重复指定的次数 , 这样就不用把要重复的语句输入多次 , 而通过循
34、环结构完成 ,非常方便。C 语言里有一个 “ for” 循环语句, VB 里也有 “ For” 关键字,作用也差不多,只是 VB 的 “ For” 语句更容易理解。它的格式是:For = To StepNext 在默认情况下, Step被设为 “ 1 ” ,可以省略, Step也可以设为负值,例如:Dim a=For I=1 To 10a=Next I这是一个最简单的累加器的例子,把 1 到 10 累加在一起,然后赋值给 “ a ” 这样的效果和上面是一样的,只不过是倒着加罢了,请看:Dim a=For I=10 To 1 Step 1a=Next IVB 最简单入门教程 天天疯狂购享受 1
35、折 购物 第 11页 / 共 73页While语句也是一个很常用的循环语句,它的形式很多。 D o Whil e L oop 语句 Whil e We nd 语句 D o L oop Whil eWhile后面都跟逻辑条件判断, “ Do While Loop语句 ” 和 “ While Wend 语句 ” 作用相似,都是先判断 While后面的条件是否为 “ 真 ” ,如果为 “ 真 ” 则执行里面的语句,如果为 “ 假 ” ,则退出循环,循环直至条件为 “ 假 ” 终止 。 “ Do LoopWhile” 与前两者的区别在于 , 它不管条件的真假 , 都会先执行“ Do” 后面的语句,也就
36、是说,它至少执行语句一次。与 While用法相似的还有 Until语句,它是直至条件为真则终止循环,句式把 While上述三个语句的 While换成 Until即可,但是因为容易记混,所以我建议只用 While即可。 Until 可以相当于 WhileNot 。For循环和 Whlie循环应当根据适当的环境使用,它们有时也可替换。六、运算操作1. 数学运算 :加法运算,也适合于字符串的之间的合并运算。 :加法运算。 * :乘法运算。 / :除法运算。 :整除运算。 M od:求余运算。例如: a M od b 表示 a 被 b 整除以后的余数。 :幂运算。 A B 表示以 A 为底的 B 次方
37、。1. 关系运算关系运算也称比较运算,它表示不等式的真或假, VB 共提供六种运算符,分别是 =2. 逻辑运算逻辑运算是对真或假的运算,我将列表说明:A B Not A非And与Or或Xor异或Eqv相等Imp蕴含T T F T T F T TVB 最简单入门教程 天天疯狂购享受 1 折 购物 第 12页 / 共 73页T F F F T T F FF T T F T T F TF F T F F F T TT True F False七、 数据与定义本标题的内容已经在上一章向大家详述过,在这里就不再重复。八、函数与过程函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个
38、返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而 VB 中的每个事件都是一个过程,比 如Command1_Click()就是一个过程。因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用时进行调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参数,也可以没有参数。关于函数和过程将在以后的章中配合实例讲解,请您继续 VB 教程。1 . 4 4 - 1第四章 按钮(一)从本章开始我们将正式进入 VB 的编程世界 , 但这还仅仅是个开端 , 要编出功能强大的软件 , 还要学很多东西 , 那就要看以后的
39、 VB 高级教程了 , 我也得努力学啊!按钮是我们在 Windows操作见到最多的控件 , 它们有着各种各样的功能 : “ 确认 ” 、 “ 取消 ” 、 “ 下一步 ” 等等,这些都是按钮的表现,另外还有很多图形话的按钮 , 其实它们并没什么不同 , 所有的按钮都是通过单击 ( click) 事件实现的 ,只不过是在外表不同罢了。下面就让我们建立一个最简单的按钮,双击工具箱 的VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 13页 / 共 73页CommandButton,将在窗体上建立一个形如图 4 1 的按钮,它的缺省名( Name属性)为 Command1,我们可以把它改名为
40、cmdExit,把 Caption属性设为 “ 退出 ” ,然后双击,按钮填写代码:PrivateSub cmdExit_Click()UnloadMeEnd Sub按下 F5 或者工具条上的播放按钮,运行程序。图 4 2 当你按下退出按钮的时候,就会自动退出程序,原因是当你单击按钮时激活了它的 Click事件,执行“ UnloadMe” 语句,使得窗体被卸载。上面举了一个比较简单的例子,下面的例子稍微复杂些:新建窗体 , 控件布局如图 4 3 所示 , 包括一个 List控件 , 一个 Text控件和两个按钮( Command1和 Command2), (比较简单的程序我们都采用缺省名) ,
41、对它们属性做如下修改:VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 14页 / 共 73页List1 Caption “ 请输入你的名字 ”Text1 Text “” (空字符串 )Button1 Caption “ 复原 ”Enabled FalseButton2 Caption=“ 清除 ”把使用 Button1的 Enabled属性设为 False( 假 ) , 是使程序在初始时 , 无法单击 Command1。按 F5,运行程序,图 4 4 ,复原按钮成为灰色,不可选。当然现在程序还什么也不能做,下面我们在程序中添加代码:首先在 General里声明全局变量:Dim Stor
42、eStringAs String 用来储存字符串VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 15页 / 共 73页 注意:为什么用全局变量?VB 里每一个小过程都相当于一个程序,程序里的变量称为局部变量,是只能在程序内部使用的,而当程序调用结束后,由于从内存中被清除,所以变量储存的值也就消失了,这里的全局变量是用来在过程中传递字符串。接着填写以下代码:PrivateSub Command1_Click()Text1.Text= StoreStringCommand1.Enabled= FalseEnd SubPrivateSub Command2_Click()StoreStrin
43、g= Text1.TextText1.Text= “ 清除Command1.Enabled= TrueEnd Sub运行程序,如图 4 5 。按下 “ 清除 ” ,文本框被清除,按下 “ 复原 ” ,文本有被恢复,许多程序中的 Undo/Redo就是利用这个原理实现的,现在知道为什么内存越多越好了吧。我们在把程序修改一下 , 把 Button2 删除 , Button1 的 Enabled 属性改 为 True,Caption改为 “ 清除 ” ,填写代码:VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 16页 / 共 73页PrivateSub Command1_Click()If
44、Command1.Caption= “ 清除 “ ThenStoreString= Text1.TextText1.Text= “ 清除Command1.Caption= “ 复原 “ElseText1.Text= StoreStringCommand1.Caption= “ 清除 “End IfEnd Sub同样可以上面的功能,但是却少用了一个控件,控件使用少的程序启动会快些。下面的例子要更加复杂些,大家一定都用过 Windows附件中的计算器,它是一个标准的科学计算器 , 利用 VB 我们也可以做到 , 只是没有那么复杂 , 四则运算而已。先建立一个新的项目文件,里面包含一个 Form1的
45、窗体。然后,添加控件,包括一个 Text框 ( Text1) , 和 17 个按钮 , 这 17 个按钮使用的名称都是 Command1,只是 Index属性不同,就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮( Command1),然后在 Command1上击鼠标右键,选择复制( Copy) ,然后在窗体上任意部位击右键 , 选择粘贴 ( Paste) , 系统会提示是否创建控件组 ,选择 “ 是 ” ,重复上面步骤,直至创立 17 个按钮为止。各控件属性如下表:VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 17页 / 共 73页Text1 BackColor &H0
46、0C0FFFF&Text “ 0.”Command1 Index0 16Index0 9 Caption=Index10 Caption=Index11Caption=Index12 Caption=Index13 Caption=Index14 Caption=Index15 Caption=Index16 Caption=“ 清除 ”如果想改变一些其他的属性 , 比如字体 , 可以自己定义一下 Font属性 , 如果相对多个控件的共同属性进行改变,可以在窗体上按下鼠标,拖动,把多个控件一起选定,然后对它们的共同属性进行修改。别看这个东西小,还费了近我两个小时呢,不觉大叹手生,里面也有些地方
47、很绕弯子,我尽量解释清楚。在编写程序之前,我们先来回顾一下计算器的使用。1. 按下数字键在液晶屏上会出现数字,这是最基本的功能。2. 第一次按下运算键 , 再按下数字键 , 将重新输入第二个数字 , 再次按下运算键 , 将算出前两个数的结果,然后按下数字键,将又重新输入新的数字。3. 输入数字后,按下 “ 等于键 ” 将仍输出原来的数字,输入运算符和第二个数字后在按下“ 等于 ” ,将得到二者的结果。然后又重复第二、三步。4. 按下 “ 清除 ” ,数据被全部清除。了解了这些,我们一步一步实现。先实现数据的输入,请看代码。与未创立组的控件相比,它的事件里多了 Index参数,组里所有的对象都使
48、用同一个事件。VB 最简单入门教程 天天疯狂购享受 1 折 购物 第 18页 / 共 73页先在 General里声明窗体级全局变量:Dim Num1,Num2 As SingleDim StrNum1,StrNum2As StringDim FirstNumAs Boolean 判断是否是数字开头因为 Text1里是存放字符串的,所以要把输入的数据进行运算,必须把字符型变量转变为实型变量,分别用 Num1、 Num2和 StrNum1、 StrNum2进行存放。在 Form_Load事件里给变量初赋值:Num1 = 0Num2 = 0StrNum1= “StrNum2= “FirstNum=
49、 True因为 17 个按钮使用的是同一事件,所以我们用一个 SelectCase语句区分各个按钮,双击任意按钮输入代码:PrivateSub Command1_Click(IndexAs Integer)SelectCase IndexCase 0 To 9If FirstNumThenStrNum1= Str(Index) 实型转字符型FirstNum= False 初赋值为假Else 非初赋值StrNum1= StrNum1+ Str(Index)End IfText1.Text= StrNum1 显示End SelectEnd SubVB 最简单入门教程 天天疯狂购享受 1 折 购物 第 19页 / 共 73页运行程序的话已经可以输入数据,下面我们来处理小数点。在 General里声明新的变量:Dim PointFlagAs Boolean 判断是否已有小数点我们知道小数点只能输入一次,一个数据中不