第六章VB的过程设计讲解
VB教程 第六章 过程、模块与类
2.按地址传递参数 按地址传递参数使过程用变量的内存地址去访问实际变量 的内容。结果,将变量传递给过程时,通过过程可永远改 变变量值。按地址传递参数在 Visual Basic 中是缺省的。 例如: Sub PostAccounts (intAcctNum as Integer) . '这里放语句。 End Sub 3.使用可选的参数 4.提供可选参数的缺省值 5.使用不定数量的参数
下面分别对被调用过程在窗体模块、类模块和标准模块三种 情况说明: ① 窗体中的过程 ② 类模块中的过程 ③ 标准模块中的过程
一个很好的例子: 交通信号灯控制的例子
一个重要的思想(递归 一个重要的思想 递归) 递归
递归就是一个过程调用自己来完成某个特定的 任务。在递归过程中,一个过程的某一步要用 到其自身的上一步或几步的结果。递归分为两 种类型:直接递归和间接递归。Visual Basic的 过程具有递归调用功能。 递归可能会导致堆栈上溢。通常 Static 关键字 和递归过程不在一起使用。使用递归过程要特 别小心,不加控制的递归通常会引起溢出堆栈 空间错误信息。如下例:
作用域不同([Private | Public | Friend]) 生命期不同([Static]) 但是arglist语法较简单:可选的。代表在调用时要传递给 Function 过程的参数变量列表。多个变量应用逗号隔开。 一点注意:若 Function 过程会改变某个数学表达式中变 量的值,则应避免在此表达式中使用该函数。例如: I=2 J=3 X=(Sum (I,J)+1)/Sum(I,J) Function Sum (A As Integer, B As Integer) As String A=A+2 Sum=A+B End Function 结果如何?怎么修改?
VB程序设计教程 第四版 第6章
a
10
执行过程体
x a
20 10
返回
返回
20 Integer a = = : y b10 的地址 b 10 = 20 : b 10 aCall = Swap 10 : y b 的地址 2(a, b 10 = b) 20 : 10 b Call a = Text Swap b
汉字的机内码最高位为1,Asc函数码值为小于0(补码)
西文字符的最高位为0,Asc函数求其码值为大于0
Function CountC%(ByVal s$) Dim i%, k% Dim c As Char For i = 1 To Len(s) c = Mid(s, i, 1) If Asc(c) < 0 Then k = k + 1 Next CountC = k End Function Sub Command1_Click() Dim c1% c1 = CountC(Text1.Text) 显示 Text1.Text 和 C 1 End Sub
Functioc Count%(st$) Dim i% Count = 0 i = InStr(st, “ the ") Do While (i > 0) Count = Count + 1 st = Mid(st, i + 1) i = InStr(st, “ the ") Loop VB 程序设计教程 End Function
Z←gcd
例6.2 设断点演示过程
调用形式:函数过程名([参数列表])
参数列表(称为实参或实元):必须与形参个数相同,位置与 类型一一对应。可以是同类型的常量、变量、表达式。
第6章程序设计初步教参
第六章程序设计初步【本章概述】中小学程序设计教学的目的,是要求学生掌握程序设计的一般方法,发展他们的思维能力、分析问题和解决问题的能力。
VB是一种面向对象的程序设计语言,Visual意为“可视化的”,Basic指的是BASIC语言。
在学习VB时,除了学习界面设计,更要学习灵活运用VB实现各种算法。
教学过程中,教师应注重算法的教学,通过阅读程序、编写和调试程序、使用程序,逐步培养学生的程序设计的能力。
【教学要求】1.本章总的教学要求⑴熟悉Visual Basic窗口的组成,学会建立Visual Basic程序。
⑵理解对象的概念,知道对象的三要素,了解事件驱动的程序设计思想和面向对象的程序设计方法。
⑶理解窗体和控件的概念,掌握四个常用控件——命令按钮、标签、文本框和定时器,学会用可视化的设计工具设计程序界面。
⑷掌握Visual Basic的常量、变量、标准函数和表达式。
⑸掌握Let、End语句及输入输出技术,会用注释符(')为程序添加注释。
⑹掌握程序控制语句。
⑺理解数组、数组元素、下标的概念,掌握数组的简单应用。
⑻掌握算法的概念和一些简单的典型算法,能用流程图描述算法,并能用Visual Basic 语言实现算法。
⑼学会编辑、调试和运行程序。
⑽学会使用Visual Basic的帮助功能,培养通过帮助获取信息的能力。
⑾培养对程序设计的兴趣和用程序设计方法解决实际问题的能力。
⒉教学内容及课时安排本章教学约需23课时(含上机实践),具体安排如下:第一节:程序设计的基本方法1课时第二节:Visual Basic的基本知识2课时第三节:程序的建立和运行3课时(1)第四节:Visual Basic语言基础4课时(1)第五节:分支结构3课时(1)第六节:循环结构6课时(1)第七节:数组4课时(1)【教材分析与教法建议】第一节程序设计的基本方法一、教学要求⑴理解算法的概念,了解描述算法的两种方法——自然语言、流程图,知道各自的优缺点。
VB课件第6章Visual Basic 循环结构
Do Until i = 100
例6-3:求 1+22+32+……n2大于1000的最小值。
选Do … Loop语句: 不知道要加到第几项,但知道累加和大于 1000,并且,第一次超过1000时就不再累 加了,所以选Do … Loop语句。
求项数(计数i): i=0(初值) ,i=i+1(重复执行)
例: 利用随机函数10个产生[20,90]的整数, 求其平均值.
界面设计: 单击窗体, 显
示结果如图.
例: 利用随机函数10个产生[20,90]的整数, 求其平均值.
分析: 产生数X 求和s
求平均a
产生一个X: X=Int(Rnd*71+20)
显示产生的值: Print x
计算和: s=s+x
重复10次 求得这10 个数的和s
Private Sub Form_Click( ) Dim i As Integer i=0 Do While i < 100 i=i+1 Print i; If i Mod 10 = 0 Then Print Loop
End Sub
用Do Until … Loop循环来编制 例6-2的程序
Private Sub Form_Click() Dim i As Integer i=0 Do While i < 100 i=i+1 Print i; If i Mod 10 = 0 Then Print Loop
If Max <= x Then Max = x Next i Print Print “最大值为:”; Max End Sub
6.4 循环嵌套
循环嵌套:在一个循环语句的循环体中又包含有另一 循环语句。 VB的三种循环可以自身嵌套与相互嵌套 要求:内层结构一定包含在外层结构中,不能交叉
VB第6章详细介绍
6.1 子过程的定义与调用
Private Sub cmdJS_Click() Dim a!, b!, c!, w! a = Val(txtA.Text) b = Val(txtB.Text) c = Val(txtC.Text) If a > b + c Or b > a + c Or c > a + b Then MsgBox "输入的三条边不能构成一个三角形!" 输入的三条边不能构成一个三角形! 输入的三条边不能构成一个三角形 Else Call area(a, b, c, w) txtMj.Text = Str(w) End If End Sub
第6章 过程
本章要点: 本章要点:
子过程(Sub)的定义与调用 6.1 子过程 的定义与调用
6.1.1 子过程的定义
定义子过程的一般格式如下: 定义子过程的一般格式如下: [Private | Public | Friend] [Static] Sub _ 过程名( 参数列表 参数列表] 过程名 [参数列表 ) 语句块 [Exit sub] [语句块 语句块] 语句块 End Sub
6.1 子过程的定义与调用
6.1.2 建立 建立Sub过程 过程
建立子过程有两种方法: 建立子过程有两种方法: 1、利用代码窗口直接定义 、 (1) 进入代码窗口,在左侧显示对象名的下拉框中 进入代码窗口, 选择“ 通用” 选择 “ 通用 ” , 在右侧显示过程的下拉框中 选择“声明” 然后键入Sub及子过程名。 及子过程名。 选择“声明”,然后键入 及子过程名 (2) 按Enter键后,Visual Basic系统会自动加上 键后, 键后 系统会自动加上 End Sub与子过程名后的一对括号 , 此时便 与子过程名后的一对括号, 与子过程名后的一对括号 可输入子过程语句。 可输入子过程语句。
Visual Basic过程和函数解析
建立通用Sub过程: (1) 建立过程框架
方法1:在模块的“通用”段中输入过程名, 按回车后系统自动添加 End Sub。 方法2:“工具→添加过程” (2) 编写该过程的程序代码
格式: [Private |Public][Static] Sub <过程名>[(< 形参表列>)] [<语句块1>] [Exit Sub] [<语句块2>] End Sub 其中:
SUB过程的定义中_____
A) 一定要有虚参 B) 一定指明是公有的还是静态的 C) 一定要有过程的名称 D) 一定要指明其类型
3 函数过程的定义
函数也属于过程。它与子过程的根本区别是可 以返回一个值给调用程序。其定义方法同过程相 似,也有两种。 1.利用“添加过程”对话框定义 打开窗体或模块的代码窗口,单击“工具”菜 单,选择“添加过程”,然后在对话框的“类型” 中选择“函数”即可。 2.直接在代码窗口定义 进入代码窗口后,在左侧显示对象名的下拉列 表框中选择“通用”,在右侧显示过程的下拉列 表框中选择“声明”,然后输入Function及函数 名即可。
一个调用计算圆面积及周长过程(sr)的 Private Sub Command1_Click() Dim r, a, s As Single r = Val(InputBox("输入半径R")) Call sr(r, a, s) 计算圆面积和周长的子过程: Print: Print: Print Sub sr(a, c, b) Print “半径:"; Private r Const pi = 3.1416 Print “面积:"; a c = a * a * pi ’计算面积 Print “周长:"; s End Sub b = 2*pi*a ’计算周长 实例。 End Sub
VB应用程序的开发过程
第六章第1、2讲
可视化编程
程序设计语言与程序设计
人们想用计算机解决一个问题,必须事先设计 好计算机处理信息的步骤,把这些步骤用计算 机能够识别的指令编写出来并送入计算机执行, 计算机才能按照人的意图完成指定的工作。我 们把计算机能执行的指令序列称为程序,而编 写程序的过程称为程序设计。
学习版<专业版<企业版
三、启动 Visual Basic
步骤:
1. 单击任务条上的“启动”。 2. 选择“程序”,接着选取“Microsoft Visual Basic 6.0 中文版”。 3. 双击 Visual Basic 6.0的 快捷键图标。 4. 使用“Windows 资源管理器”寻找 Visual Basic 可执行文件。
在设计模式中,通过双击窗体或窗体上任何对象或通过 “工程资源管理器”窗口中的“查看代码”按钮来打开代码编 辑器窗口。代码编辑器是输入应用程序代码的编辑器。
4. 属性(properties)窗 口 属性是指对象的特征,如大小、标题或颜色等
数据。在Visual Basic6.0设计模式中,属性窗口列出 了当前选定窗体或控件的属性的值,用户可以对这
Visual Basic的功能与特点
面向对象的可视化程序设计。 事件驱动的程序设计和运行机制。 易学易用的应用程序集成开发环境。 结构化的程序设计语言。 强大的数据库访问功能。 支持DDE、DLL、OLE等技术。 完备的联机帮助功能。
9
3.VB中的类和对象
第六章vb计算机
第六章 过 程
6.1 6.2 6.3 6.4 6.5 函数过程的定义与调用 子过程的定义与调用 参数传递 递归 变量、 变量、过程的作用域
6.6 综合应用 6.7 重点和难点
2011年9月21日星期三
Visual Basic程序设计
6.1 函数过程的定义
6.1.1 引例已知多边形的各条边的长度,计算 引例已知多边形的各条边的长度 已知多边形的各条边的长度, 多边形的面积。 多边形的面积。 计算多边形面积, 计算多边形面积, 可将多边形分解成若干个 三角形。 三角形。 计算三角形面积的公式如下: 计算三角形面积的公式如下:
2011年9月21日星期三
Visual Basic程序设计
6.2.4子过程与函数过程区别 子过程与函数过程区别 (1)函数过程名有值,有类型,在函数体内至少赋值一次; 函数过程名有值,有类型,在函数体内至少赋值一次; 函数过程名有值 子过程名无值,无类型,在子过程体内不能对子过程名赋值。 子过程名无值,无类型,在子过程体内不能对子过程名赋值。 (2)调用时,子过程调用是一句独立的语句; 调用时,子过程调用是一句独立的语句; 调用时 函数过程不能作为单独的语句加以调用,必须参与表达式运算。 函数过程不能作为单独的语句加以调用,必须参与表达式运算。 (3)一般当过程有一个返回值,使用函数过程较直观;反之若过程无返回值, 一般当过程有一个返回值,使用函数过程较直观;反之若过程无返回值, 一般当过程有一个返回值 或有多个返回值,使用子过程较直观。把某功能定义成函数或是过程, 或有多个返回值,使用子过程较直观。把某功能定义成函数或是过程, 没有严格的规定。但只要能用函数定义的,就肯定能用过程定义, 没有严格的规定。但只要能用函数定义的,就肯定能用过程定义,反之 不一定。 不一定。 6.2.5形参个数的确定 形参个数的确定 (1)形参是过程与主程序交互的接口,从主程序获得初值,或将计算结果返 形参是过程与主程序交互的接口,从主程序获得初值, 形参是过程与主程序交互的接口 回给主调程序。不要将过程中所有使用过的变量均作为形参。 回给主调程序。不要将过程中所有使用过的变量均作为形参。若只在过 程内部使用,则声明为局部变量。 程内部使用,则声明为局部变量。 (2)形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变 形参没有具体的值,只代表了参数的个数、位置、类型; 形参没有具体的值 数组名,不能是常量、数组元素、表达式。 量、数组名,不能是常量、数组元素、表达式。
VB第六章理论课件
6.1数组的基本概念(续)
数组元素:即数组中的变量,用下标表示数组中的 各个元素。表示方法:<数组名>(下标) 例如:A(3) 下标: 下标表示顺序号,可表示数组元素在数组中 的位置。每个数组有一个唯一的顺序号,下标不能超 过数组声明时的上、下界范围。 下标可以是整型的常数、变量、表达式,甚至又是 一个数组元素。 下标的取值范围是: 下界 To 上界 ,缺省下界时,系统默认取0。 数组维数: 由数组元素中下标的个数决定,一个下 标表示一维数组,二个下标表示二维数组。 VB中有一维数组、二维数组、……最多60维数组。
6.1数组的基本概念(续)
• 数组的维数:数组一般可以分为一维、多维,在多 维数组中我们一般讨论二维数组,有时也会使用三维 数组。一维数组只需用一个下标就能标识一个元素, Score(30)表示下标为30的数组元素;二维数组则需 要用两个下标来标识一个元素,形象地表达为行和列, 如有二维数组Arr(1 to 3,1 to 5),表示数组中有3行 5列的元素,其中Arr(2,3)表示第2行第3列元素; • 数组的分类:根据数组在内存中分配空间在程序执 行过程中是否可变,将VB中的数组分为静态数组和动 态数组。静态数组不允许用户在定义后再在程序中修 改数组的长度和维数,而动态数组允许用户在定义后 多次在程序中修改数组的长度或维数
例:在VB语言中,定义数组时,其下标允许是() A变量 B 常量 C算数表达式(可含变量) D变量、常量、算数表达式(可含变量)
例:若有说明:dim a(1 to 10)as integer,则下列 应用()合法 A a(1)=―adk‖ B a(7)=32768 C a(8)=―23‖ D a(0)=2
【格式】 Dim 数组名([下界To]上界[,下界 To]上界……)as 类型名称
vb教案(实用3篇)
vb教案(实用3篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如计划总结、合同协议、管理制度、演讲致辞、心得体会、条据书信、好词好句、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as plan summaries, contract agreements, management systems, speeches, insights, evidence letters, good words and sentences, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!vb教案(实用3篇)vb教案(1)教案设计学科 vb程序设计授课年级一年级教师姓名李新亮 1. 章节名称:第六章:键盘与鼠标控制第四节:鼠标拖放动画实例设计计划学时:一课时 2. 教学目标:①认识鼠标事件②正确分析题目已确定应当运用哪种鼠标事件课程标准:熟练掌握鼠标事件知识与能力:学会综合运用各种鼠标事件编写程序过程与方法:认识鼠标事件运用鼠标事件完成实例设计 3. 教学重点鼠标事件及其格式,案例程序分析 4. 教学难点几种鼠标事件:Click,Dblclick,DragDrop,DragOver,Drag的区别 5. 教学设计思路一、复习导入键盘事件keypress,keydown,keyup 二、初识鼠标事件三、几种鼠标事件的格式四、几种鼠标事件的区别五、实例程序分析六、界面设计七、程序分析八、程序运行与调试教学反思这节课的主要内容是,以分析鼠标拖拽的实例程序入手,来归纳总结常见的鼠标事件。
vb第六章(过程).ppt
If a<b Then
call swap(a,b)
‘过程的调用, 或swap a,b
End If
(主调过程)
Print a,b
End Sub
求组合数
Cmn
m! n!(m
n)!
'定义求阶乘的Sub子过程fac Private Sub fac(ByVal n As Integer, f As Long) ‘过程定义
End If j=j+2 Loop End Sub
‘用For循环如何实现?
四、参数的传递
参数传递:调用时把实参的值或地址传递给形参 。
1. 形参和实参 2. 按值传递与按地址传递 3. 数组参数的传递
1.形参和实参 (1)形参(形式参数)
出现在被调过程(定义Sub子过程或 Function函数过程)的形参表中的变量名 (除定长字符串变量外)、数组名。
见 求组合数 .vbp
三. Function函数过程的定义及其调用
函数过程是带有返回值的特殊过程。
1、定义
[Public|Private][Static] Function 函数名([参数列表]) [AS 类型]
局部变量或常数定义 语句块 函数名=表达式 [Exit Function ] 语句块 函数名=表达式
Dim i As Integer f=1 For i = 1 To n
f=f*i Next i End Sub
' “=”的click事件
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim fm As Long, fn As Long
第六章 vb6.0对话框的设计
第六章对话框的设计6.1 预定义对话框在应用程序中添加对话框最容易的方法是使用预定义对话框,因为不必考虑设计、装载或者显示对话框方面的问题。
然而,其控件在外观上要受到限制。
预定义的对话框总是模式的。
表6.1中列出了在Visual Basic应用程序中添加预定义对话框时所使用的函数。
6.1.1 输入框InputBox函数用来产生要求输入数据的输入框;在输入框中显示提示文本、文本框和按钮;等待用户的输入或按下按钮,并返回用户在文本框中输入的内容。
如图6.1所示的输入框就是使用InputBox函数所产生的,用来提示用户输入要在窗体上显示的内容。
生成该输入框的代码如下所示:Word=InputBox(“请输入要在窗体中显示的内容:”、“输入”)只需再做一点工作就可以将上面的文本输入框使用到程序中了。
实例6.1使用输入框。
在窗体中放置一个按钮控件,并设置它的Caption属性的值为“输入要显示的内容”,双击这个按钮控件打开它的代码窗口,编写如下代码:个参数是指输入框中的用户提示字符串,第二个参数是指输入框的标题:InputBox(prompt[,title][,default][,spos][,ypos][,helpfile,context])InputBox函数语法中的各参数的含义如表6.2所示。
如果同时提供了Helpfile与Context,用户可以按F1键来查看与Context相应的帮助主题。
如果用户单击输入框中的【确定】按钮,则InputBox函数返回文本框中的内容。
如果用户单击【取消】按钮,则此函数返回一个长度为零的字符串(“”)。
如果要省略某些位置参数,则必须加入相应的逗号分界符。
例如,要指定实例6.1中输入框的位置,而缺省输入框的初始值,则语句如下:word =InputBox(“请输入要在窗体中显示的内容:”,“输入”,200,200)。
6.1.2 消息框MsgBox函数用来产生一个消息框。
VB教程 第六章 SDI窗体和MDI窗体
MDI窗体的设计 MDI窗体的设计
添加MDI窗体 添加子窗体 添加装入新窗体的过程 多文档界面的文本编辑器实例
第 6 章 SDI窗体和MDI窗体 SDI窗体和MDI窗体
本章主要介绍SDI和MDI窗体
6.1 单文档界面 SDI
SDI:每次只能打开一个数据窗口 制作SDI时窗体的创建、添加、属性、方 法和事件和第3章中的窗体相同 单窗体的记事本程序设计
6.2 多文档窗体
MDI:包含多个文档窗口,根据需要可 同时打开多个文档文件 多个文档窗口中,其中一个是主窗口 (或者叫作父窗口),其余的都是子窗 口,主窗体用作放置其它窗体的背景 它就像一个容器,可以包含一个或多个 子窗体,子窗体只能在父窗体的范围内 移动
VB教程:第六章(1)-输入
VB教程:第六章(1)-输入文章来源:vb大世界-我们为什么要设计计算机程序呢,当然是为了计算机能为我们完成工作,但是要完成不同的任务,我们就必须对计算机下达命令,然后计算机在把信息返馈回来――任务是否完成。
以上就是所谓的人机对话或交互功能,尤其是在Windows操作里我们需要进行更多的输入工作,我们需要填写各种各样的表格,设置程序的重要参数,把数据输入给计算机,再又它完成既定的工作就是今天我们本章要重点讨论的问题――在VB中如何建立完整的输入机制。
在VB中提供了一个函数InputBox能帮助我们建立一个最简单的输入窗体,语法如下:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])a$ = InputBox("举荐你最欣赏的网站", "最佳网站投票", "VB小驿")该函数返回一个字符串表达式,其参数含义为:(“[]”表示可缺省)prompt――字符串表达式,最大长度为1024字符,窗体上的提示部分。
Title――字符串表达式,显示标题栏里的文本。
Default――字符串表达式,窗体中文本框的缺省值。
xpos,ypos――数值表达式,以Twips为单位指定窗体出现在屏幕上的位置。
helpfile――字符串表达式,是帮助文件的完整路径。
Context――数值表达式,指定适合的帮助主题。
可能你看了上面的说明并不明白,那么下面我们就用Input语句完成一个最简单的程序。
小知识:屏幕坐标在计算机的屏幕上也有一个类似于我们在中学里常用到的直角坐标系,之不过它的原点不在左下,而是在屏幕的右上角,屏幕的最右上方坐标为(0,0),它的横坐标和我们的习惯是一致的,而纵坐标则是越向下越大,不仅是屏幕,所有的对象里都是一样,需要记清。
见图6-1新建一个项目(project),在Form_load里填写一行代码:a$ = InputBox("举荐你最欣赏的网站", "最佳网站投票", "VB小驿")’不算无耻吧?:->按下F5运行程序,在Form1出现之前先会弹出一个输入对话框,如图6-2。
VB6.0详细讲义(VB6实用教程-VB6从入门到精通)
第一章 Visual Basic介绍第二章用户界面设计第三章编程的基础(含变量,常量,条件语句,循环语句,自定义变量,自定义过程,对象和类等基础)第四章 Windows 95的新控件Visual Basic的输入输出第五章 Visual Basic的鼠标事件和绘图第六章 Visual Basic的数据库、报表、预览、打印第七章从文件中存取资料第八章发行应用程序第九章使用Windows API和用Visual Basic建立自己的屏幕保护程序第十章创建ActiveX控件第十一章ActiveX文档第十二章用对象链接与嵌入(OLE)扩展Visual Basic第十三章使用资源文件第十四章用Visual Basic建立ActiveX DLL第十五章用Winsock控件进行Internet通信第十六章 Web浏览控件第一章Visual Basic介绍§2 窗体和命令钮介绍一、窗体窗体是Windows的基本组成部分,这也是为什么这个操作系统叫Windows的原因。
它的主要属性除上面介绍的以外,还包括:1,Appearance属性这个属性用来决定控件是否采用三维效果。
2,BorderStyle属性这个属性决定了窗体的边框形式,共有6种属性值。
改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为你所要求的样子。
3,ControlBox属性程序员用来决定采用不采用控制框的属性,仅在程序运行时才有效。
4,Font属性程序员可以改变该窗体上显示信息的字体,它控制着直接在窗体上打印的文本显示。
5,Icon属性这个属性是用户经常要使用的一种属性。
当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定。
为自己的窗体设置该属性时,要控制住自己挑三拣四的冲动。
6,Visible属性该属性决定窗体是否可见。
错误地改变其值是很危险的,窗体会从眼前消失,这种莫名其妙的事情会使用户惊惶失措,所以肩负重任的程序员一定要慎重哟!7,WindowState属性指定窗体在运行时的三种状态:正常、最小化、最大化。
VB程序设计基础教程第6章
状态
无效状态
魏豪明 制作
菜单的种类
(1)下拉菜单 (2)弹出式菜单
图6-2 弹出式菜单
魏豪明 制作
6.1.3 菜单编辑器
图6-3 “菜单编辑器”对话框
魏豪明 制作
6.2 下拉式菜单
6.2.1 建立菜单
建立主菜单
图6-4 创建“文件”主菜单
魏豪明 制作
图6-5 创建“编辑”主菜单
建立子菜单
命令不可用,如图6-15所示。
魏豪明 制作
菜单项的复选标记
菜单项标记是指在菜单项前面加上“√”,其主要通过 “Checked”属性来设置,当将一个菜单项的“Checked”属性
设置为True时,此时菜单项前面则加上“√”;如果设置为
False,则该菜单项前的“√”消失。 例如,在如图6-14所示的“菜单编辑器”中的“文件”菜单下增 加“清除”菜单项,并单击“复选”复选框,使方框内出现 “√”,然后单击“确定”按钮。此时会发现“文件”菜单下的 “清除”菜单项的左侧有一个“√”,表示为“清除”状态,如 图6-16所示。
魏豪明 制作
表6-2 性能标志 行为常数 描 述
vbPopupMenuLef 缺省。只有当用户用鼠标左键单击菜单 tButton 项时,才显示弹出式菜单
vbPopupMenuRig 当用户用鼠标右键或者左键单击菜单项 htButton 时,显示弹出式菜单
Boldcommand参数
使用Boldcommand参数来指定,在显示的弹出式菜单中想以粗字 体出现的菜单控件的名称。在弹出式菜单中只能有一个菜单控件被 加粗。
第6章 创 建 菜 单
魏豪明 制作
1 2 3
6.1 菜单概述
6.2 下拉式菜单
VB6.0详细讲义(VB6实用教程,VB6从入门到精通)(精编文档).doc
【最新整理,下载后即可编辑】第一章Visual Basic介绍第二章用户界面设计第三章编程的基础(含变量,常量,条件语句,循环语句,自定义变量,自定义过程,对象和类等基础)第四章Windows 95的新控件Visual Basic的输入输出第五章Visual Basic的鼠标事件和绘图第六章Visual Basic的数据库、报表、预览、打印第七章从文件中存取资料第八章发行应用程序第九章使用Windows API和用Visual Basic建立自己的屏幕保护程序第十章创建ActiveX控件第十一章ActiveX文档第十二章用对象链接与嵌入(OLE)扩展Visual Basic第十三章使用资源文件第十四章用Visual Basic建立ActiveX DLL第十五章用Winsock控件进行Internet通信第十六章Web浏览控件第一章Visual Basic介绍§2 窗体和命令钮介绍一、窗体窗体是Windows的基本组成部分,这也是为什么这个操作系统叫Windows的原因。
它的主要属性除上面介绍的以外,还包括:1,Appearance属性这个属性用来决定控件是否采用三维效果。
2,BorderStyle属性这个属性决定了窗体的边框形式,共有6种属性值。
改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为你所要求的样子。
3,ControlBox属性程序员用来决定采用不采用控制框的属性,仅在程序运行时才有效。
4,Font属性程序员可以改变该窗体上显示信息的字体,它控制着直接在窗体上打印的文本显示。
5,Icon属性这个属性是用户经常要使用的一种属性。
当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定。
为自己的窗体设置该属性时,要控制住自己挑三拣四的冲动。
6,Visible属性该属性决定窗体是否可见。
第六 章 vb过程
例2:
Sub continue query() do response$=inputbox$(“continue(y or n)?) if response$=“N” or response$=“n” then end if response$=“Y” or response$=“y” then exit do loop Ensub 过程可以不带参数,不进行任何数据交换,调用是只写上过程名.
3. 函数过程的调用 127 使用函数时要注意函数过程的特点: ① 数过程一旦定义(系统函数是系统已经定义的),都
可以象系统函数一样调用。 ② 调用出现的位置:程序中凡是表达式可以出现的地方 都可以出现函数调用。(可以出现在赋值号的右端。 可以出现在PRINT 语句中。) ③ 调用方法:写上函数名,后跟括号,括号中填上与形 式参数个数一样、类型一致的实元。 即:函数过程名([参数列表]) ④ 调用过程: 先计算实元,再进行虚实结合,然后转到 函数计算其值,最后由函数名将结果带回到调用点。
public:表示 sub 是一个公用过程,可以在程序的任何地方被调 用。 各个窗体通用的过程都在标准模块中用 public 定义。 在窗体层定义的通用过程,通常在本窗体模块中使用。若要在 其他窗体模块中使用,应加上窗体名做为前缀。
过程名:
过程名不能超过255个字符, 同一模块中过程名必须唯一,过程名不能再做函数名或子 程序名。
function 函数
说明:
以function 开始,以 end function 结束,中 间是完成任务的一组语句。 语句中最少有一个语句为函数名赋值,否则返回 缺省值。 可以用 exit function 转出函数。 过程定义不能嵌套。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章VB的过程设计1.什么是过程在程序设计中,为各个相对独立的功能模块所编写的一段程序称之为过程。
2.VB中的自定义过程分类(1)以“Sub”保留字开始的子程序过程(包括事件过程和通用过程),不返回值;(2)以“Function”保留字开始的函数过程,返回一个值;(3)以“Property”保留字开始的属性过程,可以返回和设置窗体、标准模块以及类模块的属性值,也可以设置对象的值。
6.1 子过程(Sub)的定义与调用1.事件过程(1)窗体事件过程语法:Private Sub Form_事件名([参数列表])[局部变量和常数声明]语句块End Sub注意:1)窗体事件过程名由Form_事件名组成,多文档窗体用MDIForm_事件名;2)每个窗体事件过程名前都有一个Private的前缀,表示该事件过程不能在它自己的窗体模块之外被调用;3)事件过程有无参数,完全由VB提供的具体事件本身决定,用户不可以随意添加。
(2)控件事件过程语法:Private Sub 控件名_事件名([参数列表])[局部变量和常数声明]语句块End Sub注意:其中的控件名必须与窗体中某控件相匹配,否则VB将认为它是一个通用过程。
(3)建立事件过程的方法1)打开代码编辑器窗口(两种方法:双击对象或从工程管理器中单击“查看代码”按钮)2)在代码编辑器窗口中,选择所需要的“对象”和“事件过程”3)在Private Sub ……End Sub之间键入代码4)保存工程和窗体(4)事件过程的调用事件过程由一个发生在VB中的事件来自动调用或者由同一模块中的其他过程显示调用。
2.通用过程通用过程是一个必须从另一个过程显示调用的程序段,通用过程有助于将复杂的应用程序分解成多个易于管理的逻辑单元,使应用程序更简洁、更易于维护。
通用过程分为公有(Public)过程和私有(Private)过程两种,公有过程可以被应用程序中的任一过程调用,而私有过程只能被同一模块中的过程调用。
(1)定义方法:[Private | Public ][ Static] Sub过程名([参数列表])[局部变量和常数声明] ‘用Dim 或Static声明语句块[Exit Sub]语句块End Sub注意:1)缺省[ Private | Public ]时,系统默认为Public ;2)Static 表示过程中的局部变量为“静态”变量;3)过程名的命名规则与变量命名规则相同,在同一个模块中,同一符号名不得既用作Sub 过程名,又用作Function过程名。
4)参数列表中的参数称为形式参数,它可以是变量名或数组名,只能是简单变量,不能是常量、数组元素、表达式;若有多个参数时,各参数之间用逗号分隔,形参没有具体的值。
VB 的过程可以没有参数,但一对圆括号不可以省略。
不含参数的过程称为无参过程。
形参格式为:[ ByVal ] 变量名[()] [As数据类型]式中:变量名[()]:变量名为合法的VB变量名或数组名,无括号表示变量,有括号表示数组。
ByVal:表明其后的形参是按值传递参数(传值参数Passed By Value),若缺省或用ByRef,则表明参数是按地址传递的(传址参数)或称“引用”(Passed By Reference)。
As:数据类型:缺省表明该形参是变体型变量,若形参变量的类型声明为String,则只能是不定长的。
而在调用该过程时,对应的实在参数可以是定长的字符串或字符串数组,若形参是数组则无限制。
5)Sub 过程不能嵌套定义,但可以嵌套调用。
6)End Sub 标志该过程的结束,系统返回并调用该过程语句的下一条语句。
7)过程中可以用Exit Sub提前结束过程,并返回到下调用该过程语句的下一条语句。
(2)建立Sub过程的方法方法一:1)打开代码编辑器窗口2)选择“工具”菜单中的“添加过程”3)从对话框中输入过程名,并选择类型和范围4)在新创建的过程中输入内容方法二:1)在代码编辑器窗口的对象中选择“通用”,在文本编辑区输入Private Sub 过程名2)按回车键,即可创建一个Sub过程样板3)在新创建的过程中输入内容3.Sub子过程的调用(1)用Call语句调用Sub过程语法:Call过程名(实在参数表)实在参数的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。
例:利用过程编写求三角形面积的程序(2)把过程名作为一个语句来用语法:过程名[实参1[,实参2……]]它与(1)的不同点是:去掉了关键字和实参列表的括号如上例中可以改成:area a,b,c,w6.2 函数过程(Function)的定义与调用1.函数过程的定义有两种方法:(1)在代码窗口中,利用“工具”菜单下的“添加过程”命令,插入一个函数过程模板来定义(2)在代码窗口中,把插入点放在所有现有过程之外,直接输入函数来定义[ Private | Public ][ Static] Function函数名([参数列表])[As 数据类型] [局部变量和常数声明] ‘用Dim 或Static声明[语句块][ 函数名=表达式][ Exit Function]语句块[ 函数名=表达式]End Function2.注意事项(1)函数名的命名规则与变量命名规则相同;函数过程必须由函数名返回一个值。
(2)如果函数体内没有给函数名赋值,则返回对应类型的缺省值,数值型返回0,字符型返回空字符串。
(3)函数过程内部不得再定义Sub过程或Function过程。
例:编写一个计算N!的函数过程3.Function过程的调用调用Function过程与调用VB内部函数的方法一样,即在表达式中写出它的名称和相应的实在参数。
语法:过程名([实参列表])注意:(1)必须给参数加上括号,即使没有参数也不可省略括号;(2)VB中也允许象调用Sub过程一样来调用Function,但这样就没有返回值。
4.调用其他模块中的过程(1)调用窗体中的过程从窗体模块的外部调用窗体中的公有过程,必须用窗体的名字作为调用前缀。
如:Call Form1.Examsub([实参表])(2)调用标准模块中的过程如果在应用程序中,过程名是唯一的,则调用时不必加模块名。
如果有同名的,则在同一模块内调用时可以不加模块名,而在其他模块中调用时必须加模块名。
(3)类模块中的过程调用类模块的公有过程时,要求用指向该类某一实例的变量修饰过程,即首先要声明类的实例为对象变量,并以此变量作为过程名前缀修饰词,不可直接用类名作为前缀修饰词。
如:在类模块Class1中含有过程clssub,变量Democlass是类Class1的一个实例,则调用clssub的方法是:Dim Democlass AS New Class1Call Democlass.clasub例:函数过程与子过程的异同,计算级数的部分和1 + x + x2/2! +……+ x n/n! +……,|x n/n!|<exp6.3 参数的传递1.形参与实参的概念形参:指出现在Sub 和Function过程形参表中的变量名、数组名,过程被调用前,没有分配内存,其作用是说明自变量的类型和形态以及在过程中的角色。
形参可以是:1)除定长字符串变量之外的合法变量名;2)后面跟()括号的数组名。
实参:是在调用Sub 和Function过程时,传送给相应过程的变量名、数组名、常数或表达式。
在过程调用传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但位置必须对应起来。
形参与实参的关系:形参如同公式中的符号,实参就是符号具体的值;调用过程:即实现形参与实参的结合,也就是把值代入公式进行计算。
2.按值传递参数(定义时加ByVal)按值传递参数(Passed By Value)时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。
3.按地址传递参数(定义时没有修饰词或带关键字ByRef)按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。
在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。
如果实参是一个常数或表达式,VB会按“传值”方式来处理。
4.数组参数VB允许把数组作为形参出现在形参表中,语法:形参数组名()[As 数据类型]形参数组只能按地址传递参数,对应的实参也必须是数组,且数据类型相同。
调用过程时,把要传递的数组名放在实参表中,数组名后面不跟圆括号。
在过程中不可以用Dim语句对形参数组进行声明,否则会产生“重复声明”的错误。
但在使用动态数组时,可以用ReDim语句改变形参数组的维界,重新定义数组的大小。
5.对象参数VB中可以向过程传递对象,在形参表中,把形参变量的类型声明为“Control”,可以向过程传递控件;若声明为“Form”,则可向过程传递窗体。
对象的传递只能按地址传递。
6.4 变量、过程的作用域1.VB应用程序的组成:2.过程的作用域3. 变量的作用域4.静态变量用Static声明的静态变量,在每次调用过程时保持原来的值,不重新初始化。
而用Dim声明的变量,每次调用过程时,重新初始化例:显示1到5个数。
5.同名变量对不同范围内出现的同名变量,可以用模块名加以区别。
一般情况下,当变量名相同而作用域不同时,优先访问局限性大的变量。
6.5递归过程1.递归的概念通俗的讲,用自身的结构来描述自身就称为“递归”。
如对阶乘运算的定义就是递归的:n!=n(n-1)! (n-1)!=(n-1)(n-2)!2.递归子过程和递归函数VB 允许一个自定义子过程或函数过程在过程体的内部调用自己,这样的子过程或函数就叫递归子过程和递归函数。
递归过程包含了递推和回归两个过程。
构成递归的条件是:(1)递归结束条件和结束时的值(2)能用递归形式表示,并且递归向结束条件发展。
例:编制程序求fac(n)=n!的函数3.注意事项(1)递归算法设计简单,但消耗的上机时间和占据的内存空间比非递归大(2)设计一个正确的递归过程或函数过程必须具备两点:1)具备递归条件;2)具备递归结束条件(3)一般而言,递归函数过程对于计算阶乘、级数、指数运算有特殊效果。