关于VB的基本知识.docx

上传人:小飞机 文档编号:3306038 上传时间:2023-03-12 格式:DOCX 页数:14 大小:46.48KB
返回 下载 相关 举报
关于VB的基本知识.docx_第1页
第1页 / 共14页
关于VB的基本知识.docx_第2页
第2页 / 共14页
关于VB的基本知识.docx_第3页
第3页 / 共14页
关于VB的基本知识.docx_第4页
第4页 / 共14页
关于VB的基本知识.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《关于VB的基本知识.docx》由会员分享,可在线阅读,更多相关《关于VB的基本知识.docx(14页珍藏版)》请在三一办公上搜索。

1、关于VB的基本知识Visual Basic入门教程 第一章 介绍 我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于DOS下的编程语言,譬如C、Qbasic、Pascal等等,真不知何年何月才能有所成就。 编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头

2、脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。 VisualBasic可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着VB6.0的研制、测试,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如IE之于浏览器领域,帝国时代之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手DDDe

3、lphi,有人把它称作VB杀手,这显然有偏激之处,VB的确有它的不足之处,但Delphi又何尝不是呢,而且以微软对VB的倾心,VB的功能必然会越来越强大。 VB的诞生 VB的出现可以说是MicrosoftWindows的日渐成熟的必然产物。MicrosoftWindows为程序员和最终用户提供了一个共同的人机界面。对用户,Windows提供了一个图形鼠标的操作环境,该环境对所有的应用程序都一样;对于程序员,Windows提供了一组预定义工具-称之为MicrosoftWindows的软件开发工具箱,该工具能使程序员建立一个与Windows界面相同的应用程序,而且,程序员不必关心最终用户的硬件配置

4、情况。在这一开发环境中,程序员唯一困难的是MicrosoftSDK提供了六百多个函数和与其一致的事件驱动编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用C语言描述这些问题。因此一般情况下,程序员首先要掌握C程序设计技术,而后再开始学习SDK。这样的条件下就要求在Microsoft多任务环境下出现一种操作方便,使用简单的新工具VisualBasic由此诞生。 何为可视 英文Visual的意思是“视觉的”,“可视的Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,

5、实际上你无需编程,就可以完成许多步骤。在VB中引入了控件的概念,在Windows中控件的身影无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。 我的希望: 我在学习VB的过程中也曾遇到了许多困难,而且用的参考书大都来自译文,毕竟美国人和中国人的表达方式有所不同。这也造成了理解上的困难,所以我想为什么我不能写一个给中国人看到VB教程呢,于是我这么做了。也曾经在杂志上发表过几篇用VB制作小程序的文章,但受杂

6、志的限制,总没有一个机会系统的介绍一下VB,造成了小小的遗憾。不过,我自己的主页建好后,终于这个愿望可以实现了,利用HTML可以方便的把文字与图片结合起来,不失为一个教学良所,也希望能够得到大家的支持。 希望“VB教程”能给你我一个互相学习的机会,如果你能从中获益那将是我最大的快乐,那时你一定会发现编程比游戏有趣得多 第二章:事件、属性及数据类型 以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好VB,我们一定要打好基础才行。 一、事件 通过上一章的例子,你可能对“面向对象的编程”已经有了一定了解,它是由事件驱动的,对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时

7、就会触发MouseMove事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般的事件进行一下解释。 窗体和图象框类事件 Paint事件:当某一对象在屏幕中被移动,改变尺寸或清除后,程序会自动调用Paint事件。注意:当对象的AutoDraw属性为True时,程序不会调用Paint事件。 Resize事件:当对象的大小改变时触发Resize事件。 Load事件:仅适用于窗体对象,当窗体被装载时运行。 Unload事件:仅适用于窗体对象,当窗体被卸载时运行。 2.当前光标事件 GotFocus事件:当光标聚焦于该对象时发生事件。 LostFocus事件:当光标离开该对象时发生事件。 注

8、意:Focus英文为“焦点”、“聚焦”之意,最直观的例子是,比如有两个窗体,互相有一部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态,并且标题条变成蓝色,这就是GotFocus事件,而相反,另外一个窗体被遮盖,并且标题条变灰,称为LostFocus事件。上面所说的“光标”并非指鼠标指针。 3.鼠标操作事件 Click事件:鼠标单击对象。 DbClick事件:鼠标双击事件。 MouseDown、MouseUp属性:按下/放开鼠标键事件。 MouseMove事件:鼠标移动事件。 DragDrop事件:拖放事件,相当于MouseDown、MouseMove和MouseUp的组

9、合。 DragOver事件:鼠标在拖放过程中就会产生DragOver事件。 4.键盘操作属性 KeyDown、KeyUp事件:按键的按下/放开事件。 KeyPress事件:按键事件。 5.改变控制项事件 Change事件:当对象的内容发生改变时,触发Change事件。最典型的例子是文本框。 DropDown事件:下弹事件,仅用于组合框对象。 PathChange事件:路径改变事件,仅用于文件列表框对象。 6.其他事件 Timer事件:仅用于计时器,每隔一段时间被触发一次。 二、属性 每个对象都有它的属性,并且“Name”属性是共有的,有了“Name”属性才可以在程序中进行调用。对于属性,可以在

10、窗体的布局操作中完成,也可以在程序运行中改变,这取决你的需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的实例中具体介绍各个属性的作用。 三、数据类型 学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB也不例外。其实,在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型数据占2字节,而长整型数据占4个字节,定义合适的数据类型,不

11、管你相信不相信,它可以节省内存! VB常用的数据类型有:整型、长整型、实型、双精度实型,字符,布尔。 数据类型的定义方法: 定义变量最简单的方法是用“Dim”关键字,它的语法: DimAs 如:DimIndexAsInteger 也可以在一行中定义多个变量,如: DimIndexAsInteger,DimNumberAsLong 把多个变量定义成同一类型可以写成: DimIndex,NumberAsInteger 更可以在定义时进行初赋值: DimIndex=3 有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“”代替,长整型可以用“&”代替,实型可以用“!”,双精度实型可

12、以用“#”定义,如刚才的第一个例子可以写成: DimIndex等价于DimIndexAsInteger 对于常量的定义用Const定义,如:ConstCOLOR=255。 为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。 注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。 数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如: DimIntegerArray(99)AsInteger 这个数组中包含100个元素,脚标从0到

13、99。 也可以指定脚标的起始值,例如: DimIntegerArray(2to10)AsInteger 这个数组含有九个元素,脚标从2到10。 还可以定义多维数组: DimThreeD(4,2to5,3to6)AsInteger 上例定义了一个3d/33.shtmltarget=_blankclass=article三维数组(444)。 记录的定义 记录定义是把控制权交给用户的方法,它让用户可以定义自己的数据类型,它使用关键字“Type”,方法是: Type As As As EndType 例如,定义一个地址数据: TypeAddress StreetAsString ZipCodeAsSt

14、ring PhoneAsString EndType 这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型: DimMyHomeAsAddress 要调用或改变“MyHome”的值时,类似于对对象的属性的操作: 变量名.域名“” 为了简化书写重复的部分,可以用关键字“With”: WithMyHome .Street=”阜成路” .ZipCode=”100037” .Phone=”12345678” EndWith 第三章:Visual Basic语言 本章提要: VB语法与Basic的异同 注释语句 长语句的分行 条件语句 循环语句 运算操作 数据定义与赋值 函数和过程

15、 一、VB与Basic VB之所以叫做“VisualBasic”就是因为它使用了Basic语言作为代码,所以它们之间有着千丝万缕的关系,如果学过Basic的话,看到VB的程序结构会感到很亲切。但VB作为新生物,也超越了Basic的限制,有了许多自己的特点: VB建立了一种新的变量类型DD货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。 VB在调用函数时,必须在函数名后跟一对括号。 VB对白兰地使用范围重新做了规范,在Basic里把隐含变量都当作全局变量,而在VB里对隐含变量都当作局部变量。 VB里的说明语句,仅支持动态链结库的子程序和无变量函数。

16、使用数组,必须事先用Dim或Redim进行定义。 二、注释语句 在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。 在VB里,注释语句有两种,一种是用“Rem”关键字,这跟DOS里的批处理文件的用法一样,还有一种是利用单引号“”,例如: DimaAsString与 RemDimaAsString的作用是一致的。 三、长语句的分行 在比较早的版本中,因为没有象C等语言用“;”隔开语句与语句,VB的语句是必须写在一行里的,不过后来版本的VB里如

17、许用分行符“_”把一个长语句分成若干行来存放。 四、条件语句 如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环,VB自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。 条件语句里,我们先来学习“IfThen”语句。 它的一般语法是: IfThen EndIf 与C语言不同,VB的条件语句更符合英语的语法,如果Then后面所跟的语句只有一条,可以写成: IfThen 而不用EndIf。 有时我们还会用到 IfThen Else EndIf 更可以在Else里在嵌套If语句,如: IfThen ElseIf Else EndIf 所有这

18、些可以用一个表格表示: 条件1 True False 语句1 条件2 True False 语句2 条件3 True False 条件N True False 语句N 语句N1 用了过多的Else后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有Select语句帮助解决这个问题。 VB里的Select语句的格式是这样的: SelectCase Case Case Case CaseElse EndSelect 例如: SelectCasea Case1 Print“a=1” Case2 Print“a=2” CaseElse Print“adoesnotequalto1or2.”

19、EndSelect 四、循环语句 循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句输入多次,而通过循环结构完成,非常方便。 C语言里有一个“for”循环语句,VB里也有“For”关键字,作用也差不多,只是VB的“For”语句更容易理解。它的格式是: For=ToStep Next 在默认情况下,Step被设为“1”,可以省略,Step也可以设为负值,例如: Dima=0 ForI=1To10 a=a I NextI 这是一个最简单的累加器的例子,把1到10累加在一起,然后赋值给“a”

20、这样的效果和上面是一样的,只不过是倒着加罢了,请看: Dima=0 ForI=10To1StepC1 a=a I NextI While语句也是一个很常用的循环语句,它的形式很多。 DoWhileLoop语句 WhileWend语句 DoLoopWhile While后面都跟逻辑条件判断,“DoWhileLoop语句”和“WhileWend语句”作用相似,都是先判断While后面的条件是否为“真”,如果为“真”则执行里面的语句,如果为“假”,则退出循环,循环直至条件为“假”终止。“DoLoopWhile”与前两者的区别在于,它不管条件的真假,都会先执行“Do”后面的语句,也就是说,它至少执行语

21、句一次。 与While用法相似的还有Until语句,它是直至条件为真则终止循环,句式把While上述三个语句的While换成Until即可,但是因为容易记混,所以我建议只用While即可。Until可以相当于WhileNot。 For循环和Whlie循环应当根据适当的环境使用,它们有时也可替换。 五、运算操作 数学运算 :加法运算,也适合于字符串的之间的合并运算。 :加法运算。 *:乘法运算。 /:除法运算。 :整除运算。 Mod:求余运算。例如:aModb表示a被b整除以后的余数。 :幂运算。AB表示以A为底的B次方。 关系运算 关系运算也称比较运算,它表示不等式的真或假,VB共提供六种运算

22、符,分别是=,=,=和。 逻辑运算 逻辑运算是对真或假的运算,我将列表说明: 第四章 按钮 从本章开始我们将正式进入VB的编程世界,但这还仅仅是个开端,要编出功能强大的软件,还要学很多东西,那就要看以后的VB高级教程了,我也得努力学啊! 按钮是我们在Windows操作见到最多的控件,它们有着各种各样的功能:“确认”、“取消”、“下一步”等等,这些都是按钮的表现,另外还有很多图形话的按钮,其实它们并没什么不同,所有的按钮都是通过单击事件实现的,只不过是在外表不同罢了。下面就让我们建立一个最简单的按钮,双击工具箱的CommandButton,将在窗体上建立一个形如图41的按钮,它的缺省名为Comm

23、and1,我们可以把它改名为cmdExit,把Caption属性设为“退出”,然后双击,按钮填写代码: PrivateSubcmdExit_Click UnloadMe EndSub 按下F5或者工具条上的播放按钮,运行程序。图42当你按下退出按钮的时候,就会自动退出程序,原因是当你单击按钮时激活了它的Click事件,执行“UnloadMe”语句,使得窗体被卸载。 上面举了一个比较简单的例子,下面的例子稍微复杂些: 新建窗体,控件布局如图43所示,包括一个List控件,一个Text控件和两个按钮, ,对它们属性做如下修改: List1 Caption“请输入你的名字” Text1 Text“”

24、,是使程序在初始时,无法单击Command1。按F5,运行程序,图44,复原按钮成为灰色,不可选。 当然现在程序还什么也不能做,下面我们在程序中添加代码: 首先在General里声明全局变量: DimStoreStringAsString用来储存字符串 注意:为什么用全局变量? VB里每一个小过程都相当于一个程序,程序里的变量称为局部变量,是只能在程序内部使用的,而当程序调用结束后,由于从内存中被清除,所以变量储存的值也就消失了,这里的全局变量是用来在过程中传递字符串。 接着填写以下代码: PrivateSubCommand1_Click Text1.Text=StoreString Comm

25、and1.Enabled=False EndSub PrivateSubCommand2_Click StoreString=Text1.Text Text1.Text=清除 Command1.Enabled=True EndSub 运行程序,如图45。按下“清除”,文本框被清除,按下“复原”,文本有被恢复,许多程序中的Undo/Redo就是利用这个原理实现的,现在知道为什么内存越多越好了吧。 我们在把程序修改一下,把Button2删除,Button1的Enabled属性改为True,Caption改为“清除”,填写代码: PrivateSubCommand1_Click IfCommand1

26、.Caption=清除Then StoreString=Text1.Text Text1.Text=清除 Command1.Caption=复原 Else Text1.Text=StoreString Command1.Caption=清除 EndIf EndSub 同样可以上面的功能,但是却少用了一个控件,控件使用少的程序启动会快些。 下面的例子要更加复杂些,大家一定都用过Windows附件中的计算器,它是一个标准的科学计算器,利用VB我们也可以做到,只是没有那么复杂,四则运算而已。 先建立一个新的项目文件,里面包含一个Form1的窗体。然后,添加控件,包括一个Text框,和17个按钮,这1

27、7个按钮使用的名称都是Command1,只是Index属性不同,就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮,然后在Command1上击鼠标右键,选择复制,然后在窗体上任意部位击右键,选择粘贴,系统会提示是否创建控件组,选择“是”,重复上面步骤,直至创立17个按钮为止。各控件属性如下表: Text1 BackColor&H00C0FFFF& Text“0.” Command1 Index0DD16 Index0DD9Caption=“0”“9” Index10Caption=“.” Index11Caption=“=” Index12Caption=“ ” Index13Cap

28、tion=“-” Index14Caption=“” Index15Caption=“” Index16Caption=“清除” 如果想改变一些其他的属性,比如字体,可以自己定义一下Font属性,如果相对多个控件的共同属性进行改变,可以在窗体上按下鼠标,拖动,把多个控件一起选定,然后对它们的共同属性进行修改。 别看这个东西小,还费了近我两个小时呢,不觉大叹手生,里面也有些地方很绕弯子,我尽量解释清楚。 在编写程序之前,我们先来回顾一下计算器的使用。 按下数字键在液晶屏上会出现数字,这是最基本的功能。 第一次按下运算键,再按下数字键,将重新输入第二个数字,再次按下运算键,将算出前两个数的结果,然

29、后按下数字键,将又重新输入新的数字。 输入数字后,按下“等于键”将仍输出原来的数字,输入运算符和第二个数字后在按下“等于”,将得到二者的结果。然后又重复第二、三步。 按下“清除”,数据被全部清除。 了解了这些,我们一步一步实现。 先实现数据的输入,请看代码。 与未创立组的控件相比,它的事件里多了Index参数,组里所有的对象都使用同一个事件。 先在General里声明窗体级全局变量: DimNum1,Num2AsSingle DimStrNum1,StrNum2AsString DimFirstNumAsBoolean判断是否是数字开头 因为Text1里是存放字符串的,所以要把输入的数据进行运

30、算,必须把字符型变量转变为实型变量,分别用Num1、Num2和StrNum1、StrNum2进行存放。 在Form_Load事件里给变量初赋值: Num1=0 Num2=0 StrNum1= StrNum2= FirstNum=True 因为17个按钮使用的是同一事件,所以我们用一个SelectCase语句区分各个按钮,双击任意按钮输入代码: PrivateSubCommand1_Click(IndexAsInteger) SelectCaseIndex Case0To9 IfFirstNumThen StrNum1=Str(Index)实型转字符型 FirstNum=False初赋值为假 Else非初赋值 StrNum1=StrNum1 Str(Index) EndIf Text1.Text=StrNum1显示 EndSelect EndSub 全自动集成安装SP6升级补丁,版本号为6.0.9782,安装完即可使用。 序列号:111-1111111 84143-111-111111-16958 d0zFtpDown

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号