1、计算机二级笔记VB第一部分VB设计初步一、 VB简介微软公司开发出一种可视化的面向对象的编程软件。二、 VB发展史VB 6.0中文学习班中文专业版中文企业版三、 VB的启动、退出方法退出快捷键 ALT+Q四、 熟悉VB的集成开发环境五、 VB特点1. 可视化的界面设计2. 面向对象的程序设计3. 事件驱动的编程机制4. 结构化的程序设计语言5. 数据库访问功能六、 VB程序设计的一般步骤1. 启动VB2. 设计窗体界面,添加控件并修改成设置个对象的属性值3. 编写个对象的事件过程代码4. 运行调试5. 保存文件或发布打包七、 VB的三种运行模式1. 设计2. 运行3. 中断八、 VB程序两种运
2、行方式1. 解释运行2. 编译运行(生成可执行文件)九、 基本概念类:具有相同属性的对象的集合对象:类中的一个具体实例对象的三要素:属性、时间、方法修改对象属性的语法格式对象名.属性名=属性值e.g.:form1.backcolor = VBred 将背景改为红色第二部分窗体、文本框、命令按钮与标签一、 窗体(Form)1. 属性Name:对象名Caption:显示在标题栏上的文字Visible:窗体是否可见(True或False)Icon:窗体的图标ControlBox:窗体是否有图标、系统菜单和最大化、最小化、关闭Maxbutton、Minbutton:窗体是否有最大化最小化按钮,值为Tr
3、ue或FalseBorderstyle:边框类型,决定窗体是否可以缩放,值为0,1,2,3,4,5Left、Top:觉醒窗口位置Enabled:TrueFalse,决定窗体是否可用Picture:指定窗体背景图片Backcolor:改变背景颜色字体属性: fontname字体 fotunderline下划线 fontsize字号 Fontstrikethru 删除线 forecolor字色 fontitalic倾斜 Fontbold加粗2. 事件Load事件:窗体运行即激发的事件(部分代码不能激发)Click事件:单机发生Dblclick事件:双击发生Resize事件:当窗体大小改变时激发的时
4、间二、 标签(Lable)标签:用来显示一些提示信息 1. 常用属性Name,Left,Top,Height,Width,Visible,Enabled以上属性同窗口Caption:决定标签内显示的信息Borderstyle:边框 值为0,1Autosize:根据内容大小调整标签大小Alignment:(Autosize为False时有意义)决定标签中的内容同在标签中的对齐方式。取值0(左对齐),1(右对齐),2(居中)Backstyle:决定标签是否透明,0透明,1不透明2. 常用事件Click:单机触发Dblclick:双击触发Mousemove:移动鼠标至标签上时触发三、 命令按钮(co
5、mmand)1. 常用属性Name,Left,Top,Width,Height,Caption,Visible,Enabled同上Style:0标准 1图片(与picture结合使用)Picture:与Style取值为1时结合使用改变按钮背景Default:为True时,不论光标在哪,按“Enter”时都执行该按钮功能Cancel:为True时,按“ESC”时,执行该按钮功能2. 事件命令按钮只支持Click事件,不支持Dblclick事件 注:窗体与空间事件过程名的区别对于窗体,事件过程名始终为“Form_事件”,与对象名无关对于控件,事件过程名为“对象名_事件”,与对象名有关四、 文本框(
6、Text)1. 常用属性Name,Left,Top,Width,Height,Visible,Enabled同上Text:运行是的默认文本(不可修改时刻修改Locked选项)Maxlength:可键入文本最大长度,0为无限,非0数为长度Passwordchar:将文本中内容变为该字符(1字节)Multiline:是否允许多行显示(最多支持32K个字符)Scrollbars:设置滚动条(Multiline为ture时有意义,取值0,1,2,3,0为无,1水平,2垂直,3都有)Sellength:所选文本的长度Selstart:所选文本的起始位置(从0开始)Seltext:所选文本内容2. 事件C
7、hange事件:但文本框的内容发生改变时引发Change事件例: Pribate Sub Command1_Click() Text2.Text = Text1.SelText End Sud Private Sub Command2_Click() Text2.Text = Text1.Seltext Text1.Seltext End Sub五、 对象的常用方法1. Move方法语法为:对象名.move Left,Top,Width,Height例: 相对移动Private Sub Command1_Click() Text1.move Text1.Left+200,Text1.Left+
8、200,2*Text1.Width,2*Text1.Height End Sub 绝对移动Private Sub Command1_Click() Text1.move 500,500 End Sub 2. Print方法:在窗体或图片框表面上显示指定的内容对象名.Print (“,或;”分输出项)对象为窗体时对象名可省略看,Print有计算功能,间隔为标准格式输出;间隔为紧凑格式输出只有Print为空一行3. Cls方法:清楚用Print方法打印的内容 对象名.Cls六、 VB的语法规则1. 字母不分大小写,所有符号要在英文状态下输入2. 语句:程序以语句为单位,一般情况下,一条语句占一行3
9、. 续行:如果语句太长,用空格加下划线( _)作为续行符结尾4. 一行中写多条语句,用冒号分隔5. 程序行的缩进,使源程序美观易读第三部分数据类型、常量与变量、运算符与表达式一、 VB中数据类型数值型:整型integer(%)占2字节 长整型long(&) 单精度型single(!)占4字节 双精度型double(#)占8字节 货币型currency()占8字节 字节型byte 占1字节日期型 date 占8字节,用#号界定字符型 string($)占8字节,用“”号界定布尔型(逻辑型) boolean 占2字节,用true或false表示变体类型 variant 占16字节二、 变量1. 变
10、量:在程序执行过程中存储临时数据的命名内存单2. 命名规则:(1) 以字母开始,可含字母、数字、下划线(2) 不含标点(3) 不多于255个字符(4) 不能与保留关键字重复3. 定义变量格式 Dim 变量名 As 数据类型名,变量名例: Dim a,b,c as Integer Dim d as String*5 定长字符型数据定义 Dim e as String 变长字符型数据定义 Dim x as Single,y as String,z as Boolean =Dim x!,y$,z as Boolean 变量在某一时刻只保留最后一个值,每个变量都要指明类型,否则被定义为变体类型,如中a
11、和b即被定义为变体类型4. 变量赋值变量名=表达式5. 变量的默认值数字型默认值为0逻辑型变量默认值为False变长字符串默认值为“”变体类型默认值为Empty6. 强制变量定义Option explicit该命令输入在 通用声明 位置后所有变量必须定义类型后系统才可以识别三、 常量1. 常量:在程序运行过程中其值一直保持不变的量2. 定义方法Const 常量名As 变量名=表达式 “”内可省略 注:常量不能用变量名式函数赋值,程序运行时,不能再为常量赋值四、 运算符1. 算术运算符+ 加法 - 减法 - 取负 * 乘法 / 除法 整除Mod 求余 指数运算2. 关系运算符 大于 = 等于 =
12、 大于等于 不等于3. 字符串运算符+只连接同位字符型字符串&可强制链接不同类型字符串4. 日期时间运算符+和-5. 逻辑运算符not and or如:ac 不能写成 ab0 1,x=0 0,x1 -1)3. 字符串函数(1) Len( ) 返回字符串长度 e.g:Len (“ABC”)=3(2) Trim( ) 去出字符串两边空格 e.g:Trim(“ A ”)= “A”LTrim( ) 去出字符串左边空格 e.g:LTrim(“ A ”)= “A ”Rtrim( ) 去出字符串右边空格 e.g:Rtrim(“ A ”)= “ A”(3) Left( ) 从字符串左边取相应字符数 e.g:
13、Left(1234,2)=12Right( ) 从字符串右边取相应字符数 e.g: Right(1234,2)=34 Mid( ) 从第n个位置取m个字符 e.g: Mid(12345,2,2)=23(4) Instr(查找起始位置,字符串1,字符串2)从字符串1中查找字符串2并显示起始位置Instr(4,“abcdccefghcde”, “c”)=5Instr(“abcdccefghcde”,“c”)=3Instr(4,“abcdccefghcde”,“w”)=04. 日期和时间函数Now 显示当前时间Date 显示当前日期Time 显示当前时刻5. 随即数函数Rnd:产生一个0,1)之间随
14、机单精度数a,b间随机整数公式Int(b-a+1)*Rnd+a)e.g:Int(99-10+1)*Rnd+10) 随机产生一个两位正整数a,b)间随机整数公式 Int(b-a)*Rnd+a)01000随机整数 Int(1000-0)*Rnd+0)Randomize:使每次随机数序列不同第四部分Inputbox、Msgbox、Format 函数一、 Inputbox 输入框格式x = Inputbox(“提示信息”, “标题”, “输入框默认值”)Inputbox默认信息为字符型 例: x = Inputbox(“请你输入x值”) y = Inputbox(“请你输入y值”) Print x+y
15、 当x为123,y为456时,输出结果为123456 x = Val(Inputbox(“请你输入x值”) y = Val(Inputbox(“请你输入y值”) Print x+y 当x为123,y为456时,输出结果为579二、 msgbox函数形式与过程形式1. 过程形式Msgbox“提示信息”,按钮类型+图表类型,“标题信息”,help,comtext2. 函数形式变量名=Msgbox“提示信息”,按钮类型+图表类型,“标题信息”,help,comtext按钮类型图标类型0确定16X1确定,取消32?2终止,重试,忽略48!三角3是,否,取消64!4是,否5重试,取消Msgbox返回值为
16、17三、 格式输出(format)函数Format函数用于把数值和日期型的数据按指定的格式输出格式:Format (字符,“格式”)Print format (12345,“#”)=12345Print format (12345,“0000000000”)=12345Print format (123456.7,“#000.00”)=123456.70Print format (123456.7,“00.00%”)=12.34%Print format (123456.7,“$#,000.00”)=$12,345.67Print format (123456.7,“-#,000.00”=-1
17、23456.7Print format (123456.7,“0.00E+00”)=1.23E+05Print fotmat (0.1234567,“0.00E-00”)=1.23E-01第五部分程序设计的基本结构一、结构化程序设计的三种基本结构1. 顺序结构2. 分支结构(选择结构)3. 循环结构二、顺序结构1. 赋值语句:=2. 结束语句:end3. 注释语句:和rem和rem都可注释整条语句还可在语句后解释说明,但ram不可以三、选择结构1. 单分支条件语句(1) 单行形式If 条件表达式 Then 语句块(2) 块形式If 条件表达式 Then 语句块End IF 例1: 判断x是否为
18、偶数 单行形式 If xmod2 = 0 Then Print “是偶数” 块形式 If xmod2 = 0 Then Print “是偶数” End If 例2: x = Val(Inputbox(“请输入x”) If x0 Then x = x+2 x = x+10 Print x 当x90 Print “优”Case Is 80 Print “良”Case Is 70 Print “中” Case Is 60 Print “及格”Case Else Print “不及格”End Select注:Select Case 语句运行时,依次判断语句,成立后则跳出,不成立则向下判断 If sco
19、re 90 Then Print “优” Elseif score80 Then Print “良” Elseif score70 Then Print “中” Elseif score60 Then Print “及格” Else Print“不及格” End If(3) Select Case 语句格式Select Case 测试表达式 Case 表达式1 语句块1 Case 表达式2 语句块2 Case 表达式n 语句块n Case Else 语句块n+1End SelectCase后表达式形式(1) 枚举型,中间用逗号隔开例:Case 50,100,200(2) 使用To关键字例:Ca
20、se 1 To 50 Case “A”To“Z”(均为闭区间)(3) 使用Is关键字例:Case Is=80Case Is12四、单选控件、框架、复选按钮1. 单选按钮(Option)属性: Caption 同前 Value 布尔型属性,有True和False选项2. 复选按钮(Check)属性: Caption 同前 Value 数值型属性,有0(未选中),1(选中),2(默认选中,灰色)3. 框架(Frame)属性:Caption 框架控件可作空间的容器,框架主要用来把窗体上的空间进行分组或使窗体在外观上更有条理第六部分程序设计的基本结构循环结构1. For循环格式For 循环变量 = 初
21、值 To 终值 Step 步长循环体( Exit For 中途退出循环) Next 循环变量 Exit For 语句(1) 提前终止For循环(2) 一般与If语句连用例1: For i = 1 To 5 Step 2 Print “*” Next i Print结果为:* * * 7例2:统计1100内被5和7整除的数及其个数 s = 0 n = 0 For i = 1 To 100 (step 1) If i mod 5 = 0 and i mod 7 = 0 Then s = s + i n = n + 1 End If Next i Print “和”:s Print “个数”:n例3
22、:求n的阶乘n = Val(Inputbox(“请输入要阶乘的数”)s = 1For i = 1 To n step 1 s = s * nNext iPrint s例4:求1!+2!+3!+4!+5! m = 0 For n = 1 To 5 step 1 s = 1 For i = 1 To n s = s * n Next i m = m + s Next n Print m素数问题判断n是否为素数n = Val(Inputbox(“请输入你要判断的数”)For i = 2 To n-1 If n mod i = 0 Then Exit ForNext iIf i = n 1 ThenP
23、rint “该数是素数”ElsePrint “该数不是素数”End If2. DoLoop循环格式一: Do While/Until 循环体 Loop该格式先进行判断后执行程序,如判断不成立循环体可能一次也不运行格式二: Do 循环体 Loop While/Until 该格式先执行程序后进行判断,循环体至少执行一次注:While当条件为真时执行循环体Until当条件为假时执行循环体格式二: s = 0 i = 1 Do s = s + i i = i + 1 Loop until i 100 (while i = 100) Print s例:求1100格式一: s = 0 i = 1 Do w
24、hile i 100) s = s + i i = i + 1 Loop Print S3. whilewend循环语句while 条件表达式 语句块 Wend 注:该语句无提前终止语句六、循环的嵌套1. 循环嵌套的规则(1) 嵌套的层数不限(2) 内层控制结构完全位于外层的一个语块中(3) 两层循环中不得用相同的变量名(4) 为分清层次,内层的控制结构应该向右缩进2. 循环嵌套的执行流程(1) 外层循环执行一次,内层循环从头至尾循环一遍(2) 输出行与列形式的图形或数据时,外层循环控制行,内层循环控制列第七部分数组一、 数组定义数组是变量的扩展,一个数组可以存储多个值,通过数组名和下标对这些
25、值进行存取,即数组名称相同但下标不同的数据的集合二、 数组定义格式一维数组(默认下标从0开始) Dim 数组名(下标上界) as 变量类型二维数组 Dim 数组名(下标上界,下标上界) as 变量类型1. 一维数组指定下标界限(1) Dim a(m to n) as 变量类型m为下标下界,n为下标上界,m、n必须为整型常量(2) 只指定下标上界,由option base 语句指定下界(0或1)option base在通用声明段中使用,其值为0或12. 元素个数一维数组元素个数个数=上界-下界+1一个数组至少有一个元素3. 数组必须先定义再使用三、 数组元素赋初值方法(1) For与inputbox结合(2) For与rnd函数结合(3) For与简单数学表达式结合(4) For与控件属性结合(5) 利用array函数(只用于一维数组)四、 数组测试函数LBound 返回数组下界Ubound 返回数组上界格式:Lbound(数组名)和Ubound(数组名)Array函数赋值格式:数组名=array(项目1,项目2)a) Array只适用于一维数组b) 用array赋值的数组必定义为变体类型并不能写数组大小c) 数组默认下界从0开始d) 常用Lbound(数组名)和Ubound(数组名
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1