关于VB程序设计内容提要课件_第1页
关于VB程序设计内容提要课件_第2页
关于VB程序设计内容提要课件_第3页
关于VB程序设计内容提要课件_第4页
关于VB程序设计内容提要课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB程序设计内容回顾

4/2/20231基本内容:一、VB程序设计的基本概念二、用户界面设计三、程序设计的基本方法4/2/20232一、VB程序设计的基本概念1、工程文件的组成2、几个术语的含义3、程序设计的四种状态4、窗体的生命周期4/2/202332、几个术语的含义类:具有特定功能而且是被预先定义好的程序单元,这些程序单元已经被封装起来,用户只能使用它,但不能显示和修改它。对象:对象是类的例化,或称实例。方法:由系统定义且能自行完成某种特定任务的操作。事件:事件是能够被对象响应和识别的动作及其过程,事件可以由系统自行触发,也可以由用户操作触发。注意:VB只有在响应事件时,才能执行程序。属性:表示对象外观的特征。

4/2/202353、程序设计的四种状态编辑状态:界面设计、编写代码运行状态:运行程序并显示结果调试状态:程序运行出错,即进入调试状态。终止状态:结束程序运行,返回编辑状态

4/2/202364、窗体的生命周期窗体从开始显示到最后关闭称为一个生命周期。4/2/202371、窗体(Form)

(1)单个窗体操作(2)多个窗体操作:添加新窗体:执行“工程/添加窗体”命令。设置启动窗体:执行“工程/工程属性”命令。打开新窗体:窗体名.Show隐藏窗体:窗体名.Hide卸载当前窗体:UnloadMe卸载所有窗体:执行End语句4/2/202392、基本工具中文名英文名(工具箱)默认名(属性窗口)1命令按钮CommandButtonCommandX2标签LabelLabelX3文本框TextBoxTextX4框架FrameFrameX5单选钮OptionButtonOptionX6多选框CheckBoxCheckX7计时器TimerTimerX8图片框PictureBoxPictureX4/2/202310

中文名英文名(工具箱)默认名(属性窗口)9图象框ImageImageX10形状ShapeShapeX11直线LineLineX12列表框ListBoxListX13组合框ComboBoxComboX14垂直滚动条VScrollBarVScrollBarX15水平滚动条HScrollBarHScrollBarX16驱动器列表框DriveListBoxDriveX17目录列表框DirListBoxDirX18文件列表框

FileX4/2/2023113、对象的三要素(1)属性(2)事件(3)方法4/2/202313(1)属性①属性的基本作用:②属性的设置方法:③注意一些基本属性:④利用属性设置建立驱动器列表框、目录列表框和文件列表框之间的联系4/2/202314

①属性的作用:描述对象的外观特性;②属性的设置方法:只能在属性窗口设置:(凡只读属性,如Name、文本框中的MultiLine、ScrollBars和PasswordChar、窗体的BorderStyle等);只能在程序代码中设置:

(如CurrentX和CurrentY、驱动器列表框的Drive(程序运行时,单击驱动器图标后自动设置)、目录列表框的Path(双击目录图标后自动设置)、通用对话框中的大部分属性等);4/2/202315

③注意一些基本属性:共有属性:Name(名称)、Enabled(可用)、Visible(可见;时钟、通用对话框除外)、font属性、Color属性等;特点属性,例如:

Caption(文本框、图片框、图像框、列表框、组合框、形状、直线等不支持);

Text(只有文本框、列表框、组合框支持);

Value(只有单选钮(true、false)、多选框(0、1、2)和滚动条(界于min、max间)支持)4/2/202317

Interval(只有时钟支持);Autosize(只有图片框支持,为True时可调整框的大小显示全图);Stretch(只有图象框支持,为false时可调整框的大小显示全图;为True时可缩放图形大小以适应图象框的大小);List(列表框、组合框支持和驱动器列表框支持,其含义后者与前两者有区别);ListIndex(只有列表框支持,指定表中数据项的索引值,从0开始编号);Shape(只有形状控件支持,属性值0、1、2、3、4、5分别表示矩形、正方形、椭圆、正圆、圆角矩形和圆角正方形)4/2/202318④利用属性设置建立驱动器列表框、目录列表框和文件列表框之间的联系驱动器列表框与目录列表框建立联系:Privatesubdrive1_change()dir1.path=Drive1.DriveEndsub目录列表框与文件列表框建立联系:PrivatesubDir1_change()=Dir1.PathEndsub4/2/202319①事件的作用及其驱动事件的作用:事件驱动是VB程序执行的必备条件。事件驱动(触发)的形式:系统自动触发:如Initialize、Load、Paint、Activate等用户操作触发:如Click、Dblclick、MouseDown、KeyPress等程序调用方法而触发:如调用窗体Unload方法而自动驱动Unload事件等。4/2/202321

②事件的基本类型:Ⅰ常用事件Ⅱ鼠标事件Ⅲ键盘事件Ⅳ功能事件4/2/202322

Ⅰ常用事件:Click、Dblclick;Ⅱ鼠标事件:MouseDown、MouseUp、MouseMove;Ⅲ键盘事件:KeyPress、KeyDown、KeyUp;(关于鼠标事件和键盘事件的含义和用法见后述的事件过程。)4/2/202323

(PrivatesubHScroll1_Change()……EndSub单击滚动条箭头或区域时触发)(PrivatesubDrive1_Change()……EndSub选择(单击或赋值)新驱动器时触发)(PrivatesubDir1_Change()……EndSub选择(双击或赋值)新目录时触发)(PrivatesubText1_Change()……EndSub向文本框中输入一个字符就触发一次)(PrivatesubTimer1_Timer()……EndSub在一定的时间间隔内定时触发)4/2/202325③注意一些事件的支持范围:每个控件支持的事件各不相同,例如:Click()、dblclick()几乎所有对象都支持,但时钟、驱动器列表框和目录列表框却不支持;时钟只支持Timer()事件,驱动器列表框和目录列表框只支持Change()事件;滚动条只支持Scroll()和Change()两个事件;也有不支持任何事件的:形状、直线、框架、通用对话框等。4/2/202326

用于添加和删除:AddItem(列表框、组合框)格式:对象名.AddItemitem[,索引值]RemoveItem(列表框、组合框)格式:对象名.RemoveItem索引值Clear(列表框、组合框)格式:对象名.ClearCls(窗体、图片框)格式:对象名.ClsRefresh(窗体)格式:Form1.Refresh4/2/202329

用于快捷菜单设计:PopupMenu(用法见后述的菜单设计)用于图形设计:PaintPicture(图片框、图象框)格式:对象名.PaintPicturePicture,destx,desty[,destWidth,destHeight,srcx,srcy,srcWidth,srcHeight,Opcode]功能:将一个图片框或图象框的图形(Picture)画到另一个图片框或图象框(对象名)中。图形的加载和删除是通过函数LoadPicture()函数实现的,用法见函数部分。4/2/202330

用于获得焦点(控制权):SetFocus(除Frame、Label、Menu、Shape、Image、Timer外)格式:对象名.SetFocus不支持任何方法:Frame、Timer、Vscroll、Hscroll等控件。4/2/2023314、扩展工具:通用对话框(1)添加对象:执行“工程/部件/控件/MicrosoftCommonDialogControl6.0”命令后将对象添加到窗体上。(2)创建通用对话框:①通过通用对话框对象CommonDirlogX调用相应的方法实现,(方法如下表),例如:CommonDialog1.ShowOpen②通过设置CommonDirlogX的属性Action的属性值实现,(属性值如下表),例如:CommonDialog1.Action=14/2/202332属性和方法对应表:4/2/202333

注意:(1)打开文件对话框的文件过滤器(Filter属性)用法:

CommonDialog1.Filter=“文本文件(.txt)|*.txt|文档文件(*.doc)|*.doc”CommonDialog1.FilterIndex=2(2)

Filter属性与文件列表框的Pattern属性的区别:

文件类型描述

文件类型描述可以是:“*.exe”、”*.doc”、”*.*”……等。4/2/2023345、菜单设计菜单设计工具:“工具/菜单编辑器”下拉菜单设计:只要将“可见”项选中,生成的菜单就是下拉式菜单。

快捷菜单设计:设置的方法与下拉菜单相同,所不同的是需将主菜单的“可见”项取消即可。4/2/202335菜单弹出的语句格式:[窗体名.]PopupMenu主菜单名[,Flags][,X][,Y][,BoldCommand]4/2/202336菜单弹出的实现形式:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenu主菜单名EndIfEndSub4/2/202337三、程序设计的基本方法

1、基本语法2、基本结构4/2/2023381、基本语法(1)关键字、变量和常量(2)表达式(3)语句(4)函数4/2/202339(1)关键字、变量和常量①关键字(保留字):由系统定义,具有特定功能,用户不能修改,如private、dim等。②变量:Ⅰ、变量的含义:暂存数据的地方,实际上就是内存单元。4/2/202340Ⅱ、变量的类型:从作用范围分:全局变量:使用Public在“通用/声明”段或在标准模块(Module)中定义的变量。窗体变量:在窗体“通用/声明”段定义的变量。局部变量:在过程中定义的变量。从运行结果的变与不变角度分:动态变量:使用Dim定义的变量。静态变量:使用Static定义的变量。两者区别:前者在程序执行时,只要离开程序该变量将被初始化;而后者只要没有离开本窗体,其变量的值将被保留。4/2/202341

从变量存放数据的类型分:整型(Integer)、长整型(long)、

单精度(single)、双精度(Double)、

货币型(Currency)、字符串型(String)等;也可在变量后面直接加上类型符号表示上述类型:

%(整型)、&(长整型)、

!(单精度)、#(双精度)、

@(货币)、$(字符串型)等。4/2/202342Ⅲ、变量的声明和使用:声明方法:显式声明:使用Dim、Static、Public等进行。隐式声明:不声明而直接使用;概以Variant变体类型处理。强制声明:在“通用/声明”段使用OptionExplicit语句。变量使用:命名要正确;一般先声明后使用;局部变量在过程中不能同名,但可以与窗体变量和全局变量同名。引用时首先应用作用范围最小的变量。

4/2/202343③常量:程序运行中不变的量,命名规则、类型表示与变量基本相同,但声明的关键字是用“const”。4/2/202344(2)表达式由变量、常量和关系运算符组合形成的式子。表达式不能单独形成语句,通常用在赋值语句和选择语句中。关系运算符及其优先级别(由上到下,从高到低;括号中未说明者由左至右,从高到低):

括号()算术运算符(^、-、*/、\、mod、+-)字符串连接运算符(+、&相同)关系运算符(=、<>、>、>=、<、<=相同)逻辑运算符(not、and、or)4/2/202345(3)语句非执行语句:注释语句:以单引号“’”开头,或用关键字“Rem”开头的文字说明。声明语句:以关键字“Dim”等开头对变量、常量、数组等定义数据类型。

4/2/202346

可执行语句:赋值语句:赋值号左边必须是变量名、常量名和数组元素名等。选择语句:if…then…语句和Case语句等多种形式。循环语句:while语句、do语句和for语句等。其它功能语句:如Call语句、ExitFor等。

4/2/202347(4)函数函数分内部函数和外部(自定义函数)两大类,后者即函数过程,其使用见后。

①标准函数②输入函数③输出函数④图形加载函数4/2/202348①标准函数标准函数由系统定义,用户只能使用,不能修改:数值函数:求方根函数、三角函数、指数函数、符号函数(Sgn(number))、取整函数(Int(unmber)))和随机函数(Rnd[(number)])4/2/202349

字符串函数:大小写函数(UCase、LCase)、取字符函数(Left(string,length)、Right(string,length)、Mid(string,start,length))、长度函数(Len(string))和空格函数(Space(number))等。日期函数:Now、Date、Time、Year(date)等类型转换函数:Val(n)函数、Str(n)函数等4/2/202350②输入函数(InputBox)格式:变量名=InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])注意:

每执行一次InputBox函数只能输入一个值,如果需要输入多个值,只能多次调用此函数。

4/2/202351③输出函数(MsgBox)格式:

变量名=MsgBox(prompt[,type][,title][,helpfile,context])注意:type值,既可用系统常数,也可以写成它所对应的数值形式的和数形式。例如:vbYesNo+vbQuestion就可以写成:4+32或直接写成364/2/202352

Type:VBQuestiontitleprompt返回值=7返回值=6,且为缺省按钮Type:VbYesNo4/2/202353④图形加载和删除函数图形的加载:

对象名.Picture=LoadPicture(“图形文件标识符”)注意:文件名标识符必须包括盘符和文件扩展名。对象名为PictureBox或Image。图形的删除:

对象名.Picture=LoadPicture()4/2/2023542、基本结构(1)顺序结构(2)分支结构(3)循环结构(4)数组结构(5)模块结构(过程)(6)简单画图4/2/202355(1)顺序结构从上到下,逐条执行;上面语句执行的结果,是下面语句执行的条件。4/2/202356(2)分支结构有三种语句:

①函数IIF语句:

变量名=IIf(条件表达式,值1,值2)

②If语句③Case语句4/2/202357

②If语句(4种形式):Ⅰ.If条件表达式Then语句(必须写在一行)

Ⅱ.If条件表达式ThenⅢ.If条件表达式

then语句1语句块1语句2Else……语句块2语句nEndifEndIf4/2/202358

Ⅳ.If条件表达式1Then[语句块1]ElseIf条件表达式2Then[语句块2]……Else[语句块n+1]EndIf4/2/202359③SelectCase语句:

SelectCase测试表达式 Case表达式值1 语句块1 Case表达式值2语句块2 ... CaseElse 语句块n+1 EndSelect4/2/202360(3)循环结构,有三种形式:①while语句(当循环):

While<条件> <语句系列>Wend②for语句(For循环):

For<控制变量>=〈初值〉To<终值>[Step<步长>][〈循环体〉]Next[<控制变量>]4/2/202361③do语句(Do循环),四种格式:DoWhile<条件>Do<循环体语句><循环体语句>LoopLoopwhile<条件>

DoUntil<条件>Do<循环体语句><循环体语句>LoopLoopUntil<条件>4/2/202362四种DO循环区别:

DoWhile…Loop和DoUntil…Loop循环是先判断条件,后执行循环体;而Do…LoopWhile和Do…LoopUntil循环是先执行循环体,后判断条件。DoWhile循环(两种形式)是当条件为true时执行循环体,而DoUntil循环(两种形式)则是当条件为false时才执行循环体。4/2/202363非正常退出循环:

无条件退出:ExitDo、ExitFor按条件退出:if<条件>thenExitDoif<条件>thenExitFor4/2/202364(4)数组结构从使用角度看,主要有4种类型数组:

①一维数组②二维数组③动态数组④控件数组

4/2/202365①一维数组基本格式:

Dim数组名(索引值)As数组类型Dim数组名(下限值to上限值)As数组类型4/2/202366②二维数组基本格式:

Dim数组名(索引值1,索引值2)As数据类型Dim数组名(下限值1To上限值1,下限值2To上限值2)As数据类型4/2/202367注意:数组必须先定义,后使用;且数组名不能与变量名同名。索引值(含上下限值)必须是一个常数或常数表达式。若不指定下限值时,索引值从0开始计算;若指定下限值,则索引值可正可负,但下限必须小于上限。4/2/202368

可以使用“OptionBase1”语句,强制索引值从1开始计算。该语句需在“通用/声明”段设置。在对数组进行操作时,可使用函数“Array()”,实现对数组进行快速赋值运算。4/2/202369③动态数组:分两步进行:第一步:先定义一个不含索引的数组:

Dim数组名()As数据类型第二步:在对数组操作时,再用ReDim语句对数组分配实际的索引大小:

ReDim数组名(索引大小)As数据类型4/2/202370刷新动态数组:刷新格式:

Erase数组名注意:刷新的数组要继续使用,必须重新定义,否则出错。静态数组:指用Static定义(声明)的数组,其保存数据的功能与静态变量相同

4/2/202371④控件数组:创建方法:采用“复制/粘贴”方法或在属性窗口修改名称方法。基本特征:数组内所有控件同名;双击任何一个控件数组即可进入代码窗口;使用方法:根据不同索引index(0,1,2….)值区别不同的控件。

4/2/202372(5)模块结构(过程)VB程序通常由一个或多个模块组成,一个模块就是一个过程。过程有两种情况:①事件过程(过程名由系统生成)②自定义过程(过程名由用户命名)4/2/202373①事件过程有四种类型的事件过程:Ⅰ、基本事件过程(如click、Dblclick):

Privatesub对象名_click()……Endsub4/2/202374

Ⅱ、鼠标事件过程(如MouseMove、MouseDown、MouseUp):

Privatesub对象名_MouseDown(Buttonasintegershift…)……EndsubMouseMove、MouseUp的语法格式与MouseDown完全相同。4/2/202375

参数Button是表示按下或松开哪个按钮,其含义(表2-9)是:

Button=0(未按下鼠标)Button=1(按下左键)Button=2(按下右键)Button=4(按下中间键)与click事件区别:MouseDown可识别鼠标左右键。4/2/202376

Ⅲ、键盘事件过程(KeyPress、KeyDown、KeyUp):

Privatesub对象名_KeyPress(keyAsciiasinteger)……EndsubPrivatesub对象名_KeyDown(keyCodeasinteger,shiftasinteger)……Endsub4/2/202377说明:KeyUp的语法格式与KeyDown完全相同。KeyPress事件:按下Ascii键即触发,这时参数KeyAscii即得到按下键的Ascii值。KeyDown/KeyUp事件:按下或松开任意键时即触发,这时参数KeyCode即得到按下键的键值:如果是字母键,则该键的键值是该字母大写的Ascii值;如果是其他键,则他的键值就是该键的Ascii值。参数shift用于是否同时按下其它功能键(表2-8)。4/2/202378

Ⅳ、其它功能的事件过程(如Load、Paint、Activate、Change、Timer等):PrivatesubForm_load()……EndsubPrivatesubForm_Paint()Text1.SetFocusEndsub4/2/202379

PrivatesubDir1_change()

Endsub

PrivatesubVscroll_change()……Endsub4/2/202380②自定义过程:

Ⅰ、自定义过程的类型Ⅱ、自定义过程的区别Ⅲ、自定义过程的参数传递Ⅳ、自定义过程的出口4/2/202381Ⅰ、自定义过程的类型有两种类型:自定义子程序过程自定义函数过程自定义子程序过程:

[Private|Static|Pu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论