VB编程基础教程Word下载.docx
- 文档编号:18431845
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:97
- 大小:71.05KB
VB编程基础教程Word下载.docx
《VB编程基础教程Word下载.docx》由会员分享,可在线阅读,更多相关《VB编程基础教程Word下载.docx(97页珍藏版)》请在冰豆网上搜索。
Else
disp=disp+Number(Index).Caption
EndIf
lastinput="
EndSub
不管你是否能看懂这段程序写的是什么,况且这也不是我让你看这段程序的主要目的。
你应该注意这段程序的编码风格,就是格式。
VB里面几乎每段代码都在一个“Sub”和“EndSub”中间,所以你在写程序的时候最好使第一行代码向右缩进一个Tab键,按一下键盘上的Tab键,然后输入代码。
如果出现“If”等语句的时候,“Then”后面一行的代码要缩进两个Tab键。
不知道是否明白。
不明白也没有关系。
多看一些优秀代码就明白了。
3)循环结构
这一部分可以说对初学者来说比较头疼。
特别是循环条件的判定。
什么时候要执行循环,什么时候不用执行循环。
哪些语句比那些语句少(多)执行一次循环。
主要的循环语句教材上都有详细的讲解,这一部分要多揣摩,多练习。
可以在源程序上用笔划出语句执行的顺序。
其实用不了多长时间就明白了。
给出一个典型的例子:
“百钱买百鸡”
PrivateSubCommand1_Click()
Dimx%,y%,z%,tAsData,t1AsData
Forx=0To100
Fory=0To100
Forz=0To100
Ifx+y+z=100And3*x+2*y+0.5*z=100Then
Print"
能买母鸡"
;
x;
只,公鸡"
y;
只,小鸡"
z;
只"
Nextz,y,x
这段程序可以算是初学者比较经典的算法。
100块钱,要买三种鸡,母鸡3元一只,公鸡2元一只,小鸡0.5元一只。
问一共可以买几只。
研究完算法之后别忘了看格式。
其中Nextz,y,x的顺序不能颠倒,也可以写成如下格式:
Nextz
Nexty
Nextx
4)数组
数组是一种重要的数据结构。
要多练习。
其中VB里面最容易出错的就是下标!
例如定义一个数组Arr(4),那么它一共5个变量:
Arr(0)开始,一直到Arr(4)。
5)子函数和子过程
这里我沿用QBASIC里面的叫法。
在子函数(过程)部分最容易搞不懂的概念就是“传地址”和“传值”,即“ByRef”和“ByVal”,ByRef是默认的。
也就是说如果没有在函数的参数列表中注明是那种传递方式,默认按照传地址进行处理。
函数中的数值既可以由主函数传递到子函数(过程)中,也可以由子函数(过程)回到主函数中。
其实我这里说的“主函数”是不确切的,应该叫做“主调函数”。
另外还有一个与之相关的概念是“形参”和“实参”,就是“实际参数”和“形式参数”。
实际参数是子函数(过程)中的参数,而形式参数是“主调函数”中的参数。
我觉得VB中子函数参数调用应该是比其他计算机语言简单的一个地方,包括C/C++等。
在C/C++中,参数传递默认的是传值。
就是不能把子函数(过程)的参数传回主调函数,如果要进行这样的操作,就要借助指针变量。
看一个简单的子函数(过程)调用的例子:
PublicSubSwap(x,y)
DimtAsInteger
t=x
x=y
y=t
PrivateSubForm_Click()
DimaAsInteger
DimbAsInteger
a=10
b=20
Swapa,b
Print”a=”;
a,”b=”;
b
Form_Click是主调函数,Swap是子函数(过程)。
在主调函数的倒数第三行调用了子函数(过程),输出结果为:
“a=20,b=10”。
6)文件
这一部分单独考试出题不多,实际应用中用到的也不多,但是它总是在某些考试中以压轴题的姿态出现。
并且更为严重的是:
如果对这一部分不清楚,会使整道题都无从下手。
所以还是要好好看看这部分为好。
7)常见控件
对于控件最令初学者头疼的是“属性”、“事件”和“方法”这三个概念。
这三个概念是“面向对象程序设计”专用的。
VB6虽然不能算是标准的“面向对象程序语言”,但是具备了很多的面向对象特征,唯独不具备“类的继承”特征。
考虑到初学者对面向对象编程没有基础,所以关于上述三个概念就不能给出确切的定义。
但是我们可以这样去理解这三个概念:
“属性”就是某个控件的固有性质,拿Command(按钮)控件为例,它的“属性”就有“长度”、“宽度”、“是否显示图片”等。
简单来说,大多数初学者接触的控件属性,都可以在VB6开发环境中的属性栏找到(如果找不到的属性称为“只读属性”)。
“事件”很容易理解。
比如我们用鼠标单击一个按钮,这时候“按钮”这个控件就接收鼠标的单击,换句话说就是“按钮上发生了单击事件”。
那么发生单击事件以后程序会做什么呢?
那就是运行你编写的针对此事件的程序。
现在你打开VB6的界面,随便画一个按钮,然后双击这个按钮,进入代码视图,在PrivateSubCommand_Click()和EndSub之间写代码。
那么你写的这段代码就是名称为Command的按钮发生Click事件执行的代码。
“方法”的概念最不容易理解。
按照标准的面向对象编程描述,方法是一个函数,它被封装在类中。
其实我们也可以把方法想想成一个“函数”,类似上文中描述的“子函数(过程)”。
初学者常用的VB6方法不多,其中最常用的就是“Print”。
正如您所想象的那样,刚才使用的时候也没有发现它有多么特殊。
其实我们已经在使用Print方法了。
只不过它所归属的对象我们不需要知道而已。
关于控件的使用这里就不多说了,因为教科书上介绍的比我介绍的详细的多。
4、结束语:
VisualBasic6.0可以说算是最简单的一门计算机语言。
学习的时候多用心。
其实前面“变量”部分即使记不住也无妨,在后续的学习过程中会不断牢固以前的知识的。
更何况现在的考试都带有MSDN,就是VB的帮助系统。
如果有哪些关键字或者用法记不清楚了,可以随时查阅MSDN的相关文档。
最后祝各位VB愉快!
附:
送上几例经典的算法
求最大公约数和最小公倍数
PrivateSubCommand3_Click()
Dimm1%,m%,n%,n1%,r%,b%
m1=Val(InputBox("
输入一个数:
"
))
n1=Val(InputBox("
请输入另一个数:
Ifm1>
n1Thenm=m1:
n=n1Elsem=n1:
n=m1
Do
r=mModn
Ifr=0ThenExitDo
m=n
n=r
Loop
Printm1;
和"
n1;
的最大公约数为:
n
b=m1*n1/n
的最小公倍数为:
b
求100到200之间所有的素数(质数)
PrivateSubCommand2_Click()
Dimi%,m%
Form=101To199Step2
Fori=2ToInt(Sqr(m))
If(mModi)=0ThenGoTonotnextM'
一旦被2到sqr(m)的数整除就转到下一个数
Nexti
Printm
notnextM:
Nextm
注意!
程序中使用了GoTo语句!
VB编程基础教程一
代码模块
VisualBasic的代码存储在模块中。
模块有三种类型:
窗体、标准和类。
简单的应用程序可以只有一个窗体,应用程序的所有代码都驻留在窗体模块中。
而当应用程序庞大复杂时,就要另加窗体。
最终可能会发现在几个窗体中都有要执行的公共代码。
因为不希望在两个窗体中重复代码,所以要创建一个独立模块,它包含实现公共代码的过程。
独立模块应为标准模块。
此后可以建立一个包含共享过程的模块库。
每个标准模块、类模块和窗体模块都可包含:
声明。
可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的模块级。
过程。
Sub、Function或者Property过程包含可以作为单元来执行的代码片段。
本章后面的“过程概述”一节中将讨论这些内容。
窗体模块
窗体模块(文件扩展名为.FRM)是大多数VisualBasic应用程序的基础。
窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。
如果要在文本编辑器中观察窗体模块,则还会看到窗体及其控件的描述,包括它们的属性设置值。
写入窗体模块的代码是该窗体所属的具体应用程序专用的;
它也可以引用该应用程序内的其它窗体或对象。
标准模块
标准模块(文件扩展名为.BAS)是应用程序内其它模块访问的过程和声明的容器。
它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。
写入标准模块的代码不必绑在特定的应用程序上;
如果不小心用名称引用窗体和控件,则在许多不同的应用程序中可以重用标准模块。
类模块
在VisualBasic中类模块(文件扩展名为.CLS)是面向对象编程的基础。
可在类模块中编写代码建立新对象。
这些新对象可以包含自定义的属性和方法。
实际上,窗体正是这样一种类模块,在其上可安放控件、可显示窗体窗口。
详细信息关于在类模块中编写代码的更详细的信息,请参阅“用对象编程”。
注意VisualBasic的专业版和企业版也包含ActiveX文档、ActiveX设计器和用户控件。
它们介绍了具有不同文件扩展名的新模块类型。
从编写代码的角度来看,这些模块应视同为窗体模块。
使用“代码编辑器”
VisualBasic“代码编辑器”是一个窗口,大多数代码都在此窗口上编写。
它象一个高度专门化的字处理软件,有许多便于编写VisualBasic代码的功能。
图5.4所为示“代码编辑器”窗口。
图5.4“代码编辑器”窗口
因为要操作模块中的VisualBasic代码,所以要为每一个从“工程资源管理器”中选择的模块打开一个独立的“代码编辑器”窗口。
在每个模块中,对于模块中所包含的每个对象,将模块中的代码再细分出与对象对应的独立部分。
用“对象列表框”实现各部分间的切换。
在窗体模块中,该列表包含一个通用段,一个属于窗体自身的段以及窗体所包含的每一控件的段。
对于类模块,列表包括一个通用段和一个类段;
对于标准模块,只有一个通用段被显示。
每一段代码都可包含几个用“过程列表框”访问的不同过程。
对窗体或控件的每一个事件过程,窗体模块的过程列表都包含一个独立的段。
例如,Label控件的过程列表就包含Change事件段、Click事件段和DblClick事件段等等。
类模块只列举类本身的事件过程—初始化和终止。
标准模块不列举任何事件过程,因为标准模块不支持事件。
模块通用段的过程列表只包含唯一段—声明段,其中放置模块级的变量、常数和DLL声明。
当在模块中添加子过程或函数过程时,那些过程被添加到声明段下方的“过程列表框”中。
代码的两种不同视图都可用于“代码编辑器”窗口。
可以一次只查看一个过程,也可以查看模块中的所有过程,这些过程彼此之间用线隔开(如图5.4所示)。
为了在两个视图之间进行切换,利用编辑器窗口左下角的“查看选择”按钮。
自动完成编码
VisualBasic能自动填充语句、属性和参数,这些性能使编写代码更加方便。
在输入代码时,编辑器列举适当的选择、语句或函数原型或值。
通过“工具”菜单上的“选项”命令访问“选项”对话框,在“选项”对话框的“编辑器”选项卡上可用这样的选项,由它们决定是允许还是禁止各代码的设置值。
在代码中输入一控件名时,“自动列出成员特性”会亮出这个控件的下拉式属性表(图5.5)。
键入属性名的前几个字母,就会从表中选中该名字,按Tab键将完成这次输入。
当不能确认给定的控件有什么样的属性时,这个选项是非常有帮助的。
即使选择了禁止“自动列出成员特性”,仍可使用CTRL+J组合键得到这种性能。
图5.5“自动列表成员功能”
“自动快速信息”功能显示语句和函数的语法(图5.6)。
当输入合法的VisualBasic语句或函数名之后,语法立即显示在当前行的下面,并用黑体字显示它的第一个参数。
在输入第一个参数值之后,第二个参数又出现了,同样也是黑体字。
“自动快速信息”也可以用CTRL+I组合键得到。
图5.6“自动快速信息”
书签
在代码编辑器中书签可用来标记代码的某些行,以便您以后可以很容易地返回这些行。
书签开关的切换以及定位到已有书签的命令可以在编辑、书签菜单项或编辑工具栏中得到。
详细信息关于如何使用组合键使用“代码编辑器”窗口的各种功能的更详细信息,请参阅“代码窗口的快捷键”。
编码基础
这一部分介绍代码编写机制,包括如何中断和合并代码行、如何添加注释、如何使用数字以及VisualBasic命名约定。
将单行语句分成多行
可以在“代码”窗口中用续行符(一个空格后面跟一个下划线)将长语句分成多行。
由于使用续行符,无论在计算机上还是打印出来的代码都变得易读。
下面用续行符(_)将代码分成若干行:
Data1.RecordSource=_
SELECT*FROMTitles,Publishers"
_
&
WHEREPublishers.PubId=Titles.PubID"
ANDPublishers.State='
CA'
在同一行内,续行符后面不能加注释。
至于在什么地方可以使用续行符,还是有某些限制的。
将多个语句合并到同一行上
通常,一行之中有一个VisualBasic语句,而且不用语句终结符。
但是也可以将两个或多个语句放在同一行,只是要用冒号(:
)将它们分开。
Text1.Text="
Hello"
:
Red=255:
Text1.BackColor=_
Red
但是,为了便于阅读代码,最好还是一行放一个语句。
.
详细信息关于详细信息,请参阅“VisualBasic的规范、限制和文件格式”。
在代码中添加注释
阅读本手册的例子时常会遇到注释符('
)。
这个符号告诉VisualBasic,忽略该符号后面的内容。
这些内容是代码段中的注释,既是为了方便开发者,也是为了方便以后可能检查源代码的其他程序员。
例如:
'
这是从屏幕左边
开始的注释。
Hi!
在文本框中放
'
欢迎词。
注释可以和语句在同一行并写在语句的后面,也可占据一整行。
上述代码对这两种情况都作了示范。
记住,不能在同一行上,将注释接在续行符之后。
注意您可以通过选中两行或多行代码并在“编辑”工具栏上通过选择“注释块”或“删除注释块”按钮来对该代码块添加或删除注释符号。
理解数字系统
在本文档中,大多数的数值都是十进制的(基数为10)。
但有时用十六进制数(基数为16)或八进制数(基数为8)更方便。
VisualBasic用前缀&
H表示十六进制数,而用&
O表示八进制数。
下表说明同一个数的十进制、八进制和十六进制表示。
十进制八进制十六进制
9&
O11&
H9
15&
O17&
HF
16&
O20&
H10
20&
O24&
H14
255&
O377&
HFF
通常不必掌握十六进制或八进制数制,因为计算机可以用任何数制的数工作。
但是,对某些任务来说,有的数系就比其它数系更合适,例如利用十六进制数设置屏幕和控件的颜色。
VisualBasic的命名约定
在编写VisualBasic代码时,要声明和命名许多元素(Sub和Function过程、变量、常数等等)。
在VisualBasic代码中声明的过程、变量和常数的名字,必须遵循这些规则:
它们必须以字母开头。
它们不可以包含嵌入的句号或者类型声明字符(规定数据类型的特殊字符)。
它们不能超过255个字符。
控件、窗体、类和模块的名字不能超过40个字符。
它们不能和受到限制的关键字同名。
受到限制的关键字是VisualBasic使用的词,是语言的组成部分。
其中包括预定义语句(比如If和Loop)、函数(比如Len和Abs)和操作符(比如Or和Mod)。
详细信息关于关键字表的更详细信息,请参阅语言参考。
窗体和控件可以和受到限制的关键字同名。
例如,可以将某个控件命名为Loop。
但在代码中不能用通常的方法引用该控件,因为VisualBasic会认为Loop意味着关键字。
例如,这样的代码就会出错。
Loop.Visible=True
出错。
为了引用那些和受到限制的关键字同名的窗体或控件,就必须限定它们,或者将其用方括号[]括起来。
例如,下面的代码就不会出错。
MyForm.Loop.Visible=True
用窗体名
将其限定。
[Loop].Visible=True
方括号
起了作用。
在引用窗体和控件时都可以用这种方式使用方括号,但在声明变量或定义过程期间,当变量名或过程名与受到限制的关键字相同时,这种方式是不能使用的。
方括号还可以用来强制VisualBasic接受其它类型库提供的名称,这些名称与受到限制的关键字冲突。
注意因为键入方括号也是令人厌倦的事情,所以希望少用受到限制的关键字作窗体或控件名。
但是,如果VisualBasic的新版本定义了与现有窗体或控件冲突的新关键字,那么,在为使用新版本而更新代码时,可以使用这个技巧。
变量
在VisualBasic中执行应用程序期间,用变量临时存储数值。
变量有名字(用来引用变量所包含的值的词)和数据类型(确定变量能够存储的数据的种类)。
可以把变量看作内存中存放未知值的所在处。
例如,假定正在为水果铺编一个销售苹果的软件。
在销售实际发生之前并不知道苹果的价格和销量。
此时,可以设计两个变量来保存未知数—将它们命名为ApplePrice和ApplesSold。
每次运行程序时,用户就这两个变量提供具体值。
为了计算总的销售额,并且将结果显示在名叫txtSales的文本框中,代码应该是这样的:
txtSales.txt=ApplePrice*ApplesSold
每次根据用户提供的数值,这个表达式返回不同的金额。
由于有了变量,就可以设计一个算式,而不必事先知道实际的输入是多少。
在这个例子中,ApplePrice的数据类型是货币,而ApplesSold的数据类型是整数。
变量还可以表示许多其它数值,比如:
文本数值、日期、各种数值类型,甚至对象也在此列。
存储和检索变量中的数据
用赋值语句进行计算,并将结果赋予变量:
ApplesSold=10
将值10
传给变量。
ApplesSold=ApplesSold+1
变量值
增一。
注意,例子中的等号是赋值符,并不是等于操作符;
它将数值(10)赋予变量(ApplesSold)。
声明变量
声明变量就是事先将变量通知程序。
要用Dim语句声明变量,Dim语句提供了变量名:
Dimvariablename[Astype]
在过程内部用Dim语句声明的变量,只有在该过程执行时才存在。
过程一结束,该变量的值也就消失了。
此外,过程中的变量值对过程来说是局部的—也就是说,无法在一个过程中访问另一个过程中的变量。
由于这些特点,在不同过程中就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 编程 基础教程