vb07在程序中使用通用过程课件

上传人:磨石 文档编号:242968001 上传时间:2024-09-13 格式:PPT 页数:27 大小:521.50KB
返回 下载 相关 举报
vb07在程序中使用通用过程课件_第1页
第1页 / 共27页
vb07在程序中使用通用过程课件_第2页
第2页 / 共27页
vb07在程序中使用通用过程课件_第3页
第3页 / 共27页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,*,PPT,学习交流,*,第,7,章 通用过程程序设计,勿以恶小而为之,勿以善小而不为。惟贤惟德,能服于人。,1,PPT,学习交流,目录,7.1,问题引入与问题分析,7.2,自定义,Sub,过程的创建,7.3,自定义,Sub,过程的调用,7.4,自定义,Sub,过程的参数传递,7.5,自定义,Sub,过程与事件过程的异同点,7.6,自定义,Sub,过程的应用,7.7,初步认识自定义,Function,函数,7.8,自定义,Function,过程的创建,7.9,自定义,Function,过程的应用,7.10,API,函数的初步知识,7.11,本章容易出错的地方,7.12,课堂实训与课后作业,师生共勉,勿以恶小而为之,勿以善小而不为。惟贤惟德,能服于人。,2,PPT,学习交流,7.1,问题引入和问题分析,当多个事件过程都包含有相同程序代码块,或某事件过程中包含具有较独立功能的代码块时,可以使用自定义过程将它们分离出来,然后在需要这一语句块的地方用调用语句替代,而不必再将所有的语句重复书写一遍。,同一语句块反复出现在程序中,这样无疑增加了程序的书写负担,使得程序显得冗长,也影响了程序在整体结构上的紧凑性,需对其进行简化。本章中将学习,Visual Basic6.0,用户自定义过程,并利用用户自定义过程简化“员工工资管理系统”中各过程中的重复语句。,3,PPT,学习交流,Sub,过程引例,1,不使用通用过程,:,Dim sx !, sy!, sz!,Dim x!, y !, z!,Dim s !,x =Val( InputBox(,请输入,x,的值,),y =Val( InputBox(,请输入,y,的值,),z =Val( InputBox(,请输入,z,的值,),For i = 1 To x,sx = sx + 1 / i,Next,For i = 1 To y,sy = sy + 1 / i,Next,For i = 1 To z,sz = sz + 1 / i,Next,s = sx + sy + sz,使用通用,Sub,过程,:,Dim sx !, sy!, sz!,Dim x!, y !, z!,Dim s !,x =Val( InputBox(,请输入,x,的值,),y =Val( InputBox(,请输入,y,的值,),z =Val( InputBox(,请输入,z,的值,),Call s_sum(sx, x),Call s_sum(sy, y),Call s_sum(sz, z),编程计算,(1+1/2+1/3+1/x) + (1+1/2+1/3+1/y)+(1+1/2+1/3+1/z),的值,Sub s_sum(sa!, a!),sa = 0,For i = 1 To a,sa = sa + 1 / i,Next,End Sub,4,PPT,学习交流,7.2,自定义,Sub,过程的创建,说明,:,如果需要参数,则只能在代码窗口中在过程名后的括号内加上,.,在,VB,环境中,打开代码窗口;,单击“工具”菜单下“添加过程”命令,打开 “添加过程”窗口;,在“添加过程”窗口中,在“名称”框中输入过程名称,“类型”选择为“子程序”,“范围”根据需要选择“公有的”或“私有的”,单击“确定”按钮,则在代码窗口中将自动出现如下代码块。,Private Sub s_sum(),End Sub,方法一,:,用菜单命令,5,PPT,学习交流,自定义,Sub,过程的创建,说明,:,过程名后括号内的参数称为形式参数,简称,“,形参,”,,形参只能是变量名或数组名,.,关键字,Private,表示为私有过程,只在一个模块中有效,Public,为公有过程,可在任何模块中有效,.,输入,Sub,语句时只能在代码窗口的空白处输入,不能在其他的,Sub,与,End Sub,之间输入,在代码窗口的空白处输入,Private|PublicSub (,参数表,),后按回车键,则自动形成如下的代码块:,Private|PublicSub (,参数表,),End Sub,方法二,:,编写代码创建自定义过程,6,PPT,学习交流,在一个工程中除了可添加多个窗体模块外(菜单项,“,工程,”,/,“,添加窗体,”,),还可,添加标准模块(菜单项,“,工程,”,/,“,添加模块,”,),如图,添加模块后,在工程资源管理器中将增加,“,Module1,模块,”,,一般来说,全局变量、公有通过过程等都在标准模块中定义,以供各窗体模块中的过程调用。,相关知识,:,标准模块,窗体模块,标准模块,7,PPT,学习交流,7.3,自定义,Sub,过程的调用,Call,过程名,(,实参表,),关键字,Call,可省去,如果省去,Call,,则过程名后不能有括号,如:,Call s(a,b), s a,b,语法格式:,调用语句的作用是将程序的执行流程从调用语句处转到被调用的过程中。如图表示,:,当执行过程,S1,时,首先执行“,”,,碰到“,Call S2”,语句时,流程转向过程,S2,中,执行,S2,中的“,”,,到“,End Sub”,时,再返回到,S1,中“,Call S2”,下面的“,”,调用语句流程,8,PPT,学习交流,7.4,自定义,Sub,过程的参数传递,按址传递(,ByRef,):形参与实参具有完全相同的值,按值传递,(ByVal),:只将实参的值传给形参,而形参的值不影响实参。,由定义过程时声明:按哪一种传递方式由声明语句来声明,默认情况下为按址传递, 。,如定义语句:,Sub s_test(ByVal a1% , ByRef a2%),a1,:按值传递,,a2,:按址传递。,参数的传递方式分为两种:,实参可以是变量名、数组元素、常量、函数或表达式。,调用语句的作用是将实参的值传递给形参,9,PPT,学习交流,7.5,自定义,Sub,过程与事件过程的异同点:,二者都是以,Sub,语句开头,以,End Sub,语句结尾的代码块;,相同点:,1.,事件过程的过程名及参数为系统预先定义,如,Sub Command1_Click(),,,Form_Load(),,而自定义,Sub,过程的过程名及参数则由用户自己定义;,2.,二者都可以被其他过程调用,调用语句的格式相同。所不同的是,事件过程更多的是在事件触发时被执行,而自定义,Sub,过程则只能是在调用时被执行;,不同点,10,PPT,学习交流,在,VB,案例中使用自定义,Sub,过程,将数组元素显示在文本框中的代码块在多个过程中出现,可将其定义为一个通用,Sub,过程。代码如下:,说明:,1.,将程序中包含此代码块的地方使用语句:,Call s_Disp(i),2.,此过程中包含一个整形参数,表示当前显示的某一组数据的序号。,Private Sub s_Disp(k as Integer),txt_WageInfo(0).text = m_strArrNum(k),txt_WageInfo(1).text = m_strArrName(k),txt_WageInfo(2).text = m_intArrWage(k),txt_WageInfo(3).text = m_intArrPrz(k),txt_WageInfo(4).text = m_intArrSud(k),End Sub,11,PPT,学习交流,在,VB,案例中使用自定义,Sub,过程,Private Sub s_Input(),For i = 1 To 6,m_strArrNum(i) = InputBox(,请输入第, & Str(i) & ,个员工编号,),m_strArrName(i) = InputBox(,请输入第, & Str(i) & ,个员工姓名,),m_intArrWage(i) = Val(InputBox(,请输入第, & Str(i) & ,个员工工资,),m_intArrPrz(i) = Val(InputBox(,请输入第, & Str(i) & ,个员工奖金,),m_intArrSud(i) = Val(InputBox(,请输入第, & Str(i) & ,个员工各种补助,),Next,End Sub,数据输入虽然不是重复出现的代码,但是一段相对独立的代码,此种情况下也适合定义通用过程,可使程序结构清晰。代码如下,说明:此过程为无参数过程,调用时不需要实参,12,PPT,学习交流,7.6,自定义,Sub,过程的应用,:,课堂实训,1,定义变量,:n%,s!,n,值由用户输入,调用,Sub,过程,:Call sum(s,n),说明,:,将,n,的值传给,b,将,s,与,a,结合,当执行通用过程,s,后,a,的值传给,s,则,s,就是所求的结果,.,定义,Sub,过程,:Sub sum(a!,b%),For i = 1 to b,a=a+i,next,计算任意个数累加的值,.,如图所示,单击按钮时弹出输入框,由用户输入一个整数,n,然后计算,1-n,的和,.,要求用,Sub,过程求和,.,13,PPT,学习交流,自定义,Sub,的应用,:,课堂实训,3,编写简单的学生信息浏览程序,要求,:,浏览,10,组数据,数据输入与数据显示用,Sub,过程来实现,.,数据用数组存放,同类的控件定义为控件数组,.,问题描述,:,14,PPT,学习交流,7.7,初步认识,Function,自定义过程,使用通用,Function,过程,:,Dim sx !, sy!, sz!,Dim x!, y !, z!,Dim s !,x =Val( InputBox(,请输入,x,的值,),y =Val( InputBox(,请输入,y,的值,),z =Val( InputBox(,请输入,z,的值,),sx = f_Sum(x),sy = f_Sum(y),sz = f_sum(z),Private Function f_Sum (a!) As _ Single,f_Sum = 0,For i = 1 To a,f_Sum = f_Sum + 1 / i,Next,End Function,除了,Sub,过程外,另一种自定义过程是,Function,过程,也称为函数过程。如将上一节中的引例改用,Function,过程来完成,程序可写为:,自定义,Function,过程,15,PPT,学习交流,7.8,自定义,Function,过程的创建,说明,:,如果需要参数,则只能在代码窗口中在过程名后的括号内加上,.,在,VB,环境中,打开代码窗口;,单击“工具”菜单下“添加过程”命令,打开 “添加过程”窗口;,在“添加过程”窗口中,在“名称”框中输入过程名称,“类型”选择为“函数”,“范围”根据需要选择“公有的”或“私有的”,单击“确定”按钮,则在代码窗口中将自动出现如下代码块。,Private Function s_sum(),End Function,方法一,:,用菜单命令,16,PPT,学习交流,自定义,Function,过程的创建,说明,:,编写函数体语句时,必须包含一次对函数名赋值的语句,参数与,Sub,过程相同,只能是变量名或数组名,输入,Function,语句时只能在代码窗口的空白处输入,不能在其他的,Sub,与,End Sub,之间输入,函数可以指明类型,表示函数反回值的类型。,在代码窗口的空白处输入,Private|PublicSub (,参数表,),后按回车键,则自动形成如下的代码块:,Public Function,函数名,(,参数表,) As,类型,End Function,方法二,:,编写代码创建自定义过程,17,PPT,学习交流,用,Function,过程计算,VB,案例中的个人所得税,个人所得税的计算也是相对独立且较长的一段代码,直接写在事件过程中不利于体现事件过程的功能,将其定义为一个独立的通用过程,.,在需要的事件过程中直接调用,.,编写代码如下,:,必须性,Public Function f_CalTax(wage As Integer),Dim intTax1!, intTax2!, intTax3!r, intTax4!,intTax1 = 500 * 0.05,intTax2 = 1500 * 0.1,intTax3 = 3000 * 0.15,If wage = 0 And wage = 20000 Then,If wage - 800 = 0 Then,f_CalTax = 0,ElseIf wage - 800 = 500 Then,f_CalTax = (wage - 800) * 0.05,ElseIf wage - 800 = 2000 Then,f_CalTax = (wage - 1300) * 0.1 + intTax1,ElseIf wage - 800 =85,f_chg=A,Case Is =75,f_chg=B,Case Is =60,f_chg =C:,Case Else,f_chg =D,End Select,End Function,21,PPT,学习交流,7.10 API,函数初步知识,API (Application Program lnterface,),即,Windows,的应用程 序编程接口,就是一系列的底层函数,是系统提供给 用户用于进入操作系统核心,进行高级编程的途径,Windows API,函数是,Windows,操作系统为各种应用程序提供的接口函数,存放在,DLL,文件中。,DLL,(,Dynamic-Link Library,的缩写)称为动态链接库。,包含,Windows API,函数的,DLL,文件一般放在,Windows,的系统目录中,最主要的有三个,DLL,文件:,1,User32.dll,:该库文件包含有关管理,Windows,环境的函数,如管理菜单、管理光标以及处理消息等。,2,Gdi32.dll,:其中的函数帮助管理不同设备的输出。,3,Kernel32.dll,:包含执行内存管理、任务管理、资源管理以及模块管理的函数。,22,PPT,学习交流,API,文本浏览器,启动,API,文本浏览器,(,两种方法,),方法一,:,从桌面环境下,开始,菜单启动,方法二,:,从,VB,环境下的菜单项,外接程序,下启动,加载,API,文本文件或,API,数据库文件,在,API,文本浏览器中可加载,API,文本文件或数据库文件,选择,API,函数,在,API,类型中选择声明,在可选项中,可以选择所需的,API,函数,.,通过右边的功能按钮操作,可将所选,API,函数复制到代码窗口中,.,API,函数的使用,23,PPT,学习交流,API,函数的应用举例,通过前面介绍的方法将,API,函数,GetSystemDirectory,加载到代码窗口中,在按钮的单击事件中调用此函数,.,Private Sub Command1_Click(),Dim dirname As String,dirname = String(30, 0),n = GetSystemDirectory(dirname, 30),dirname = Left(dirname, n),Shell dirname + calc.exe, 1,End Sub,在,VB,中启动计算器,.,题,目要求:,计算器为系统应用程序,其路径为系统文件夹,;,通过,API,函数,GetSystemDirectory,获取系统文件夹的路径,即可得到计算器所在的路径,.,在,VB,中可用,Shell,命令启动外部程序,.,要点分析:,代码编写如下,24,PPT,学习交流,7.11,本章容易出错的地方,通用过程类型的选择,:Sub,过程与,Function,过程都有其适应的使用条件,一般有参数返回时选择,Function,过程,而无参数返回时则选用,Sub,过程,.,调用通用过程时参数的类型不匹配,实参的类型必须与形参的完全一致,如创建通用过程时没有指明形参类型,则实参也只能是没有声明类型的,.,调用通用过程时,参数的个数与顺序要完全一致,.,25,PPT,学习交流,7.12,课堂实训和课后作业,课堂实训,第,7,章 课堂实训,4,课后作业,第,7,章 课堂实训,3,第,7,章 练习题,26,PPT,学习交流,此课件下载可自行编辑修改,供参考!,感谢您的支持,我们努力做得更好!,27,PPT,学习交流,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!