欢迎来到天天文库
浏览记录
ID:43108514
大小:411.50 KB
页数:59页
时间:2019-09-30
《VB基础教程第5章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章过程5.1过程的定义与调用5.2变量的作用域5.1过程的定义与调用在VB中是用过程来实现程序模块的。将一个程序分成若干个相对独立的过程,每个过程可实现单一的功能。由于各个模块的层次分明,因此也便于程序的阅读。VB除了可以使用前面已介绍的事件过程外,还可以使用Sub过程(子程序)和Function过程(函数)。5.1.1Sub过程的定义与调用【例5.1】在窗体上添加两个命令按钮。单击时,显示10个*单击时,根据输入框中输入的整数,显示n个*PrivateSubCommand1_Click()Callprt(10)EndSubPr
2、ivateSubCommand2_Click()n%=Val(InputBox(“请输入整数:”))Ifn%<>0ThenCallprt(n%)ElseExitSubEndIfPrint"$$$$$"EndSub调用名为prt的Sub过程退出本命令按钮的单击事件过程PrivateSubprt(nAsInteger)Fori=1TonPrint"*";NextiPrintEndSub定义名为prt的Sub过程换行输出n个*说明:程序中的第3个模块编写了两个单击事件都需要使用的一段代码,该模块叫做子程序(Sub)过程。子程序过程不与任何
3、特定的事件相联系,而是被其他的过程来调用。调用子程序过程相当于执行该过程的程序代码(执行后返回到主调过程,并继续执行调用处下面的语句)。[Private
4、Public][Static]Sub子程序名([形参列表])语句组1[ExitSub][语句组2]EndSub子程序过程的一般定义格式为:子程序体强制退出子程序关键字Private和Public中最多只能选其一。使用Private,表示该过程是私有的局部过程,只能被该过程所在的窗体或标准模块中的其他过程所调用。使用Public,表示该过程是公共的全局过程,可被应用程序中的任何窗体或
5、任何标准模块中的过程所调用。VB默认所有标准模块中的子程序是Public。关键字Static的作用在5.2节中介绍。格式说明:第一种形式:Call子程序名[(实参列表)]第二种形式:子程序名[实参列表]调用子程序过程的一般形式:若带有实参,则实参必须用括号括起实参可直接加在子程序名后面【例5.2】按值和按地址传递参数示例。根据下图所示的窗体设计界面。单击时,观察运行结果程序代码:PrivateSubCommand1_Click()a$=Text1.Textb$=Text2.TextCallswap((a$),b$)Text1.Tex
6、t=a$Text2.Text=b$EndSubPrivateSubswap(aAsString,bAsString)t$=aa=bb=t$EndSub调用swap子程序定义名为swap的Sub过程实参形式不同说明:调用语句中的实参(a$)和b$形式不同,表示的意义也是不同的。(a$):在被调过程中对形参的任何改变,都不会影响实参变量本身b$:在被调过程中对形参的任何操作,都意味着对实参的操作VB除了用加括弧的方式区分按值或按址传递参数外,还可以在定义过程时,在相应的形参前加关键字ByVal或ByRef表示。按址传递是默认方式【例5.
7、3】在窗体上添加两个文本框和两个命令按钮。单击时,交换两个文本框中的内容单击时,显示3个文本框中的最大值切换到第2个窗体回到第1个窗体PublicSubswap(xAsString,yAsString)t$=xx=yy=t$EndSub在标准模块中定义的全局过程的程序代码:定义名为swap的全局级子程序PrivateSubCommand1_Click()a$=Text1.Textb$=Text2.TextCallswap(a$,b$)Text1.Text=a$Text2.Text=b$EndSubPrivateSubCommand2
8、_Click()Form2.ShowForm1.HideEndSub窗体1程序代码:调用名为swap的子程序PrivateSubCommand1_Click()a$=Text1.Textb$=Text2.Textc$=Text3.Textd$=a$IfVal(d$)9、2程序代码:d$、b$按址传给swap中的形参x,y在标准模块的声明段中用关键字Public定义的子程序为全局级子程序,这种子程序可被应用程序中的任何模块所调用。本例中Form1和Form2窗体就分别调用了全局级子程序swap,完成相
9、2程序代码:d$、b$按址传给swap中的形参x,y在标准模块的声明段中用关键字Public定义的子程序为全局级子程序,这种子程序可被应用程序中的任何模块所调用。本例中Form1和Form2窗体就分别调用了全局级子程序swap,完成相
此文档下载收益归作者所有