您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > VisualBasic初学者教程
1VisualBasic初学者教程我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于DOS下的编程语言,譬如C、Qbasic、Pascal等等,真不知何年何月才能有所成就。编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。VisualBasic(以下简称VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着VB6.0的研制、测试,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如IE之于浏览器领域,《帝国时代》之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手――Delphi,有人把它称作VB杀手,这显然有偏激之处,VB的确有它的不足之处,但Delphi又何尝不是呢,而且以微软对VB的倾心,VB的功能必然会越来越强大。VB的诞生VB的出现可以说是MicrosoftWindows的日渐成熟的必然产物。MicrosoftWindows为程序员和最终用户提供了一个共同的人机界面。对用户,Windows提供了一个图形鼠标的操作环境,该环境对所有的应用程序都一样;对于程序员,Windows提供了一组预定义工具----称之为MicrosoftWindows的软件开发工具箱(SDK),该工具能使程序员建立一个与Windows界面相同的应用程序,而且,程序员不必关心最终用户的硬件配置情况。在这一开发环境中,程序员唯一困难的是MicrosoftSDK提供了六百多个函数和与其一致的事件驱动(event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用C语言描述这些问题。因此一般情况下,程序员首先要掌握C程序设计技术,而后再开始学习SDK。这样的条件下就2要求在Microsoft多任务环境下出现一种操作方便,使用简单的新工具----VisualBasic由此诞生。何为可视英文Visual的意思是“视觉的”,“可视的Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤。在VB中引入了控件的概念,在Windows中控件的身影无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。第二章:事件、属性及数据类型以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好VB,我们一定要打好基础才行。一、事件通过上一章的例子,你可能对“面向对象的编程”已经有了一定了解,它是由事件驱动的,对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发MouseMove事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般的事件进行一下解释。窗体和图象框类事件Paint事件:当某一对象在屏幕中被移动,改变尺寸或清除后,程序会自动调用Paint事件。注意:当对象的AutoDraw属性为True(-1)时,程序不会调用Paint事件。Resize事件:当对象的大小改变时触发Resize事件。Load事件:仅适用于窗体对象,当窗体被装载时运行。Unload事件:仅适用于窗体对象,当窗体被卸载时运行。2.当前光标(Focus)事件3GotFocus事件:当光标聚焦于该对象时发生事件。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.其他事件4Timer事件:仅用于计时器,每隔一段时间被触发一次。二、属性每个对象都有它的属性,并且“Name”属性是共有的,有了“Name”属性才可以在程序中进行调用。对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取决你的需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的实例中具体介绍各个属性的作用。三、数据类型学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB也不例外。其实,在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占2字节,而长整型数据占4个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存!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)。数据类型的定义方法:定义变量最简单的方法是用“Dim”关键字,它的语法:Dim【变量名】As【数据类型】如:DimIndexAsInteger也可以在一行中定义多个变量,如:DimIndexAsInteger,DimNumberAsLong把多个变量定义成同一类型可以写成:5DimIndex,NumberAsInteger更可以在定义时进行初赋值:DimIndex=3有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“%”代替,长整型可以用“&”代替,实型可以用“!”,双精度实型可以用“#”定义,如刚才的第一个例子可以写成:DimIndex%等价于DimIndexAsInteger对于常量的定义用Const定义,如:ConstCOLOR=255。为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如:DimIntegerArray(99)AsInteger这个数组中包含100个元素,脚标从0到99。也可以指定脚标的起始值,例如:DimIntegerArray(2to10)AsInteger这个数组含有九个元素,脚标从2到10。还可以定义多维数组:DimThreeD(4,2to5,3to6)AsInteger上例定义了一个三维数组(4×4×4)。记录的定义6记录定义是把控制权交给用户的方法,它让用户可以定义自己的数据类型,它使用关键字“Type”,方法是:Type【数据类型标识符】域名As数据类型域名As数据类型域名As数据类型…………………………EndType例如,定义一个地址数据:TypeAddressStreetAsStringZipCodeAsStringPhoneAsStringEndType这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型:DimMyHomeAsAddress要调用或改变“MyHome”的值时,类似于对对象的属性的操作:变量名.域名=“……”为了简化书写重复的部分,可以用关键字“With”:WithMyHome.Street=”阜成路”.ZipCode=”100037”.Phone=”12345678”EndWith7本章提要:VB语法与Basic的异同注释语句长语句的分行条件语句循环语句运算操作数据定义与赋值函数和过程一、VB与BasicVB之所以叫做“VisualBasic”就是因为它使用了Basic语言作为代码,所以它们之间有着千丝万缕的关系,如果学过Basic的话,看到VB的程序结构会感到很亲切。但VB作为新生物,也超越了Basic的限制,有了许多自己的特点:VB建立了一种新的变量类型――货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。VB在调用函数(Function)时,必须在函数名后跟一对括号。VB对白兰地使用范围重新做了规范,在Basic里把隐含变量都当作全局变量,而在VB里对隐含变量都当作局部变量。VB里的说明语句(Declare),仅支持动态链结库(DLL)的子程序和无变量函数。使用数组,必须事先用Dim或Redim进行定义。二、注释语句8在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。在VB里,注释语句有两种,一种是用“Rem”关键字,这跟DOS里的批处理文件的用法一样,还有一种是利用单引号“’”,例如:‘DimaAsString与RemDimaAsString的作用是一致的。三、长语句的分行在比较早的版本中,因为没有象C等语言用“;”隔开语句与语句,VB的语句是必须写在一行里的,不过后来版本的VB里如许用分行符“_”把一个长语句分成若干行来存放。四、条件语句如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环,VB自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。在条件语句里,我们先来学习“If……Then……”语句。它的一般语法是:If条件Then语句语句………EndIf与C语言不同,VB的条件语句更符合英语的语法,如果Then后面所跟的语句只有一条,可以写成:If条件Then语句而不用EndIf。9有时我们还会用到If条件Then语句Else语句En
本文标题:VisualBasic初学者教程
链接地址:https://www.777doc.com/doc-2854815 .html