版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于vb语言和怎样学习vb vb6.0全称为visualbasic 6.0,是微软公司推出的可视化编程工具msdn之一,是目前世界上使用最广泛的程序开发工具。如果你是一个对编程一无所知,而又迫切希望掌握一种快捷实用的编程语言的初学者,那选择vb 6.0没错的。即使考虑到vb程序本身编译和运行效率较低的不足(嘻嘻速度现在不是问题吧),单是它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,它仍不失一款优秀的编程工具,是初学者的首选。也许你会问,我以前没学过任何一种语言,我能快速上手吗?别担心,没问题vb的语法的和qbasib语言是基本相同的,也就是说它的语法是最容易被初学者所接受的。另外vb
2、提供的是可视化的开发环境,我们可以象搭积木一样构建出程序的界面,而且vb提供了丰富的控件组,省去了我们自己写代码实现这些效果的麻烦,这样我们就能把更多的精力放在程序功能的实现上,所以vb学起来简单,用起来方便。接着看看vb语言的前景,在目前各种编程语言共存的时代,vb会不会落伍呢?当然不会了,在我写这篇文章的同时,微软已经透露了vb7.0将完全面向对象的消息,可以肯定下一代vb的功能一定会强大很多,我们这些所谓的 vb 程序员总算可以放心了,vb不会落后于时代,毕竟它是使用人数最多的优秀的开发工具。好了,侃了这么多关于vb的台前幕后,总之是为想学编程的你树立信心,编程一点都不难,只要你决定了开
3、始,就让我们一起踏上愉快的编程之旅吧。接下来谈谈怎样学习vb,先说说“看实例学vb6.0”系列教程,它是面向编程初学者的vb入门教程,这个教程的特点是抛开晦涩难懂的概念和语法,不做内容上的堆积和罗列,而是采用了每节一个生动有趣的小例子的形式,每个小例子中会涉及到一个或几个vb编程的知识点(可能是控件,也许会是某个函数或编程小技巧),使你快速入门。希望你学完此教程后能达到下述的效果: 从对编程一窍不通或从未接触过编程的状态,通过学习能够对vb6.0的编程环境比较熟悉,掌握vb开发界面的使用方法;对vb语言的基本语法大致了解,知道常见的语句的意义;学习vb常用控件的使用方法,并能将它们灵活运用到应
4、用程序中;能开发简单的vb程序。到那时你已经能够继续深入的学习vb编程,嘻嘻,目标就是这样啦。然后谈谈学习编程的方法,万事开头难,刚刚开始,遇到些困难没关系,慢慢来。编程是一个不断学习,不断积累的过程,编程的乐趣也正是存在于学习的过程中。我们每学一点,就赶快把它用到实际的程序中去,自己多学多用多实践,水平才能不断提高,这就是“学以致用”。另外,编程涉及到很多的知识,象操作系统的、软件工程的、硬件系统的以及编程思想等各个方面,这就需要我们多看看这方面的资料,扩充自己的知识面。教程分为三个大的部分,它们是由浅入深的一个系列,分别是:一、熟悉一下vb6.0的编程环境二、学习vb常用控件的使用方法三、
5、试着开发简单的vb应用程序好了,下面就一起来开始我们的学习吧。认识一下vb 6.0的编程环境 vb6.0采用可视化的编程环境,它好学易用,运行vb6.0后,会出现如下图所示的窗口,呵呵,看起来蛮复杂的,好多的按钮、菜单、小窗口,别担心,待会儿我们会一起学习这些东东都是干什么用的。先来解决一个小问题,怎么新建一个vb的工程呢?方法是这样的,在程序启动时出现的“新建工程”对话框中选择“标准exe”并点击确定,就能直接新建一个工程,如果你跳过了这个对话框则也可从“文件”菜单中选择“新建工程”重新调出此对话框。下面一起来看看vb的编程环境,虽然看起来复杂,但可以把它分为几个部分,每个部分都有自己特定的
6、功能,这样我们就清楚多了。其实vb这是通过这样一个界面把相近或同类的功能组合在一起的,它使我们在设计程序时能方便的控制程序的方方面面。窗体的最上层是“vb 6.0的菜单”和“便捷工具按钮”,菜单中包含了所有的vb提供的功能的选项,而其中一些常用的功能或操作选项则被提取出来放在了“便捷工具按钮”中,通过点击这些快捷按钮可以加快程序开发的速度,下图标出了常见的工具按钮的作用,记着使用它们哦。接着看看“vb的组件面板”和“窗体设计区域”,vb提供了方便的窗体设计区域,它位于整个编程窗口的中间。我们可以在这个区域中搭建出美观实用的程序界面,试着从“vb的组件面板”中找到“按钮commandbutton
7、”,点击选中后,再到“窗体设计区域”的窗体上点一下,这时,窗体上会出现一个按钮,这样我们就把按钮添加到我们程序的界面中了。嘻嘻,忘了告诉你哪里是“vb的组件面板”了,就是最左边的那一条包含许多看起来眼熟的小东西的区域,它是vb提供给我们的标准的编程组件(控件),它把程序设计中常常用到的诸如按钮、图片框、列表框等等东西作好了放在那里,我们如果要使用只须添加到窗体中即可。 屏幕的右边有三个从上到下排列的小窗口,它们分别是:“vb工程管理器”:用来管理开发一个vb程序所需要的各种类型的窗体和模块,如左图是一个工程所包含的东西,窗体是一个程序表现在外面的界面、模块是程序内部使用的代码。当我们点击“添加
8、窗体”便捷工具按钮后,左图的“vb工程管理器”中就会显示出新添加的窗体,这也就是“vb工程管理器”的功能,它使我们从总体上把握程序开发的各个部分。组件属性窗口”:用来显示组件的属性,并允许我们修改,设定这些属性的值,我们在窗体设计区域的窗体上选中一个组件,以按钮为例,则在“属性窗口”中会列出它的属性,我们可以看到常用的“name”、“capition”、“font”等等属性,试着把“capition”属性改为“这是一个按钮”,然后看看“窗体设计区域”的按钮上“窗体布局窗口”:调整程序运行时,程序窗体在屏幕中的初始位置,把鼠标移到左图屏幕中的窗体上,这时鼠标会变成移动形状,拖动窗体,就设置好了运
9、行时此窗体的位置。好了说了这么多,还差一个区域没讲,那就是“代码编辑区域”,当我们在“窗体设计区域”双击鼠标,就能弹出这个区域,可以看到一行行的vb程序显示在其中,我们可以修改,写入程序代码,来让程序实现一定的功能,它是整个程序设计的关键,如果你对vb语言的语法还不是十分了解,可以继续下一节专门对“vb语法”的讲解,别着急,慢慢来,很快就能入门的。 “vb工程管理器”:用来管理开发一个vb程序所需要的各种类型的窗体和模块,如左图是一个工程所包含的东西,窗体是一个程序表现在外面的界面、模块是程序内部使用的代码。当我们点击“添加窗体”便捷工具按钮后,左图的“vb工程管理器”中就会显示出新添加的窗体
10、,这也就是“vb工程管理器”的功能,它使我们从总体上把握程序开发的各个部分。“组件属性窗口”:用来显示组件的属性,并允许我们修改,设定这些属性的值,我们在窗体设计区域的窗体上选中一个组件,以按钮为例,则在“属性窗口”中会列出它的属性,我们可以看到常用的“name”、“capition”、“font”等等属性,试着把“capition”属性改为“这是一个按钮”,然后看看“窗体设计区域”的按钮上显示的文字是不是改变了。vb的简单语法学习“窗体布局窗口”:调整程序运行时,程序窗体在屏幕中的初始位置,把鼠标移到左图屏幕中的窗体上,这时鼠标会变成移动形状,拖动窗体,就设置好了运行时此窗体的位置。好了说了
11、这么多,还差一个区域没讲,那就是“代码编辑区域”,当我们在“窗体设计区域”双击鼠标,就能弹出这个区域,可以看到一行行的vb程序显示在其中,我们可以修改,写入程序代码,来让程序实现一定的功能,它是整个程序设计的关键,如果你对vb语言的语法还不是十分了解,可以继续下一节专门对“vb语法”的讲解,别着急,慢慢来,很快就能入门的。 vb语言的语法和qbasic基本一致,可以说如果你能读懂qbasic程序,那你读vb的程序是没有问题的,这一节中我们只是简单的讲一讲vb的语法,因为在今后的各个实例中我们会不断接触到新的语法知识,这也是一个积累的过程。如果你还记得上节中的内容,我们提到过如果在“窗体设计区域
12、”的某个组件(控件)上双击鼠标,会出现“代码编辑窗口”,也就是如下图的窗口,我们可以在其中输入或是修改程序的代码。在我们双击控件到写入代码的这个过程中,我们涉及到了一个很重要的概念,这是vb与qbasic的主要差别之一,大家知道在qbasic包括tubro c,tubropascal等语言中程序从一开始就需要我们一点点的写代码来实现所有的功能,比如程序运行的界面,输入输出,键盘控制等,它们在程序中体现为一个个的过程或者是函数及子程序,它们都是完全面向过程的编程语言;但是现在的vb、vc、delphi等编程语言,都提供了可视化的编程环境,备有一整套常见的组件(控件)供我们使用,这些控件可以看作是
13、对象(vb严格的说不是完全面向对象的编程语言),我们写程序时会直接与这些对象打交道,而不象原来。所以在vb中大部分的代码是与这些相关的,例如下图所示的一段代码,它是我们在一个按钮(command)上双击鼠标而由vb自动产生的一个子过程,private sub command1_click()是子过程的开始,end sub表示子过程的结束。然后我们可以在子过程中添加程序代码,也就是由我们自己来写当按钮被点击时,程序所做出的响应。下面我们便来分析一下这段代码。b中声明一个变量使用“dim 变量名 as 变量类型”的方法,一般在程序中使用的到的变量都应该有变量声明,如上例中的a、b、i分别被定义为整
14、型和字符串型变量,vb中的变量类型有以下几种:数据类型说明byte二进制数 boolean 真假值 integer 整数 long长整型single 实数 double双精度型 currency 货币 date 日期和时间 object 对象 string 字符串 variant可变类型控制结构和循环结构是程序设计中常见的两种结构。计算机在运行程序的时候,执行语句的顺序是从上向下的。 有些简单程序可以只用单向流程来编写,但稍微复杂的程序就要靠控制语句来控制程序执行的流程。控制结构主要有两种,分支结构和循环结构。 分支结构:分支结构事实上是一种选择,在不同的条件下选择执行不同的程序段。实现分支结
15、构的语句有很多,最常用的是ifthenelse。例如: if 条件 then 程序段一 else 程序段二 end if 如果条件满足了,电脑将执行程序段一中的语句,然后跳过程序段二,执行下面的语句。如果条件不满足,电脑将跳过程序段一种的语句,执行程序段二,然后继续执行下面的语句。 循环结构:循环结构就是让电脑反复的执行某一程序段落干次。 用doloop可以循环重复执行一语句块,且重复次数不定。 在已知循环次数的条件下,用fornext可以反复执行统一语句块。以上两种结构你可以参照图中所示的代码,仔细体会一下,今天就讲这么多了,下节我们就要进入实例式的控件学习。简单的文本框textbox的例子
16、 文本框控件(textbox)是vb中最常用的控件。它是显示和输入文本的容器,相当于一个文字编辑器,提供了所有基本的文字处理功能,例如文本的编辑等。在下面这个小程序中,我们能看到文本框控件(textbox)的最基本的属性。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:这个例子的两个窗体界面如下:主窗体窗体(formback)我们首先新建一个标准的exe工程。添加两个窗体,并把textbox、button、label控件放置在窗体上。各文本框的名称如下表:文本框名称名称属性文本框名称名称属性会员编号文本框textid电子邮件文本框textmail密码文本框textpassw
17、ord个人介绍文本框textresume姓名文本框textname会员信息文本框textall在属性窗口中将textpassword的passwordchar属性设为*;textresume的multiline属性设为ture,scrollbars属性设为2 -vertical;textall文本框的multiline属性设为为ture, scrollbars属性设为2 -vertical,appearance属性设为为0 - flat。下一步我们为formtxtbox窗体中“确定”(cmdok)和“清除”(cmdclear)按钮的click事件中添加相应的程序。其中:textid.text
18、= 是把会员编号文本框中的内容清空,其它语句与此类似。formback.textall.text = lblid.caption & & textid.text _ & vbnewline & 该语句设置formback窗体中textall文本框的文本。vbnewline是换行显示标志。“ _”是续行标志,当语句一行写不下时使用此标志,但要注意:前面要加空格。 代码写好之后,我们就可以保存工程,然后按“ctrl+f5”键,测试检验一下我们的程序了。简单的列表框listbox的例子列表框(listbox)控件表示一个选项清单,用户可能用鼠标选择其中一个或者几个选项。 列表框的特点是:列表框中的项
19、目是通过程序插入到其中的,用户无法向清单中输入数据,当选择其中的项目,并在用户单击一个按钮或者执行某个操作时,由应用程序完成对指定项目的具体操作。下面这个例子充分说明了列表框的这个特点,并介绍了列表框(listbox)的常用属性。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码: 这个例子包含一个窗体,窗体中有两个列表框(list1、list2)和八个按钮,界面如下:窗体(formlistbox)我们首先新建一个标准的exe工程,添加一个窗体,并把列表框和按钮控件添加到窗体上。各按钮控件的名称如下表:按钮名称名称属性按钮名称名称属性删除所选项目(左)list1movecmd删
20、除所选项目(右)list2movecmd增加新项目(左)list1addcmd增加新项目(右)list2addcmd清除弄表(左)list1clearcmd清除列表(右)list2clearcmd右箭头lefttorightcmd左箭头righttoleftcmdlist1列表框 sorted属性设为“false” list2列表框 sorted属性设为“true” multiselect属性设置为2 即list2控件中的项目总是排序的 在属性窗口中,将list1列表框 sorted属性设为“false”;list2列表框 sorted属性设为“true”,multiselect属性设置为2,
21、即list2控件中的项目总是排序的。下一步我们为各控件添加相应的程序。其中:list1.additem china 是将“china”添加到列表框中。list1.listindex 返回的是列表框list1中当前选择项目的索引号码。 list1.listcount 返回的是列表框list1中项目总数。list1.listcount - 1 返回列表框list1中最后一个项目的索引号。list1.selected() 返回的是一个项目的选择状态,返回的是布尔值。代码写好之后,我们就可以保存工程,然后按“ctrl+f5”键,测试检验一下我们的程序了。在这个小程序中,包含了列表框中的一般常用属性和方
22、法。commomdialog使用的例子 commondialog控件是常用的一个控件,它为我们提供了打开、另存为、字体、颜色、打印、帮助等几种类型的标准对话框,本例演示了所有这些类型的对话框的使用方法。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:这个例子包含一个窗体,窗体中有两个列表框(list1、list2)和八个按钮,界面如下: 窗体(formlistbox)我们首先新建一个标准的exe工程,添加一个窗体,并把列表框和按钮控件添加到窗体上。各按钮控件的名称如下表:按钮名称名称属性按钮名称名称属性删除所选项目(左)list1movecmd删除所选项目(右)list2m
23、ovecmd增加新项目(左)list1addcmd增加新项目(右)list2addcmd清除弄表(左)list1clearcmd清除列表(右)list2clearcmd右箭头lefttorightcmd左箭头righttoleftcmdlist1列表框 sorted属性设为“false” list2列表框 sorted属性设为“true” multiselect属性设置为2 即list2控件中的项目总是排序的 在属性窗口中,将list1列表框 sorted属性设为“false”;list2列表框 sorted属性设为“true”,multiselect属性设置为2,即list2控件中的项目总是
24、排序的。下一步我们为各控件添加相应的程序。其中:list1.additem china 是将“china”添加到列表框中。list1.listindex 返回的是列表框list1中当前选择项目的索引号码。 list1.listcount 返回的是列表框list1中项目总数。list1.listcount - 1 返回列表框list1中最后一个项目的索引号。list1.selected() 返回的是一个项目的选择状态,返回的是布尔值。代码写好之后,我们就可以保存工程,然后按“ctrl+f5”键,测试检验一下我们的程序了。在这个小程序中,包含了列表框中的一般常用属性和方法。commomdialog
25、使用的例子 commondialog控件是常用的一个控件,它为我们提供了打开、另存为、字体、颜色、打印、帮助等几种类型的标准对话框,本例演示了所有这些类型的对话框的使用方法。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:如果控件面板中没有commondialog控件的小图标,必须先从“添加控件对话框”中添加,下面我们来看看怎样调用不同类型的对话框。commondialog控件有一系列的show方法,例如:showopen、showsave、showfont、showcolor、showprinter、showhelp等,这些方法的使用语法是类似的,如下所示:object.
26、showopen,我们只须在程序中写入这个语句,就能调出“打开”对话框,同样也能调用其它类型的对话框。而commondialog控件的属性是和不同的对话框类型紧密相关的,有些属性只适用于某一类对话框,有些属性在不同的对话框中的属性是有差别的,所以下面分类列出了和不同对话框相关联的属性的用法。与showopen、showsave方法相关的属性:filename属性:返回或设置所选文件的路径和文件名,如果在使用show方法以前使用filename属性,则设定了对话框的默认文件名;如果是在以后使用则返回选择的文件名。使用语法是: commondialog.filename=pathname filt
27、er属性:返回或设置在对话框的类型列表框中所显示的过滤器(也就是限定打开或保存为的文件类型),它的使用语法是:object.filter = 描述文字1 |过滤标示1 |描述文字2 |过滤标示2其中描述文字为任意文字,而 过滤标示则采用*.文件后缀(例如:*.bmp)的格式,描述文字和过滤标示之间用“|”隔开。defaultext属性:为该对话框返回或设置缺省的文件扩展名,也就是当我们没有指定打开或保存的文件类型时,按defaultext属性所设置的扩展名为默认值。与showfont方法相关的属性:color选定的颜色。为使用此属性,必须先将flags属性设置为cdlcfeffects。 fo
28、ntbold 是否选定“粗体”。 fontitalic 是否选定“斜体”。 fontstrikethru 是否选定删除线。 fontunderline 是否选定下划线。 fontname 选定的字体名称。 fontsize 选定的字体大小。使用的语法是直接引用,比如我们要根据“字体对话框”返回的值设置文本框的字体,则直接采用语句:text.font=commondialog.fontnname 与showcolor方法相关的属性:color选定的颜色。为使用此属性,必须先将flags属性设置为cdlcfeffects。与showhelp方法相关的属性:helpcommand属性 返回或设置需要
29、的联机帮助的类型 helpfile属性确定帮助文件的路径和文件名语法是: object.helpfile = filename 下面看看cancelerror属性,它设置当选取“取消”按钮时是否认为出错,使用的语法是:commondialog.cancelerror= boolean (boolean指布尔型变量)如果我们把它设为true,则当使用者选取了“取消”按钮时程序会返回一个cdlcancel错误,通过捕捉这个错误并加以处理,我们就能避免程序的出错。具体的使用可在源码中看到实例。在状态栏中显示帮助信息 状态栏是vb中的一个很有用的控件,但是默认状态下它不在控件面板中,在我们使用它之前必
30、须先添加,方法是按下ctrl+t快捷键,在弹出的“components”对话框中选中ms windows common controls。这时在控件面板中会出现状态栏的小图标,双击此图标就能把它添加到窗体中。接下来我们根据自己的需要来编辑状态栏,选中窗体上的状态栏,在鼠标右键菜单中选择“属性properties”,这时会弹出如上图所示的对话框,我们选择“panels窗格”。其中“insert panel”按钮用来添加状态栏中的窗格数目,当我们添加一个窗格后“index”的值也会自动加一,在程序中我们通过窗格的索引值来引用窗格。下面的一些项目都是窗格的属性,我们可以在此设置也可在程序中控制它。比
31、较常用的属性有:“text”-在各个窗格中显示的文字;“alignment”-窗格中文本的对齐方式;“style”窗格的样式(选择0-sbrtext为显示文本,选择6-sbrdate为显示日期等等);“bevel”-窗格的凹凸状态。另外我们还可以在窗格中加入图片,方法是点击“browse”然后选中图片文件。在本程序中我们在第一个窗格中动态显示帮助信息,在第二、三个窗格中分别显示日期和时间。那么怎样在程序中控制状态栏中显示的文本呢?例如我们希望鼠标移动到不同的按钮上时状态栏的第一个窗格中显示不同的帮助,则我们在按钮的onmouseover事件中加入如下语句即可:private sub cmdne
32、w_mousemove(button as integer, shift as integer, x as single, y as single) stasample.panels(1).text = stasample.panels(1).text = 清空文本框 end sub 同样的我们能为其它按钮等控件添加帮助信息。为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:这样状态栏中就能动态显示帮助信息了。使用右键菜单的例子右键菜单能让软件的使用者快捷的完成操作,那么如何把右键菜单用在自己写的程序中呢?在这个小程序中我们能看到编辑并使用右键菜单的方法。为了学习方便,提供的
33、源码已经作了详细的中文注释,看看源码框中的代码:我们先打开菜单编辑器(在工具菜单中),然后添加一个一级菜单popmenu,将它的visible属性设为“false”,这代表菜单在程序运行时是看不到的,由于一级菜单是二级菜单的上级菜单,所以二级菜单也是看不到的。然后我们来添加几个二级菜单,注意每个菜单都有caption属性和name属性,这两个属性是必须写的,caption属性是显示在菜单项上的内容,而name属性则是我们要在程序中引用菜单项的代号,类似与其它控件的name属性。而菜单中分隔线是通过把caption属性设为“-”来实现的。菜单编辑好后,就能在程序中引用并控制它,在本例中我们希望在
34、文本框上点击鼠标右键时弹出这个右键菜单,则需要在文本框的mousedown事件中加入控制语句:private sub richtextbox1_mousedown(button as integer,shift as integer,x as single,y as single) if button = 2 then如果是鼠标右键按下时form1.popupmenu mnufile, 0, x, y弹出右键菜单end ifend sub其中mousedown事件各个参数意义如下:button返回一个整数,用来标识该事件的产生是按下哪个按键,其中左键为0,右键为2,中间键为4 shift 返回
35、一个整数,标示是否同时有shift,ctrl,alt键按下x, y 返回一个指定鼠标指针当前位置的数popupmenu是一个方法:popupmenu方法用来弹出一个菜单,语法是:object.popupmenu menuname, flags, x, ymnufile是我们在菜单编辑器中设计好的菜单的名称x,y是弹出菜单的位置,可以为数字,如果直接写为x,y则是在当前鼠标位置弹出菜单这样就能调出右键菜单,然后我们根据自己的需要,为每个菜单项的click事件编写代码,完成一些特定的操作,右键菜单就可以使用了。最后效果如下图所示:appactivate语句描述:激活其它应用程序。一、语法:appa
36、ctivatetitle,waitappactivate语句的语法具有以下几个命名参数:部分描述title必需的。字符串表达式,所要激活的应用程序的名称。常使用shell函数返回的任务识别码来替换title,以激活应用程序wait可选的。boolean值,取值为true/false。说明在激活另一个应用程序之前调用的应用程序是否有焦点。如果为false(缺省),那么,即使调用的应用程序没有焦点,也直接激活指定的应用程序。如果为true,则调用的应用程序会等到有焦点后,才激活指定的应用程序二、说明:appactivate语句不能打开应用程序,只能激活应用程序(使其变成活动窗口)。在使用appac
37、tivate语句时必须打开应用程序,否则程序会报错。所以通常先用shell函数启动一个应用程序,然后使用appactivate语句激活。三、应用举例:本例使用appactivate语句来激活microsoft excel。建立一个标准工程,在窗体上添加一个命令按钮,将下面的程序粘贴过去。private sub command1_click()appactivate microsoft excel 激活microsoft excel。end sub首先打开microsoft excel,然后运行程序,单击命令按钮,你将看到excel变成活动窗体。下面示例用shell函数启动microsoft e
38、xcel,然后用appactivate语句来激活microsoft excel。在运行程序前,首先找到microsoft excel的路径,并关闭excel。在上面的标准工程中,用下面的程序替换上面的程序,并把路径换成你电脑中microsoft excel的路径,然后运行程序,单击命令按钮,你将看到excel被打开并被激活。private sub command1_click()dim myappidmyappid = shell(c:program filesmicrosoft officeofficeexcel.exe, 1)运行microsoft excel。appactivate my
39、appid 激活microsoft excel。end subbeep语句描述:通过计算机喇叭发出声音。一、语法:beep 二、说明:呼叫的频率与时间长短取决于硬件和系统软件,并随计算机不同而不同。三、应用举例:在调试程序时,有时需要在发生错误时发出音响。本例在程序运行时,如果某一步发生错误,则转到错误处理入口,使用beep语句让计算机发出响声,同时msgbox函数将提示错误。建立一标准工程,在窗体上添加一命令按钮,将下面的程序粘贴过去。private sub command1_click()on error goto errorhandler 发生错误转到错误处理入口msgbox 程序运行e
40、xit sub 程序运行完毕,没有错误退出程序errorhandler: 错误处理入口beep 发出声响。msgbox 出错end sub单击命令按钮,msgbox显示程序运行。现在加入一条错误的激活microsoft excel语句,程序如下:private sub command1_click()on error goto errorhandler 发生错误转到错误处理入口appactivate excel.exe 错误语句。msgbox 程序运行exit sub 程序运行完毕,没有错误退出程序errorhandler: 错误处理入口beep 发出声响。msgbox 出错end sub 单
41、击命令按钮,msgbox显示出错,计算机喇叭发出声音。误区:有些教材用下面的示例使用beep语句让计算机连续响三声,实际上计算机在运行下面的程序时只能响一声,原因是计算机的运行速度远比计算机喇叭发出声音的速度快。dim ifor i = 1 to 3 循环3次。beep 发出一声。next icall语句描述:将控制权转移到一个sub过程,function过程,通俗的讲就是调用一个子程序或函数。一、语法:callnameargumentlistcall语句的语法包含下面部分:部分描述call可选参数;关键字。如果指定了这个关键字,则参数必须加上括号,例如:call myproc(0)name
42、(过程名)必要参数,要调用的过程名称argumentlist(参数列表)可选参数,传递给过程的变量、数组或表达式的列表,各参数间以逗号隔开。argumentlist的每个参数都可以加上关键字byval或byref,来描述被调用的过程将如何处理这些参数。二、说明:调用一个过程时,并不一定要使用call关键字。如果使用call关键字来调用一个需要参数的过程,argumentlist就必须要加上括号。call name(argumentlist)如果省略了call关键字,那么也必须要省略argumentlis外面的括号。name argumentlist如果需要函数的返回值,则应先定义一个变量,然后
43、将函数的返回值赋予变量,这时虽然省略了call关键字,但argumentlist也必须要加上括号。如下面的格式:dim str as stringstr = name(argumentlist)若要将整个数组传给一个过程,使用数组名,然后在数组名后加上空括号。有时为了方便,可用公有变量传递参数。三、应用举例:下列示例示范如何使用call语句来调用子过程。建立一个标准工程,在窗体上添加一命令按钮和一个文本框,将下面的程序粘贴过去。private sub command1_click()call procedureend subprivate sub procedure()dim a 定义变量a
44、= date 取日期text1.text = aend sub单击命令按钮,text1显示日期。下列示例示范如何使用省略了call关键字来调用函数,并根据返回值决定程序是否继续运行。还在上面的这个标准工程里,用下面的程序替换上面程序中的第一部分。private sub command1_click()dim str as string 定义变量str = msgbox(是否继续运行, vbyesno + vbexclamation, me.caption)if str = vbno then exit subprocedureend sub单击命令按钮后msgbox函数提示“是否继续运行”,单
45、击否退出程序,text1无变化;单击是运行后面的程序,text1显示日期。chdir语句描述:改变当前的路径(目录或文件夹)。一、语法:chdirpathpath(路径名)为必要参数,它是一个字符串表达式,指明将改变到哪个路径(目录或文件夹)。 二、说明:如果改变的路径不在当前的驱动器上,则应输入包括驱动器在内的完整路径,如:chdir f:talltreeyyglclienthelp上移一层目录采用下面的格式:chdir.注意:path必须为有效路径,否则系统会报错。三、应用举例:本示例使用chdir语句来改变当前路径,建立一标准工程,在窗体上添加一命令按钮,一个文本框和一个文件列表框(fi
46、lelistbox),将下面的程序粘贴过去。private sub command1_click()chdir text1.textfile1.path = text1.textend sub在文本框里输入一个完整路径,然后单击命令按钮,文件列表框将显示这个路径下的全部文件。 chdrive语句描述:改变当前的驱动器。一、语法:chdrivedrivedrive(驱动器名)为必需参数,它是一个字符串表达式,指明将改变到哪个驱动器。如果使用零长度的字符串(),则当前的驱动器将不会改变。二、应用举例:本示例使用chdrive语句来改变当前的驱动器。建立一标准工程,在窗体上添加一命令按钮,一个文本框
47、和一个目录列表框(dirlistbox),将下面的程序粘贴过去。private sub command1_click()chdrive text1.textdir1.path = text1.textend sub在文本框里输入一个完整路径,然后单击命令按钮,目录列表框将显示这个驱动器的名称,点击目录列表框右边的箭头,可以看到这个驱动器下的全部一级文件夹。 close语句描述:关闭用open语句打开的输入/输出(i/o)文件。一、语法:closefilenumberlistfilenumberlist(文件号列表)为可选参数,它是一个或多个文件号,其中filenumber为任何有效的文件号。如
48、果是多个文件号,个文件号之间用逗号隔开,语法如下:#filenumber1,#filenumber2.二、说明:若省略filenumberlist,则将关闭open语句打开的所有活动文件。文件被关闭后,相关联的缓冲区空间被释放,文件与其文件号之间的关联也将终结。三、应用举例:本示例使用close语句来关闭为output而打开的文件。建立一个标准工程,在窗体上添加一命令按钮,将下面的程序粘贴过去。private sub command1_click()open a.txt for output as #1 打开文件。print #1, 文件被打开。 将字符串写入文件。close 将已打开的文件关
49、闭。end sub运行程序,单击命令按钮。我们会发现程序新建了一个名为“a”的文本文件,“文件被打开。”已经写入导文本里。 const语句描述:声明常量。一、语法:public|privateconstconstnameastype=expressionconst语句的语法包含下面部分:部分描述public可选的。该关键字用于在模块级别中声明该常量为全局的(公用的),也就是说在所有模块和窗体中都可以使用的常量。该关键字在窗体中不能使用。private可选的。该关键字用于在模块或窗体级声明该常量为局部的,即只能在包含该声明的模块或窗体中使用的常量。不能在过程中使用。constname必需的。有效
50、的常量名;遵循标准的变量命名约定。type可选的。常量的数据类型;可以是vb变量的各种类型。所声明的每个常量都要使用一个单独的as类型子句。expression必需的。文字,其它常量,或由除is之外的任意的算术操作符和逻辑操作符所构成的任意组合。二、说明:对于程序中多次出现的数值、文字等最好使用常量,这样在程序运行时不易出错。常量可以使程序更具可读性,以及易于修改。在缺省情况下常量是局部的。在sub、function或property过程中声明的常量都是该过程的局部常量,在类模块声明的常量也是局部的。在标准模块中,可以用public关键字来声明常量为全局的。可以在一行中声明若干个常量,使用逗号
51、将每个常量赋值分开。用这种方法声明常量时,如果使用了public或private关键字,则该关键字对该行中所有常量都有效。三、应用举例:该示例使用const语句来声明常量。public常量在标准模块的通用部分声明,而不是在类模块中声明。private常量可以在任何模块类型的通用部分声明。const pai = 3.14 缺省情况下常量是局部的。public const mystr = 你好 声明全局常量。private const vbgrayed as integer = 2 声明局部的整数常量。const mystr = 你好, pai as double = 3.14 在一行中声明多个常
52、量。date语句描述:设置当前系统日期。一、语法:date=datedate的格式为#mm/dd/yyyy#,日期两边用#,不能用双引号(“”)。对于运行microsoftwindows98的系统,要设置的日期必须介于1980年1月1日与2099年12月31日之间。对于运行microsoftwindowsnt的系统,日期必须介于公元1980年1月1日到2079年12月31日之间。二、应用举例:本示例使用date语句来设置系统日期。在开发环境中,日期原义会根据系统的地区设置,以短式日期格式显示。建立一标准工程,在窗体上添加一命令按钮,将下面的程序粘贴过去。private sub command1
53、_click()date = #11/6/2007# 设置系统日期。end sub单击命令按钮,这时系统日期将改变到你指定的日期。 declare语句描述:用于在模块或窗体中声明对动态链接库(dll)中外部过程的引用,在引用api函数时经常用到。一、语法:语法1public|privatedeclaresubnameliblibnamealiasaliasname_ (arglist)语法2public|privatedeclarefunctionnameliblibnamealiasaliasname_(arglist)astypedeclare语句的语法包含下面部分:部分描述public可
54、选的。用于声明其引用是全局的(公用的),也就是说该引用的过程在整个工程中都可以使用。public只能在模块中声明。private可选的。用于声明其引用是局部的,也就是说只能在该声明所在的模块或窗体中使用。sub或function可选的(但二者必须选其一)。sub表示该过程没有返回值;function表示该过程会返回一个可用于表达式的值。name必需的。为合法的过程名。lib必需的。declare的子句。libname必需的。所声明过程的动态链接库名或代码资源名。alias可选的。表示将被调用的过程在动态链接库(dll)中还有另外的名称。当动态链接库的过程与同一范围内的公用变量、常数或任何其它过程的名称相同时,可以使用这个参数。aliasname可选的。动态链接库或代码资源中的过程名。如果首字符不是数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32∕T 5352.3-2026 基础数据库应用服务规范 第3部分:电子证照
- 教室玻璃窗安装施工方案
- 2026陕西有色金属控股集团有限责任公司招聘(139人)考试备考试题及答案解析
- 钢结构施工中水土保持与排水方案
- 2026福建福州市仓山区纪委监委编外人员招聘3人笔试备考题库及答案解析
- 2026四川达州复康医院招聘笔试备考题库及答案解析
- 2026阜新高等专科学校外聘专业教师人才库招募考试备考试题及答案解析
- 教室节能窗户与玻璃材料选择方案
- 2026年黑龙江交通职业技术学院单招综合素质考试题库及答案解析
- 国网湖南省电力有限公司2026年高校毕业生招聘(第二批)笔试备考题库及答案解析
- 酒店代理返佣合同范本
- 松下彩电TC-21P30R维修手册
- 高血压糖尿病课件
- 美术四年级上人美版:第7课飞天(二)课件
- 设备维修维护手册模板与编辑指南
- 山水游记类-2023年中考语文课外文言文主题分类阅读专项训练
- 社区38妇女节律师讲座
- 律所分所管理办法
- GB/T 8165-2025不锈钢复合钢板和钢带
- 装修安全生产应急预案模板
- 寒假社会实践报告:护理体验
评论
0/150
提交评论