vb入门教程 经验分享
VB教程:序文-不再游戏咱们需求啥
咱们需求啥?当咱们在一个精彩的游戏国际中游历了一番之后,或是惊叹于某一东西软件的细巧精美之余,多少总会发作少许编程的激动。编程吗,在曾经若是你对电脑仍是一个外行人,那实在是一件可望而不行及的作业。若是运用根据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把这些控件模式化,并且每个控件都有若干特点用来操控控件的外观,作业办法。这样你就能够象在画板上一样,随意点几下鼠标,一个按钮就完结了,这些在曾经的编程言语下是要经过适当杂乱的作业的。
我的期望:
我在学习VB的进程中也曾遇到了许多艰难,并且用的参考书大都来自译文,究竟美国人和中国人的表达方式有所不一样。这也造成了晓得上的艰难,所以我想为啥我不能写一个给中国人看到VB教程呢,所以我这么做了。也曾经在杂志上宣布过几篇用VB制造小程序的文章,但受杂志的约束(篇幅、内容等等)(我得听小编的),总没有一个时机体系的介绍一下VB,造成了小小的惋惜。不过,我自个的主页建好后,总算这个期望能够完结了,运用HTML能够便利的把文字与图画结合起来,不失为一个教育良所,也期望能够得到咱们的撑持。 期望“VB教程”能给你我一个互相学习的时机,若是你能从中获益那将是我最大的快乐,那时你一定会发现编程比游戏风趣得多。:)VB教程:第一章-Hello World-
没学过编程的人常常会问,编程难不难,这个疑问很难答复。难,确实很难,要编一个好的程序特别是这样,并且有些程序还要用到一些其他专业的常识,比如说一个图形处置程序,就要对图画的格局有所晓得,乃至一些美术常识;但编程也很简略,就拿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 = FalsePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = FalseText2.Visible = FalseText3.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 = FalsePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = FalseText2.Visible = FalseText3.Visible = FalseOption4.Left = -2000Option4.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 = TruePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = TrueText2.Visible = FalseText3.Visible = FalseText1.Text = "再会,严酷的国际。"
End Sub
一样的树立Option2_Click和Option2_Click:
Private Sub Option2_Click()
Picture2.Visible = TruePicture1.Visible = FalsePicture3.Visible = FalseText2.Visible = TrueText1.Visible = FalseText3.Visible = FalseText2.Text = "今日心境不错。"
End Sub
Private Sub Option3_Click()
Picture3.Visible = TruePicture2.Visible = FalsePicture1.Visible = FalseText3.Visible = TrueText2.Visible = FalseText1.Visible = FalseText3.Text = "Hello,World。"
End Sub
好,咱们的开山之作完结了!按下F5,玩一下吧。这个程序尽管简略,但也用到了许多基本常识,你开端感兴趣了吗?^_^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 StringZipCode As StringPhone As String
End Type
这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型:
Dim MyHome As Address
要调用或改变“MyHome”的值时,类似于对对象的属性的操作:
变量名.域名=“……”
为了简化书写重复的部分,可以用关键字“With”:
With MyHome
.Street=”阜成路”.ZipCode=”100037”.Phone=”12345678”
End WithVB教程:第三章-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
所有这些可以用一个表格表示:
条件1True False语
句
1 条件2True False语
句
2 条件3True False…
…
… ………………………条件NTrue 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 TT F F F T T F FF T T F T T F TF F T F F F T T
T――True F――False
七、 数据与定义
本标题的内容已经在上一章向大家详述过,在这里就不再重复。
八、函数与过程
函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而VB中的每个事件都是一个过程,比如Command1_Click()就是一个过程。
因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用时进行调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参数,也可以没有参数。
关于函数和过程我将在以后的章中配合实例讲解,请您继续留意VB教程。