1、1复 习编码基础 VB 代码不区分字母的大小写 一行可书写几句语句,之间用冒号分隔; 一句语句可分若干行书写,用续行符(空格下划线)连接 Rem 开始 或 单撇 VB 常用数据类型 变量和常量的命名规则 变量:在程序运行中其存储的值可以改变。常量:在程序运行中其值不可以改变。 以字母或汉字开头,后可跟字母、数字或下划线组成,长度小于等于 40 个字符; 不能使用 VB 中的关键字; VB 中不区分变量名的大小写例如:1)a bc 2)print_65 3)12bc 4)x-y5)x%y 6)abs 7)mn% 8)int变量声明 Dim 变量名 AS 类型 Dim iMark As integ
2、er , sTotal As single Dim iItem% 注意: 在通用声明处加 Option Explicit 语句来强制显式声明变量 常量声明 Const 常量名 AS 类型 = 表达式 例 Const MAX=100 Const MIN As Integer = se;Next jPicture1.PrintNext i对于循环的嵌套,要注意以下事项: 内循环变量与外循环变量不能同名; 外循环必须完全包含内循环,不能交叉; 不能从循环体外转向循环体内,反之则可以。 Private Sub Command1_Click()Dim sum As Double, x As Double
3、sum = 0: n = 0For i = 1 To 5x = n / i: n = n + 1: sum = sum + xNextEnd Sub数组 一. 静态数组及声明形式: Dim 数组名( 下标 1,下标 2) As 类型声明了数组的维数、大小、类型维数:几个下标为几维数组下标: 下界 To 上界 ;省略下界为 0 ,必须为常数每一维大小: 上界下界+1数组大小: 每一维大小的乘积例:Dim mark(1 to 100) As IntegerDim a( 0 To 3, 0 To 4) As Long 共有 45 个元素等价于: Dim a(3, 4) As Long6注意:1. 下
4、界缺省为 0 ,也可在重新定义数组的下界。例如: Option Base 12. 在数组声明中的下标说明了数组的整体,即每一维的大小;而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。例如:Dim x(10) As Integer 声明了 x 数组有 11 个元素x(10)=100 对 x(10)这个数组元素赋值动态数组及声明在程序执行时分配存储空间。方法: (1)在过程外使用 Dim、Private 或 Public 语句声明括号内为空的数组(2)在过程中用 ReDim 语句指明该数组的大小Dim sArray( ) As SingleSub Form_Load(
5、 )ReDim sArray(4,8)End Sub注意:(1)ReDim 中的下标可以是常量,也可以是有确定值的变量.(2)在过程中可多次使用 ReDim 改变数组的大小,或维数.(3)每次用 ReDim 会使原数组的值丢失,可以在 ReDim 语句后加 Preserve 参数来保留数组中的数据.数组元素的输入、输出(1)用循环For i = 1 To 10iA(i)=0:Print iA(i); “ “;Next i (2) Array 函数Dim ib As Variantib = Array(“abc“, “def“, “67“)For i = 0 To UBound(ib)Print
6、 ib(i); “ “;Next i注意: 利用 Array 对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且其类型只能是 Variant。 数组的下阶为零,上界由 Array 函数括号内的参数个数可决定,也可通过函数7Ubound 获得。数组的应用 求最大值最小值 数组的查找、插入和删除 排序:冒泡排序和选择排序过程 三种自定义过程 子过程(Sub Procedure)Sub 过程没有返回值 函数过程(Function Procedure )Function 过程返回一个值 属性过程(Property Procedure)自定义函数过程定义Function 函数名 (参数列表)
7、As 数据类型函数名=表达式 End Function 特点:函数名有值,有类型,在过程体内 至少赋值一次。Function 过程调用函数名(实际参数列表)注意:函数在定义和使用时,无论是否有参数,圆括号一定不能省。特点:不能独立存在,必须参加表达式的运算自定义子过程的定义格式:Sub 子过程名( 形式参数表)过程体End Sub特点:子过程名无值,无类型自定义子过程的调用 格式 1子过程名 实际参数列表 格式 2Call 子过程名(实际参数列表)特点:一句独立的语句注意:格式 1 中的实际参数列表无需圆括号注意:(1)参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。(2
8、)当参数是数组时,形参与实参在参数声明时应省略其维数,但括号不能省。8(3)调用子过程的形式有两种,用 Call 关键字时,实参必须加圆括号括起,反之则全无。参数传递 指主调过程的实参传递给被调过程的形参。 传址:形参得到的是实参的地址,当形参值的改变同时也改变实参的值。其形式参数前加 ByRef 关键字界定或缺省。 传值:形参得到的是实参的值,形参值的改变不会影响实参的值。其形式参数前加ByVal 关键字界定 实参为数组时为传址,实参为表达式时为传值。Sub Add(x%, y%)x = x + 2y = y + 3Print “x=“; x, “y=“; yEnd SubPrivate S
9、ub Command1_Click()a% = 10: b% = 20Call Add(a + 1, b)Print “a=“; a, “b=“; bEnd Sub1.递归的概念用自身的结构来描述自身就称为“递归” 。例如对阶乘的定义: 2. 递归过程过程在自身定义的内部调用自己。编 fac(n)=n! 的递归函数Function fac(n As Integer) As IntegerIf n = 1 Then fac = 1Elsefac = n * fac(n - 1)End IfEnd Function控件基本的属性 Name 名称 : 所有控件对象都具有的属性 Enabled: 控件
10、是否可操作. 当设置为 false 时,呈暗淡色,禁止用户进行操作 . )!2(1)!(nn1)fac(*)fac(n9 Visible 属性: 控件是否可见.当设置为 false 时, 用户看不到,但控件本身存在 Height、Width、Top 和 Left 属性 Caption 标题属性 该属性决定了控件上显示的内容常用控件 标签 Label用于显示文本(输出)信息,不能作为输入信息的界面。标签是没有焦点的。 文本框 TextBox是一个文本编辑区域,可在该区域输入,编辑和显示正文内容。 命令按钮 CommandButton接受用户输入的命令 文本框(TextBox )基本属性: Tex
11、t : 正文内容 Maxlength: 设置正文的最多字符个数 MultiLine: 是否为多行,默认一行 . FALSE ScrollBars: 当 MultiLine 为 True 时,该属性才有效,表示滚动条的形式 PassWord :口令字符; Text 属性返回输入的数据,屏幕显示该字符 SelStart,SelLength,SelText : 选中文本的起始、长度、内容 Locked:指定文本控件是否可被编辑 常用事件 Change : 当改变文本框的 Text 属性时会引发该事件. KeyPress(KeyAscii As Integer): 文本框的按键事件,常用于判断是否按了
12、回车键(KeyAscii 为 13,按回车键) 常用方法 对象.SetFocus: 是把光标移到指定的文本框对象中.Left Top Height Width 10文件及其种类 文件是记录的集合 VB 按读写方式的三类文件:顺序文件随机文件二进制文件顺序文件 从第一条到最后一条记录顺序读写 文本文件每一行为一条记录 写文件的三步骤:打开写入关闭 读文件的三步骤:打开读出关闭打开文件Open “文件名” For 模式 As #文件号 Len=记录长度说明:(1) 三种“模式”:Output 重写Append 追加记录Input 读 (外存内存)(2) 文件号是 1511 之间的整数写文件格式 1
13、 Print #文件号 ,输出列表格式 2 Write # 文件号,输出列表Write 为紧凑格式,数据项间自动加“, ”,字符串加双引号读文件格式 1 Input #文件号,变量列表读取 Write 格式的文件数据,并将数据按序赋值给指定变量格式 2 Line Input #文件号,字符串变量读取文件中的一行数据并将其赋值给一个字符串变量格式 3 Input$(读取字符数, #文件号)读取指定数目的字符关闭文件Close #文件号,#文件号 与读文件有关的两个函数 LOF(文件号)返回文件的字节数,即文件长度。若值为 0,说明是空文件 EOF(文件号)返回逻辑值,表示文件指针是否达到文件末尾11