文档库 最新最全的文档下载
当前位置:文档库 › VB最简单实例入门教程

VB最简单实例入门教程

VB最简单实例入门教程
VB最简单实例入门教程

VB最简单实例入门教程

目录

(提示:按ctrl,并单击鼠标,可以跳到相应页)

1.1 1 我们需要什么 (3)

1.2 2 第二章:事件、属性及数据类型 (3)

1.3 3 第三章:VB语言 (6)

1.4 4-1第四章按钮(一) (12)

1.5 4- 第四章按钮(二) (19)

1.6 5 第五章菜单 (27)

1.7 6-1第六章输入(一) (34)

1.8 6-2第六章输入(二) (42)

1.9 6-3第六章输入(三) (52)

1.10 7第七章输出 (59)

附录 (63)

2.1 VB教程 (63)

1.1 1

我们需要什么

我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于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程序设计技术,而后再开始学习SDK。这样的条件下就要求在Microsoft多任务环境下出现一种操作方便,使用简单的新工具----Visual Basic由此诞生。

何为可视

英文Visual的意思是“视觉的”,“可视的Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤。在VB中引入了控件的概念,在Windows中控件的身影无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。

1.2 2

第二章:事件、属性及数据类型

以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好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% 等价于Dim Index As Integer

?对于常量的定义用Const定义,如:Const COLOR=。

为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。

注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。

?数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如:

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=

.Phone=

End With

1.3 3

第三章:VB语言

本章提要:

?VB语法与Basic的异同

?注释语句

?长语句的分行

?条件语句

?循环语句

?运算操作

?数据定义与赋值

?函数和过程

一、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

所有这些可以用一个表格表示:

用了过多的Else后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有Select语句帮助解决这个问题。

VB里的Select语句的格式是这样的:

Select Case <变量名>

Case <情况1>

……

Case <情况2>

……

Case <情况3>

……

……

……

Case Else

……

End Select

例如:

Select Case a%

Case 1

Print “a=

Case 2

Print “a=

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=

For I=1 To 10

a=

Next I

这是一个最简单的累加器的例子,把1到10累加在一起,然后赋值给“a”这样的效果和上面是一样的,只不过是倒着加罢了,请看:

Dim a=

For I=10 To 1 Step –1

a=

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循环应当根据适当的环境使用,它们有时也可替换。

六、运算操作

1.数学运算

?+:加法运算,也适合于字符串的之间的合并运算。

?-:加法运算。

?*:乘法运算。

?/:除法运算。

?\:整除运算。

?Mod:求余运算。例如:a Mod b表示a被b整除以后的余数。

?^:幂运算。A^B表示以A为底的B次方。

1.关系运算

关系运算也称比较运算,它表示不等式的真或假,VB共提供六种运算符,分别是=

2.逻辑运算

逻辑运算是对真或假的运算,我将列表说明:

T――True F――False

七、数据与定义

本标题的内容已经在上一章向大家详述过,在这里就不再重复。

八、函数与过程

函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而VB中的每个事件都是一个过程,比如Command1_Click()就是一个过程。

因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用时进行调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参数,也可以没有参数。

关于函数和过程将在以后的章中配合实例讲解,请您继续VB教程。

1.4 4-1

第四章按钮(一)

从本章开始我们将正式进入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),(比较简单的程序我们都采用缺省名),对它们属性做如下修改:

把使用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个按钮为止。各控件属性如下表:

如果想改变一些其他的属性,比如字体,可以自己定义一下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

1.5 4-2

第四章按钮(二)

下面会复杂一些,我们先跳过等号,而来处理四则运算:先在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

vb程序设计的几个简单例子

Option Explicit Private Sub Command1_Click() Dim i%, j%, r! i = Val(Text1.Text) j = Val(Text2.Text) Picture1.Print i; j; Call gysh(i, j) Picture1.Print "最大公约数是" & i r = Val(InputBox("输入半径")) Call S(r) End Sub Public Function gysh(m As Integer, n As Integer) As Integer Dim t% Do t = m Mod n: m = n: n = t Loop While t <> 0 End Function Public function S(r!) Const pi = 3.1415926 S = pi * r ^ 2 MsgBox "圆面积为:" & S End function Public Function 定积分() End Function

Dim a() As Integer, i%, j%, n%, t% Private Sub Command1_Click() Picture1.Print "排序前的数组为:" n = V al(InputBox("请输入一个3到100的整数")) ReDim a(1 To n) Randomize For i = 1 To n a(i) = Int(Rnd * 100) + 1 Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next i End Sub Private Sub Command2_Click() Picture1.Print Picture1.Print "排序后的数组为:" For i = 1 To n - 1 For j = i + 1 To n If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next Next For i = 1 To n Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next End Sub

完整word版,VB程序设计例题12例

索引 一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。 二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。) 三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。 四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。 五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。 六、给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。 七、编程求100以内的全部素数。 八、编程打印钻石图案。 九、输出杨辉三角形。 十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。 十一、在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。 十二、编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

VB程序设计例题程序改错程序填空程序设计

'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))

VB可视化程序设计实例——小时钟

VB可视化程序设计实例——小时钟 本例专门针对程序设计初学者而设计,尤其适合第一次接触VB的学生学习。通过用VB来设计如图3.39所示的时钟程序,初步感受一下可视化和面向对象的程序设计过程。 图3.39 时钟程序运行效果 小时钟程序中包含窗体控件、标签控件和计时器控件等3个控件。窗体控件是小时钟程序运行时的窗口,标题栏上的标题是“时钟”,在右上角有最小化、最大化和关闭按钮。标签控件可以用来显示文本,本例中用来显示时间,如“9:48:57”。计时器控件每秒一次把计算机的当前系统时间显示到标签控件中,使得小时钟不停地运行。Array启动VB,首先显示“新建工程”对话框(图3.40),在选择“新建”选项卡中的“标 准EXE”项后,单击“打开”按钮,进入VB编程环境,如图3.41所示。 图3.40 “新建工程”对话框

图3.41 VB 可视化编程环境 除了标题栏、菜单栏和标准工具栏外,编程环境中还有工具箱、窗体和属性等窗口。 双击工具箱(图3.42)中的标签控件,在窗体Form1中放置可以显示文本信息的标签控件Label1,见图3.43。时钟的时、分和秒以后就显示在Label1中。拖曳Label1可以移动它,拖曳它的八个控制点,可以改变它的大小。 图3.42 工具箱 图3.43 label1控件 图3.44 计时器控件 双击工具箱中的计时器控件,在窗体Form1中放置计时器控件Timer1,见图3.44。计时器控件以一定的时间周期,调用一个事件。计时器控件只有在设计阶段出现在窗体上,程序运行时是不可见的,它的位置和大小无关紧要。 到目前为止,已经建立了窗体Form1、标签控件Label1和计时器控件Timer1等3个对象。下面,将设置它们的属性。 窗体窗口

vb程序的设计实例

vb程序设计实例 2009-5-22 15:37 提问者:淘淘的某在|悬赏分:20 |浏览次数:1688次 编写程序,设银行定期存款的年利率为:1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: ①存一次5年期; ②存一次3年期,一次2年期; ③存一次3年期,两次1年期; ④存两次2年期,一次1年期; ⑤存一次2年期,三次1年期; ⑥存五次1年期. 分别计算各种存法5年后到期的本息合计,如图所示 2009-5-22 17:06 最佳答案 Private Sub Form_Activate() '1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: Const x1 As Double = 0.0225, x2 As Double = 0.0243, x3 As Double = 0.027, x5 As Double = 0.0288 Dim x As Double x = Val(InputBox("")) Print "①存一次5年期,5年后到期的本息合计"; ss(x, 5, x5) Print "②存一次3年期,一次2年期,5年后到期的本息合计"; ss(ss(x, 3, x3), 2, x2) Print "③存一次3年期,两次1年期,5年后到期的本息合计"; ss(ss(ss(x, 3, x3), 1, x1), 1, x1) Print "④存两次2年期,一次1年期,5年后到期的本息合计"; ss(ss(ss(x, 2, x2), 2, x2), 1, x1) Print "⑤存一次2年期,三次1年期,5年后到期的本息合计"; ss(ss(ss(ss(x, 2, x2), 1, x1), 1, x1), 1, x1) Print "⑥存五次1年期,5年后到期的本息合计"; ss(ss(ss(ss(ss(x, 1, x1), 1, x1), 1, x1), 1, x1), 1, x1) End Sub Private Function ss(ByVal a As Double, b As Integer, c As Double) As Double ss = a + a * c * b End Function Private Sub Form_Load()

VB编程实例精讲(150例)

ExcelVBA编程实例(150例) 主要内容和特点 《ExcelVBA编程入门范例》主要是以一些基础而简短的VBA实例来对ExcelV BA中的常用对象及其属性和方法进行讲解,包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、菜单和工具栏、帮助助手、格式化操作、文件操作、以及常用方法和函数及技巧等方面的应用。这些例子都比较基础,很容易理解,因而,很容易调试并得以实现,让您通过具体的实例来熟悉ExcelVBA编程。 ■分16章共14个专题,以具体实例来对大多数常用的ExcelVBA对象进行讲解; ■一般而言,每个实例都很简短,用来说明使用VBA实现Excel某一功能的操作; ■各章内容主要是实例,即VBA代码,配以简短的说明,有些例子可能配以必要的图片,以便于理解; ■您可以对这些实例进行扩充或组合,以实现您想要的功能或更复杂的操作。VBE编辑器及VBA代码输入和调试的基本知识 在学习这些实例的过程中,最好自已动手将它们输入到VBE编辑器中调试运行,来查看它们的结果。当然,您可以偷赖,将它们复制/粘贴到代码编辑窗口后,进行调试运行。下面,对VBE编辑器界面进行介绍,并对VBA代码输入和调试的基本知识进行简单的讲解。 激活VBE编辑器 一般可以使用以下三种方式来打开VBE编辑器: ■使用工作表菜单“工具——宏——Visual Basic编辑器”命令,如图00-01所示;■在Visual Basic工具栏上,按“Visual Basic编辑器”按钮,如图00-02所示;■按Alt+F11组合键。

图00-01:选择菜单“工具——宏——Visual Basic编辑器”命令来打开VBE编辑器 图00-02:选择Visual Basic工具栏上的“Visual Basic编辑器”命令按钮来打开VBE编辑器 此外,您也可以使用下面三种方式打开VBE编辑器: ■在任一工作表标签上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问该工作表的代码模块,如图00-03所示; ■在工作簿窗口左上角的Excel图标上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问活动工作簿的ThisWorkbook代码模块,如图00-04所示; ■选择菜单“工具——宏——宏”命令打开宏对话框,若该工作簿中有宏程序,则单击该对话框中的“编辑”按钮即可进行VBE编辑器代码模块,如图00-05所示。

vb程序设计经典例题

VB程序设计期末模拟试题及答案 《VB》期末复习题及答案 综合复习题 一、填空题 1.创建一个VB应用程序三个主要的步骤是_创建应用程序界面_、_设置属性_和_编写代码_。 2.当程序运行时,要求窗体中的文本框呈现空白,则在设计时,应当在此文本框的_属性__窗口中,把此文本框的_text_属性设置成空白。 3.Label和TextBox控件用来显示和输入文本,如果仅需要让应用程序在窗体中显示文本信息,可使用__Label___控件;若允许用户输入文本,则应使用 _TextBox__控件。 4.窗体的常用方法有__Load方法__、_show方法_、 Hide方法__和_Unload方法_。 5.要想在代码中给名为txtshow的文本框赋予文本:GOOD WORK ,应当编写的语句是_Txtshow.Text="GOOD WORK"_。 6.若命令按钮的名称为Cmdopen,程序要求单击该命令按钮时,打开一个窗口frm1,请对以下事件过程填空。 Private Sub Cmdopen_ Click()___ __Frm1.show__ End Sub 7.Visual Basic 6种类型的表达式是_数算表达式____、__字符串表达式_、__关系表达式__、 __布尔表达式__、___日期表达式__、___对象表达式_。Visual Basic根据表达式的__运算符_来确定表达式的类型。 8.表达式93 \ 7 Mod 2 ^ 2 的值是______1_____。 9.已知a=3,b=4,c=5,表达式a>b and Not c>a Or c>b And ca And Not b

VB程序设计题库(全)

VB程序设计练习题 第一题、 题目:(事件)单击窗体 (响应)求50以内所有偶数的和,并在窗体上输出来。 将结果存入变量S中。 代码:Dim I As Integer For i = 2 To 50 If (i Mod 2)=0 Then S=s+i End If Next Print (CStr(s)) 第二题 题目:(事件)双击窗体 (响应)求s=1+1*2+1*2*3+….+1*2*3*….*10并将结果存入变量S中代码:Dim i,j As Integer Dim k As Long k=1 s=0 For i =1To 10 For j=1 To i k=k*j Next s=s+k k=1 Next Print(CStr(s)) 第三题 题目:(事件)单击窗体 (响应)求100以内偶数的和,并将结果输出在窗体上。 将结果存入变量SUM中 代码:Dim i As Integer For i =1 To 100 If i Mod 2 =0 Then Sum=sum+i End If Next Print sum 第四题题目:(事件)单击窗体 (响应)编写程序求10*11*12+11*12*13+….+15*16*17的结果并将结果输出到窗体上。将结果存入变量M中。 代码:Dim i,j As Integer Dim s As Long For i =10 To 15 s=1 For j = i To i +2 s=s*j Next m=m+s Next Print (CStr(m)) 第五题 题目:(事件)双击窗体 (响应)求100以内奇数的和,并将结果输出在窗体上。 将结果存入变量SUM中。 代码:Dim i As Integer For i=1 To 100 If i Mod 2 = 1 Then sum = sum + i End If Next Print sum 第六题 题目:(事件)单击窗体 (响应)已知S=1+1/4+1/9+1/16+1/25+…+1/100, 结果输出在窗体上 代码:Dim s As Single For i=1 To 10 a=i*i Sum =1/a + Sum Next Print Sum 第八题 题目:(事件)单击窗体 (响应)求1—1/2+1/3—1/4+….+1/99—1/100的值。 将结果存入变量J中 代码:Dim j As Single

一个简单VB程序设计过程

VB 程序设计过程

程序设计——编程人员使用程序设计语言设计一个计算机程序。 【引例】简单VB程序设计实例。功能要求:单击←、→、↑、↓中的任何一个命令按钮,红色小球就会向相应方向移动一定距离。

1、分析问题 根据程序的功能要求,可见程序必须具有以下具体功能。 (1)程序必须能够接收程序用户输入的小球移动方向,即原始数据输入。本例使用4个“命令按钮”向程序用户提供给方向数据输入平台。 (2)当程序用户输入一个方向数据后,程序必须能够立即自动计算小球新的位臵,即数据处理。本例对于4个不同的移动方向分别计算新的位臵数据。 (3)程序必须能够向程序用户展示小球的移动效果,即输出结果数据。本例使用一个红色小球图形向程序用户实时展示移动效果。

2、建立一个VB应用程序工程 启动VB6.0 IDE后会弹出“新建工程”对话框,在“新建” 选项卡中选择“标准.EXE”图标,单击“打开”命令按钮,或双击“标准.EXE”图标,即可新建一个默认名为“工程1” 的应用程序设计工程项目。 ?【问1-3-3】什么是工程? 【答1-3-3】用来建造VB应用 程序的设计文件集合。

在新建一个工程时后,VB6.0 IDE会根据设计内容自动建立一系列设计文件。 第一个设计文件就是VB6.0 IDE 自动新建一个默认名为“Form1”的窗体对象,这个窗体对象就是程序界面的设计平台。

在命令行操作系统下运行应用程序(例如DOS),程序用户需要在按照操作系统规则输入相应的命令行使用应用程序。 在图形界面操作系统(例如Windows)下运行应用程序,程序用户使用鼠标和键盘通过对图形界面的操作使用应用程序。可见,应用程序用户图形界面(简称程序界面)是用户使用应用程序的一个图形化控制平台,程序界面的设计是设计Windows应用程序的基础。 【设计程序界面的方法】使用VB6.0 IDE工具箱中提供的控件类,在窗体对象上创建需要的控件对象。

VB程序设计教程课后答案

习题一 习题二 .对象指现实世界中的实体。每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。 类是对同一种对象的集合与抽象。类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。 VB工具箱中的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。 VB中常用的对象是控件。此外,VB还提供了系统对象。窗体是个特例,它既是类也是对象。当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。 对象的三要素:属性、事件和方法。 属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。 事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应。 事件过程:应用程序处理事件的步骤。应用程序设计的主要工作就是为对象编写事件过程的代码。 方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。方法是面向对象的,调用时一定要指明对象。 2.窗体和控件具有的基本属性“ (1) Name属性:名称 所创建的对象名称,在程序中引用。 (2) Caption属性:标题 该属性决定了对象上显示的内容。 (3) Height、Width、Top和Left属性 决定对象的大小和位置。 (4) Enabled 属性:对象是否允许操作 (5) Visible 属性:对象是否可见 (6) Font 属性组:文本的外观 FontName字体、FontSize大小 FontBold粗体、FontItalic斜体 FontStrikethru 删除线 FontUnderline 下划线 (7) ForeColor属性:前景颜色 (8) BackColor属性:背景颜色 (9) MousePointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。若为99,由用户提供的图形文件定义鼠标指针形状。 (10) MouseIcon属性:在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico 或.cur)。图标库在Graphics目录下。 3.窗体的事件:Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。

VB程序设计经典案例

'------------------------------------------------- '【程序设计】 '------------------------------------------------- '题目:(事件)单击窗体。 ' (响应)我国现有人口为13亿,设年增长率为1%,' 计算多少年后增加到20亿。并将结果输出' 在窗体上。将结果存入变量year中。 ' 使用do while ...loop语句完成程序。 '------------------------------------------------- Private Sub Form_Click() Dim year As Integer, sum As Single '***************** Begin ************** Dim p as double Dim r as single P=1300000000 r=0.01 Do while p<2000000000 P=p+p*r n=n+1 Loop Print “n=”,n Year=n '*************** End ************************* '------------------------------------------------- '题目:(事件)单击窗体。 ' (响应)求从100到1000之间所有是3的倍数的数之' 和,当和大于3000时,停止计算并输出和。请将结果输' 出到窗体上,并存入所给变量SUM中。使用for...next语 ' 句完成程序 '------------------------------------------------- Private Sub Form_Click() Dim sum As Integer '***************** Begin ************** sum = 0 Dim i As Integer For i = 100 To 1000 If i Mod 3 = 0 Then sum = sum + i If sum > 3000 Then Exit For End If

相关文档