版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic程序设计教程(第四版)龚沛增 杨志强 陆慰民 编国家精品课程主讲教材普通高等教育“十一五”国家级规划教材高等教育百门精品课程教材第1页,共326页。章内 容学时实验与学时第1章Visual Basic程序设计概述3实验A 1第2章VB可视化编程基础5实验B 1第3章VB语言基础5实验C 2第4章VB控制结构6实验D 2第5章数组和自定义类型6实验E 4第6章过 程6实验F 4第7章用户界面设计6实验G 4第8章数据文件5实验H 3第9章图形操作4实验I 3第10章数据库应用基础6实验J 2合计5426教学安排见教学进度表第2页,共326页。第1章 Visual Basi
2、c程序设计概述1.1 Visual Basic 简介1.2 VB集成开发环境1.3 创建应用程序过程1.4 VB帮助系统 第3页,共326页。1.1 Visual Basic 简介1.1.1 Visual Basic的发展1.1.2 Visual Basic的特点1.1.3 如何学习Visual Basic第4页,共326页。1.1.1 Visual Basic的发展BASIC(Beginners All-purpose Symbolic Instruction Code)语言的发展概况(四阶段):1.初级Basic:6474,Basic语言问世2.微机Basic:7585,微机上固化Basi
3、c语言3.结构化Basic:8690,结构化的Basic语言4.可视化Basic:91至今,VB(微软推出)第5页,共326页。Visual Basic的发展1991年Microsoft公司推出Visual Basic1.0,以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行机制。从1991年的VB1.0至2019年的VB6.0的多次版本升级,功能更强大、完善,应用面更广。2000年发布Visual Basic.NET,2019年发布Visual Basic 2019版本。第6页,共326页。71.1.2 VB的特点例1 简单动画演示。一行文字在具有背景图案的窗体上进行上、下
4、移动。单击手动按钮,移动50Twip;单击自动按钮,可以连续移动。当内容超出窗体底部时,又从顶部开始往下移动。设计思路:在窗体上使用标签Label对象来存放文字;利用Timer控件来自动触发移动;利用单击按钮来手动触发移动。第7页,共326页。8当一个标签放在窗体上时,标签的左上角坐标(用Left、Top表示)就被指定了。如果改变标签的左上角坐标就可移动标签,即移动文字。例如: Label1.Top=Label1.Top+50可使标签Label1向下移动50单位。欢迎使用VB Top Left0,0第8页,共326页。9实现连续移动,可通过时钟对象Timer,在规定的时间间隔连续执行: Lab
5、el1.Top=Label1.Top+50语句,就可使标签Label1连续向下移动。时钟对象的Interval可指定时间间隔,以毫秒单位。每隔0.2秒移动一次可设置Interval=200。第9页,共326页。10程序进一步改进:连续循环移动,首先要能判断出标签是否超出窗体范围。该点在Top方向上的坐标为:窗体的高度Height如果标签的Top窗体的高度,表示已越出窗体范围,可将标签移到窗体上方,此时标签的Top=?窗体欢迎使用VBHeight第10页,共326页。1.具有基于对象的可视化设计工具2.事件驱动的编程机制3.提供了易学易用的集成开发环境 4.支持结构化程序设计语言5.强大的网络、
6、数据库、多媒体功能 6.完备的帮助功能VB功能特点第11页,共326页。如何学习Visual Basic两个方面:Visual可视化界面设计Basic程序设计第12页,共326页。VB系统的安装VB系统的启动VB集成开发环境的使用1.2 VB集成开发环境 第13页,共326页。141.2.1 安装VB6.0有学习版(Learning)、专业版(Professional)和企业版(Enterprise)三种版本。执行VB6.0的Setup.exe,在安装程序的提示下进行,初学者可采用典型安装方式。VB6.0联机帮助文件使用MSDN文档格式,联机帮助文件不在VB6.0系统盘上,而与Visual S
7、tudio产品的帮助集合在两张CD盘上,安装过程中,系统会提示插入MSDN盘。 第14页,共326页。151.2.2 启动 启动VB选择开始菜单中的 Microsoft Visual Basic 6.0中文版程序。VB窗口列出了VB能够建立的应用程序类型,初学者只要选择默认标准.EXE。单击打开按钮,就可创建 该类型的应用程序。 第15页,共326页。161.2.3 集成开发环境使用 第16页,共326页。一、主窗口 标题栏三种工作模式:设计模式:界面的设计和代码的编制运行模式:运行应用程序中断模式:暂时中断程序运行,调试程序 2.菜单栏 包括13个下拉菜单 3.工具栏标准、编辑、窗体编辑器、
8、调试等工具栏第17页,共326页。18二、窗体设计窗口(Form)窗体是建立VB应用程序的主要部分,一个应用程序至少有一个窗体窗口。每个窗体必须有一个唯一的窗体名,默认名为Form1。设计状态的窗体由网格点构成,方便用户对控件的定位,网格点间距可以通过工具|选项|通用进入窗体网格设置。运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。利用Shift+F7组合键打开窗体窗口。第18页,共326页。三、代码(Code)设计窗口 1.代码窗口作用 编辑和显示窗体、标准模块中的代码。每个窗体都有各自的代码窗口。2.代码窗口的组成 (1)“对象”下拉列表框 (2)“过程”下拉列表框 (3)“代码
9、”框 (4)“过程查看”按钮 (5)“全模块”查看按钮。3.代码窗口的打开方法(4种) (1)热键F7 (2)“视图” “代码窗口” (3)在窗体窗口中双击任一控件或窗体本身 (4)从工程窗口中选择窗体或模块后单击“查看代码”按钮。第19页,共326页。20四、属性(Properties)窗口1.作用:设置或查看窗体及控件的属性,如 颜色、字体、大小等。2.属性窗口的组成:对象列表框、属性显示排列方式、属性列表框和属性含义说明。第20页,共326页。四、属性(Properties)窗口3.属性窗口的打开方法(4种)(1)热键F4 (2)“视图” “属性窗口”(3)单击工具栏上的“属性窗口”按钮
10、(4)右击对象,在快捷菜单中选择“属性窗口”命令第21页,共326页。221.工程资源管理器的作用:用层次化管理方式显示一个应用程序所有的文件。2.工程资源管理器的组成:“查看代码”按钮、“查看对象”按钮、“切换文件夹”按钮和一个列表窗口。列表窗口中显示了本工程文件(.vbp)中的所有窗体文件(.frm)和模块文件(标准模块文件.bas和类模块文件.cls)等。已存盘未存盘五、工程管理器(Project Explorer)窗口第22页,共326页。五、工程管理器(Project Explorer)窗口3.工程资源管理器的打开方式(3种)(1)单击工具栏上的“工程资源管理器”按钮(2)热键Ctr
11、l+R (3)“视图”“工程资源管理器”第23页,共326页。24六、工具箱(ToolBox)窗口 由21个被绘制成按钮形式的图标构成,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。也可通过工程|部件命令将第3方开发的其他控件装入到工具箱。第24页,共326页。七、其他窗口1.立即(Immediate)窗口 为调试程序提供的,可在此直接用Print方法输出表达式的值,也可以在程序代码中用Debug.print语句在立即窗口输出表达式的值。2.窗体布局(Form Layout)窗口 用于指定程序运行时窗体的
12、初始位置,主要应用于多窗体程序中。 第25页,共326页。261.3 创建应用程序的过程 建立一个应用程序分为以下几步:(1) 建立用户界面的对象(2) 对象属性的设置(3) 对象事件过程及编程(4) 保存和运行程序例1.2 编写一个人民币与美元兑换的程序。要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示兑换结果。第26页,共326页。27设计思路: 输入使用文本框TextBox; 提示使用标签Label; 按钮Command的Click事件执行处理命令。第27页,共326页。281.4 使用帮助系统 使用MSDN Library查阅器通过VB的帮助菜单,选择内容、索引或搜索菜单项
13、第28页,共326页。本章小结VB的突出特点可视化的设计工具事件驱动的编程机制VB集成开发环境三种工作模式窗体窗口属性窗口代码窗口工程资源管理器窗口创建应用程序的过程建立界面、属性设置、编写代码、运行与保存程序第29页,共326页。第2章 VB可视化编程基础2.1 VB对象概念2.2 窗体和基本控件2.3 综合应用 第30页,共326页。2.1 VB对象的概念2.1.1 对象和类1.对象 指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。 每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。 例如人具有身高、体重等特征,具有行走、说话等行为,外界作用在人对象上
14、的各种活动,如下雨等。第31页,共326页。322.类的概念 在现实中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。 类是对同一种对象的集合与抽象。 如人类是“人”的抽象。类是创建对象实例的模板,对象则是类的一个实例。 类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。第32页,共326页。3.VB中的类和对象 VB工具箱中的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。第33页,共32
15、6页。例如:工具箱内的TextBox是类(它确定了TextBox的属性、方法和事件),窗体上显示的是两个TextBox对象。第34页,共326页。VB中常用的对象是控件。此外,VB还提供了系统对象:打印机(Printer)、剪贴板(Clipboard)、屏幕(Screen)和应用程序(App)等。窗体是个特例,它既是类也是对象。当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。第35页,共326页。属性、事件和方法构成对象的三要素。1.属性:存放对象的数据(决定对象外观及功能)例如:控件名称、文本、大小等属性。对象属性的设置方法: 在设计阶段,利用属性窗口直接设置属性值 程序运行
16、时,通过语句对象名.属性名=属性值 例如:Command1.Caption = 确定 注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。 2.1.2 对象的属性、事件和方法 第36页,共326页。(1)事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应:2.事件教师_铃声() 讲课End Sub学生_铃声()听讲End SubVB为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus、按下键盘KeyPress 等 其他人员_铃声()可不于响应End Sub第37页,共326页。(2)事件过程:应用程序处理事件的步骤。应用程序设计的主要工
17、作就是为对象编写事件过程的代码。事件过程的形式如下:Private Sub 对象名_事件(参数) 事件过程代码End Sub第38页,共326页。例:单击按钮,使Text1的字体为20磅。 Private Sub Command1_Click() Text1.FontSize = 20 End Sub一个动作可能同时发生多个事件。例如单击鼠标同时发生了Click、MouseDown、MouseUp事件。编程时,只要对需要的事件过程编写代码。注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。第39页,共326页。40程序执行的次序与程序设计者无关,取决于用户的操作,
18、这就是事件驱动程序设计方式。VB程序的执行步骤如下: 启动应用程序,装载和显示窗体; 窗体(或窗体上的控件)等待事件的发生; 事件发生时,执行对应的事件过程; 重复执行步骤和。(3)事件驱动第40页,共326页。3.方法 面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。 方法是面向对象的,调用时一定要指明对象。 对象方法的调用格式为: 对象.方法 参数名表 若省略对象,表示当前对象,一般指窗体。 例如:Text1.SetFocus 此语句使Text1控件获得焦点,光标在本文框内闪烁。 第41页,共326页。422.2 窗体和基本控件 2.2.1 窗体和控件具有的基本
19、属性(1) Name属性:名称 所创建的对象名称,在程序中引用。(2) Caption属性:标题 该属性决定了对象上显示的内容。(3) Height、Width、Top和Left属性 决定对象的大小和位置。第42页,共326页。43(4) Enabled 属性:对象是否允许操作(5) Visible 属性:对象是否可见(6) Font 属性组:文本的外观 FontName字体、FontSize大小 FontBold粗体、FontItalic斜体 FontStrikethru 删除线 FontUnderline 下划线 例2.1 在窗体上建立两个命令按钮,分别设置其属性。第43页,共326页。4
20、4(7) ForeColor属性:前景颜色(8) BackColor属性:背景颜色(9) MousePointer属性:鼠标指针类型, 设置值范围015,由系统指定 。若为99,由用户提供的图形文件定义鼠标指针形状。(10) MouseIcon属性:在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在Graphics目录下。第44页,共326页。45控件默认属性:程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。 控 件 默认属性 控 件 默认属性文本框命令按钮单选按钮TextDefaultValue标签图形、图像框复选框 Caption
21、 Picture Value例如,下面两条语句是等价的:Text1.Text=Visual BasicText1 =Visual Basic第45页,共326页。462.2.2 窗体 窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画出程序的界面。窗体属性决定了窗体的外观和操作。第46页,共326页。1.窗体的主要属性(1)Caption标题 (2)MaxButton、MinButton(3)Icon:窗体最小化时所显示的图标(4)ControlBox:控制菜单框的有无,值为False时,没有控制菜单框,也无最大化、最小化、关闭按钮,这时系统自动将MaxBut
22、ton和MinButton设置为False。(5)BorderStyle :边框样式,取值为0 1 2 3 4 5(6)Picture:窗体背景(7)AutoRedraw:决定窗体被隐藏或覆盖后重新显示时,是否重新还原原来的内容。(8)WindowState (0-正常、1-最小化、2-最大化)第47页,共326页。482.窗体的事件 常用的事件有Click、DblClick、Resize、Load和Unload、Activate和DeActivate等。 Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。 例2
23、.2 窗体无最大化按钮和最小化按钮,窗体启动时,在标题栏显示“装入窗体”,并装入一背景图;单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字。 第48页,共326页。493.窗体的方法 使用方法的语法形式: 对象.方法 参数列表(1)Print方法用来显示文本内容,格式:对象.print 表达式(2)Cls方法 清除运行时在窗体或图形框中产生的文本或图形, Cls方法不能清除窗体在设计时的文本和图形。格式:对象.cls(3)Move方法可移动窗体或控件,并可改变其大小。语法格式如下:对象.Move 左边距离,上边距离,宽度,高度第49页,共326页。2.2.3 标签 作用:用于显示文本
24、(输出)信息,不能作为输入信息的界面。其内容只能通过Caption属性设置或修改,不能直接编辑。 主要属性:BackStyle、BorderStyle、AlignMent、AutoSize。 事件:Click、DblClick、Change等,一般不需要编程。 方法:Move例2.3 标签属性演示例 显示浮雕效果的文字,实现方法:字颜色、标签位置。第50页,共326页。2.2.4 文本框 文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。1.重要属性(1) Text 显示或输入的正文内容(2) Maxlength 设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意
25、长字符串。 注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。 第51页,共326页。(3) MultiLine 多行属性设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。(4) ScrollBars 滚动条属性 0-None 无滚动条 1-Horizontal 水平滚动条 2-Vertical 垂直滚动条 3-Both 同时加水平和垂直滚动条注意:当MultiLine为True时,ScrollBars才有效第52页,共326页。(5) PassWordChar 设置显示文本的替代符。例如,当设置为“
26、*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。当MultiLine为True时,该属性不起作用,密码不允许多行。(6) Locked 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。注意:Locked与Enabled的区别。 第53页,共326页。(7)文本内容进行选择操作的三个属性SelStart 选定的正文开始位置SelLength 选定的正文长度SelText选定的正文内容这3个属性互相关联,例如设置SelStart、SelLength后,SelText 自动存放指定的文本。注意:属
27、性窗口中没有这三个属性,只能在程序代码中使用。例2.4 利用属性实现文本信息的复制。 第54页,共326页。2.文本框的事件(1) Change事件当Text属性值发生改变时引发该事件例 在文本框每输入一个字符就引发一次事件(2) KeyPress事件按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中例 对回车的判断 KeyAscii=13第55页,共326页。(3) LostFocus事件对象失去焦点时发生LostFocus事件。该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。(4) GotFocus事件GotFo
28、cus事件与LostFocus事件相反,当一个对象获得焦点时发生。焦点转移的方法:在对象上单击或利用Tab键。此外,文本框还有Click、DblClick、KeyDown、KeyUp等。第56页,共326页。3.文本框的方法文本框最有用的方法是SetFocus,把光标移到指定的文本框中。其形式如下: 对象. SetFocusSetFocus还可以用于如CheckBox、 ListBox、 CommandButton、ComboBox等控件。例2.5 利用文本框,实现简单的两数加法运算。要求对输入的数据进行合法性检验,过滤不合法的数据。第57页,共326页。2.2.5 命令按钮 作用:用于程序运
29、行时执行相应的事件。1. 主要属性(1) Caption 命令按钮上显示的文字。(2) Style 按钮样式。 0 Standard:默认,按钮上不能显示图形 。 1 Graphical:按钮上可以显示图形和文字。 (3) Picture 按钮可显示图片文件(.bmp和.Ico),当Style为1时有效。(4) ToolTipText 设置工具提示文字,和Picture结合使用。(5) Value 检查该按钮是否按下。该属性在设计时无效。(6) Default和Cancel 多个按钮时使用。第58页,共326页。2. 事件 命令按钮可以接收Click 、GotFocus、LostFocus、
30、KeyDown、 KeyUp等事件,没有DblClick事件。 一般编写Click事件。第59页,共326页。2.3 综合应用 例2.6建立一个类似记事本的应用程序,提供:(1)剪切、复制和粘贴的编辑操作;(2)字体大小的格式设置。分析:(1) 建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。(2) 利用文本框的SelText属性实现“剪切、复制和粘贴”的编辑操作。(3) “格式”设置利用Font对象实现。第60页,共326页。本章小节1.VB中类和对象的概念:类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。2.对象
31、三要素:属性、事件、方法。3.窗体是所有控件的容器,窗体的属性、事件和方法。4.基本控件:标签、文本框、命令按钮。第61页,共326页。第三章 VB语言基础3.1 数据类型3.2 变量和常量3.3 运算符和表达式3.4 程序结构和编码规则3.5 综合应用3.6 常见错误第62页,共326页。1.数值型1) 整数 整型(Integer,%):以带符号的两个字节表示 长整型(Long,&):长整型以带符号的4字节存储2) 浮点数 单精度型(Single,!):以4个字节存储,符号占 1位,指数占 8位,其余23位表示尾数,精度为7位有效数字。 双精度型(Double,#):用8个字节存储,符号占1
32、位,指数占11位,其余52位用来表示尾数,精度为15位有效数字。3.1 数 据 类 型第63页,共326页。3)货币型(Currency,)为表示钱款而设置,定点实数或整数,以8个字节存储,精确到小数点后4位和小数点左边15位,取值范围为: -922 337 203 685 477.580 8922 337 203 685 477.580 7 4)字节(Byte)1个字节的无符号二进制数存储,取值范围为0255。 2.字符串(String,$)是一除了回车和双引号的所有西文字符和汉字字符序列,用双引号括起。例如:fghjhh Visual Basic 6.0程序设计 (空字符串) VB的字符串
33、分为两种:变长和定长字符串。第64页,共326页。4.变体型(Variant) 变体型是一种可变的数据类型,又称为通用型。可以表示任何值,包括数值、字符串、日期时间等。 变体型也可以是Empty(空)、Null(无效)、Error(出错)、Nothing(无指向)4种特殊的数据。 对于变体类型,可以用函数VarType()进行检测变量的类型,其返回值为整型。如:0为Empty,1为Null,2为整型,3为长整型,4为单精度,5为双精度,6为货币型,7为日期型,8为字符型,9为对象型等。 也可以用函数TypeName()来获取变量的数据类型名称。如TypeName(a)结果为Long。第65页,
34、共326页。5其他数据类型布尔(Boolean) 是一逻辑值True或False,用两个字节存储。日期(Date) 存储为64位(8个字节)浮点数值形式,以符号“#” 括起来。 例如:#05-01-2009#,#2009-3-3 8:35:25#对象(Object) 表示图形或OLE对象或其他对象,用4个字节存储。第66页,共326页。第67页,共326页。VB中11种标准数据类型和2种复合数据类型:第68页,共326页。3.2 变量与常量3.2.1 变量1.变量和常量的命名规则变量:在程序运行中其存储的值可以改变。常量:在程序运行中其值不可以改变。命名规则:1) 变量名必须以字母或汉字开头,
35、所有字母不分大小写。2) 不能包含圆点“.”。3) 字符总个数不得超过255个字符。4) 在同一个范围内必须是惟一的。 5) 变量名要“见名知义”,变量名要便于记忆、有意义。 6) 不能用 Visual Basic的关键字作为变量名,如print。7) 变量名不能与过程名和符号常量名相同。第69页,共326页。2.变量声明1.用Dim语句显式声明变量 形式:Dim 变量名 AS 类型 或 Dim 变量名类型符 说明: (1)变量名与类型符之间不能有空格。 例 Dim a As integer , b As single 等价于 Dim a%, b! (2)一条Dim语句可以同时定义多个变量,但
36、每个变量必须有自己的类型声明,类型声明不能共用。若没有类型声明,则为变体类型。 如:Dim a,b,c as integer (3)对于字符型变量,可有定长和变长两种声明方式: Dim字符串变量名 As String Dim字符串变量名 As String*字符个数 在VB中,一个汉字与一个西文字符一样都算作一个字符,占两个字节。第70页,共326页。(4)使用声明语句声明一个变量后,VB自动将数值型变量置初值0,字符型置初值空串,变体型置初值Empty,布尔型置初值False,对象型置初值Nothing,日期型置初值“0:00:00” 。 (5)除了使用Dim外,还可以使用Static、Pu
37、blic、Private等保留字进行声明变量。2.隐式声明 未进行上述的声明而直接使用,其类型为 Variant 类型。建议不使用。3.强制显式声明(Option Explicit语句) 声明方法: 在模块的通用声明段中加入语句:Option Explicit 在“工具”菜单中选取“选项”命令,然后在打开的对话框中单击“编 辑器”选项卡,再复选“要求变量声明”。第71页,共326页。3.2.2 常量1.直接常量 以直接明显的形式给出的各种数据 1) 数值常量 整数常量:十进制、八进制(&O)和十六进制(& H 或& h) 长整型常量:十进制、八进制和十六进制形式 货币型常量(即定点数)、浮点数
38、 2) 字符串常量 由除双引号和回车符之外的ASCII字符组成的字符串 3) 布尔常量 只有True和False两个值 4) 日期常量 两个“#”符号把日期值括起来表示日期常量 第72页,共326页。2.用户声明常量 形式: Const 常量名 AS 类型 = 表达式 省略 AS 类型 ,常量的类型由表达式值的类型决定。 为使与变量名区分,一般常量名使用大写字母。 例 Const PI=3.14159 const PI%=3.14159 常量一旦声明,在其后的代码中只能引用,不能改变。3.系统提供的常量 系统定义常量位于对象库中,可通过“对象浏览器”查看。 例:vbNormal、vbCrLf、
39、vbRed等。第73页,共326页。3.3 运算符和表达式 VB有4种运算符: VB表达式: 算术运算符 算术表达式 连接运算符 字符串表达式 关系运算符 关系表达式 逻辑运算符 逻辑表达式第74页,共326页。3.3.1运算符 1. 算术运算符 八种算术运算符:、-、*、/、mod、+、- 例:5+10 mod 10 9 / 3 +2 2 结果: 注意:算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换为数值类型后再运算。 如:30-True=31,True自动转换为-1,False转换为0。 False+10+”4”=14 True+12+”a”错误求余和整除运算时,若运算
40、量不是整数,则先四舍五入为整数,再运算。求余运算结果的符号始终与第一个运算量符号相同。10第75页,共326页。2. 字符串运算符& 两旁的操作数可任意,转换成字符型后再连接。+ 两旁的操作数应均为字符型,如果 1)数值型则进行算术加运算; 2)一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行 算术加; 3)一个为非数字字符,另一个为数值型,出错。例如: 操作 结果 操作 结果ab & 123 ab123 ab + 12 出错12 & 456 12456 12 + 456 468 12 & True 12True12 + True 11“12” & 100 +12 12112 “1
41、2” + 100 & 12 11212 注意:使用&运算时,变量与运算符之间应加一个空格,以示与长整型类型符的区别。第76页,共326页。3关系运算符 将两个操作数进行大小比较,结果为逻辑值。 八种关系运算符:=、=、=、Like、Is 注意:字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。 例: ABCDE ABRA 结果为 False 常见的字符值的大小比较关系如下: “空格”“0” “9”“A”“Z”“a”“z”189”,结果False;数值型与不能转换成数值型的字符型不能比较,如4”12a”,出错。汉字之间按汉字的拼音字母比较。关系运算符的优先级相同。 第
42、77页,共326页。4. 逻辑运算符 将操作数进行逻辑运算,结果是逻辑值: 条件表达式1 And 条件表达式2 条件表达式均为T, 结果为T; 条件表达式1 Or 条件表达式2 条件表达式有一个为T 结果为T。第78页,共326页。3.3.2 表达式 1. 组成 由变量、常量、函数、运算符和圆括号按一定规则组成。 2.书写规则 (1) 运算符不能相邻。例a+ -b是错误的。 (2) 乘号不能省略。例x 乘以y 应写成:x*y。 (3) 括号必须成对出现,均使用配对的圆括号。 (4) 表达式从左到右在同一基准上书写,无高低、大小。 3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠
43、。 IntegerLongSingleDouble=字符运算符关系运算符逻辑运算第79页,共326页。表达式书写举例a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g) 例逻辑表达式书写,选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其表达式写为:Age285 And ( Mark1=100 Or Mark2 =100 Or Mark3=100 )如果取消括号有何问题?请读者考虑。 sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1)例:表示算术表达式: 正确的VB表达式: 3=x A
44、nd x =7 错误的VB表达式: 3=x=7 或 3=x Or x=7 第80页,共326页。一、数学函数1.求绝对值函数Abs(x) 函数格式:Abs(x) 函数功能:求x的绝对值。 举例:设c=9.56,d=-5.7,则Abs(d+c) 的值为3.862.符号函数Sgn(x) 函数格式:Sgn(x) 函数功能:求x的符号, 返回值1、-1、0 举例:表达式Sgn(-6.7)结果为-1 3.求平方根函数Sqr(x) 函数格式:Sqr(x) 函数功能:求x的平方根,但x的值必须为非负数 举例:表达式Sqr(2) 的值为1.4142135623731。3.3.3 Visual Basic的内部
45、函数第81页,共326页。4.指数函数 Exp(x) 函数格式:Exp(x) 函数功能:求以e为底,以x为指数的值,即求e的x次幂 举例:表达式Exp(1) 的值为2.718281828459055.对数函数Log(x) 函数格式:Log(x) 函数功能:求以e为底的对数值(即自然对数),x必须为正数 举例:表达式Log(2) 的值为0.6931471805599456.正弦函数Sin(x) 函数格式:Sin(x) 函数功能:求x的正弦函数值,x必须为以弧度为单位表示的角度 7.余弦函数Cos(x) 函数格式:Cos(x) 函数功能:求x的余弦函数值,x必须为以弧度为单位表示的角度第82页,共
46、326页。8.正切函数Tan(X)函数格式:Tan(x) 函数功能:求x的正切函数值9.随机数函数Rnd(x)随机数函数Rnd(x) 变量x可省略,可产生一个0l)之间的双精度随机数 当x0或x0时,则每次产生的随机数都相同当x0或省略时,产生下一个随机数Randomize语句:产生随机化因子语句格式:Randomize (x)例如:要产生1100之间的随机整数:Int(Rnd*100+1)第83页,共326页。二、转换函数1.取整函数Int( ) 函数格式:Int(x) 功能:求不大于x的最大整数,返回值为整型数 举例:设x=5.67, y=-5.67, 则Int(x)=5,int(y)=-
47、62.舍去小数部分函数Fix和四舍五入取整函数Round 函数格式:Fix(x) ,Round(x) 函数功能:去掉x的小数部分或四舍五入,返回值为整型数 举例:设a=5.69,b=-5.88, Fix(a)=5, Round(b)=-6 3.十进制数转换为十六进制函数 函数格式:Hex(x) 或Hex$(x),转换后的结果为一字符串 4.十进制数转换为八进制函数 函数格式:Oct(x) 或Oct$(x) ,转换后的结果为一字符串 第84页,共326页。5.将字符串中的小写字母转换成大写字母函数 函数格式:Ucase(字符串表达式) 6.将字符串中的大写字母转换成小写字母函数 函数格式:Lca
48、se(字符串表达式) 7.求字符的ASCII码函数 函数格式:Asc(字符串表达式) 求字符串表达式中的第一个字符的ASCII码值8.求ASCll码值对应的字符函数 函数格式:Chr(表达式) 表达式的值必须是一个合法的ASCII码值 9.把数字字符串转换为数值的函数 函数格式:Val(字符串) 如果字符串是一个非数字字符串,则该函数的函数值为0,字母字符不转换,如:Val(“abcxyz”) 的值为0 , Val(“123.4+xyz”) 的值为123.4 10.把数值转换为数字字符串的函数 函数格式:Str(数值表达式) 举例:Str(23.56) 的值为字符串“ 23.56”第85页,共
49、326页。数据类型转换函数 1.转换为整型数据的函数函数格式:CInt(数值表达式) 小数部分的第1位进行四舍五入 如 CInt(34.5) =352.转换为货币类型数据的函数函数格式:CCur(数值表达式) 保留4位小数且自动将第5位小数进行四舍五入3.转换为双精度类型数据的函数函数格式:CDbl(数值表达式) 4.转换为长整型数据的函数函数格式:CLng(数值表达式) 第86页,共326页。5.转换为单精度类型数据的函数函数格式:CSng(数值表达式) 6.转换为变体类型数据的函数函数格式:CVar(数值表达式) 7.转换为字符串类型数据的函数函数格式:CStr(表达式) 8.转换为日期类
50、型数据的函数函数格式:CDate(表达式) 第87页,共326页。三、字符串处理函数1.删除字符串两端空格字符函数函数格式:Trim(字符串表达式) 举例:Trim( abc ) & xyz的值为“abcxyz”。2.删除字符串左端的空格字符函数 函数格式:LTrim(字符串表达式) 举例;LTrim( abc ) & xyz的值为“abc xyz”。3.删除字符串右端空格字符函数 函数格式:RTrim(字符串表达式) 举例:RTrim( abc ) & xyz的值为“ abcxyz”。4.从字符串的左端截取字符函数 函数格式:Left(字符串表达式,n) 举例:Left(abcdefgh,3
51、) 的值为“abc”。第88页,共326页。5. 从字符串的中部截取字符函数 函数格式:Mid(字符串表达式,n,m) 举例:Mid(“abcdefgh”,3,5) 的值为“cdefg”。 Mid(abcdefgh,3) 的值为“cdefgh”。6从字符串的右端截取字符函数 函数格式:Right(字符串表达式,n) 举例:Right(abcdefgh,4) 的值为“efgh”。7求字符串的长度函数 函数格式:Len(字符串表达式) 或Len(变量名) 举例:Len(“abcd科学家123”) 的值为 10 也可以求出某个变量所占的存储空间 Private Sub Command1_Click(
52、) Dim x As Integer,y As Single,Dim z As Double Print Len(x),Len(y),Len(z) End Sub第89页,共326页。8.求字符串所占字节数函数 函数格式:LenB(字符串表达式) 或LenB(变量名) 举例:LenB(“abed科学家123”) 的值为 209.产生字符串函数 函数格式:String(n,字符) 或String(n, ASCII码) 举例:String(10, a) 的值为“aaaaaaaaaa”,String(5, 65) 的值为“AAAAA” 10.产生空格字符串函数 函数格式:Space(n) 举例;ab
53、cd & space(5) & xyz 的值为“abcd xyz”11.字符串查找函数 函数格式:InStr(首字符位置, 字符串1,字符串2,n ) 如果找到了则返回“字符串2”在“字符串1”中第一次出现时第一个字符在“字符串1”中的位置,找不到时返回值为0。第90页,共326页。12.在C字符串中从1或N1开始将C2替代C1的函数 函数格式: Replace(C,C1,C2,N1,N2,M) 有N2替代N2次,没有则全部替代。省略M为区分大小写。例如:Replace(“abcdabcd”,”cd”,”123”)=“ab123ab123” 13.将字符串反序的函数 函数格式:StrRever
54、se(字符串) 举例: StrReverse(“abcxyz”) 的值为”zyxcba” 14. 将数组A各元素按D或空格连接成字符串的函数 函数格式: Join(A,D) 举例:A=array(“123”,”ab”,”c”) Join(A,“ ”)的值为字符串“123 ab c”15.将字符串C按分隔符D或空格分隔成字符数组的函数 函数格式: Split(C,D) 举例:S=Split(“123,ab,456”,”,”) 则S(0)=“123” S(1)=“ab” S(2)=“456” 第91页,共326页。3.4.6 日期和时间函数1.返回系统当前的日期和时间函数函数格式:Now或Now(
55、 ) 返回格式为yy-mm-dd hh:mm:ss 2.读取或设置系统当前的日期函数函数格式:Date或Date( ),Date$或Date$( ) 可以设置系统当前的日期:Date=日期字符串 3.读取或设置系统当前的时间函数函数格式:Time或Time( ),Time$或Time$( ) 可以设置系统当前的时间:Time=时间字符串 第92页,共326页。4.求日期中的年份函数函数格式:Year(日期字符串) ,结果为一整型数 5.求日期中的月份函数函数格式:Month(日期字符串) 6.求日期中的日子函数函数格式:Day(日期字符串) 7.求当前日期是星期几的函数函数格式:Weekday
56、(日期字符串) 结果为一整型数,1代表星期日,7代表星期六第93页,共326页。8.求时间中的小时函数函数格式:Hour(时间字符串) Hour(21:09:10) =219.求时间中的分钟函数函数格式:Minute(时间字符串) 10.求时间中的秒函数函数格式:Second(时间字符串) 11.计算从午夜起经过的秒数函数函数格式:Timer或Timer( ) 视系统当时的时间而定第94页,共326页。12.对要增减的日期变量按日期形式做增减的函数 形式:DateAdd(增减日期形式,增减量,日期变量) 例如: DateAdd(“m”,3,#3/10/2009#)结果是#6/10/2009#1
57、3. 两个指定的日期按日期形式求差额的函数 形式:DateDiff(要间隔日期形式,日期1,日期2) 例如:DateDiff(“d”,now,#2009/5/1#) 日期形式的意义: yyyy年 q季 m月 y一年的天数 d日 w一周的天数 ww星期 h时 n分 s秒第95页,共326页。四、Shell函数 Shell函数负责执行一个可执行文件,返回一个任务标识,如果成功,代表这个程序的进程ID,若不成功,则会返回0。 形式:Shell(命令字符串,窗口类型) 窗口类型值为1表示正常窗口,缺省为窗口最小化为图标。 例如: i = Shell(c:windowscalc.exe) j = She
58、ll(c:command, 1) 第96页,共326页。3.4 程序结构和编码规则 本章目录第97页,共326页。编 码 规 则1.编码规则 VB代码中不区分字母的大小写同一行可书写多条语句,但要用冒号“:”分隔换行时需在行后加入续行符,即1个空格加下划线一行最多允许255个字符注释以Rem或“”开头,出现在语句前面或后面程序转向时用标号,标号以字母开始加一冒号 第98页,共326页。2.约定关键字的首字母大写。若关键字由多个英文单词组成,则每个单词的首字母都大写,如 StudType等。注释有利于程序的维护和调试,因此要养成注释的习惯。 设置注释或取消注释的方法: 选中要加注释块的语句行或单
59、击编辑工具栏的“设置/取消注释块”按钮。第99页,共326页。3.5 综合应用例3.1 模仿字处理软件中字符串替换功能。设计思路:利用Shell函数调用winword.exe执行Word程序实现替换功能;利用查找(InStr)、取子串(Left、Mid)等函数实现替换功能;利用替换(Replace)函数实现替换功能。本章目录第100页,共326页。3.6 常 见 错 误1. 逻辑表达式书写错,在VB没有造成语法错而形成逻辑错 例如,数学表达式 3x10 VB表达式写为 3=x、=、=、Is、Like 同级 逻辑运算符:Not、And、Or 高到低5.表达式书写及值的类型6.常用函数 要掌握的数
60、学函数有:Rnd、Sgn、Abs等; 要掌握的字符串函数有:Instr、Left、Right、Mid、Len、LenB、String等; 要掌握的转换函数有:Int、Round、Fix、Lcase、Ucase、Asc、Chr、Val、Str 等; 要掌握的日期和时间函数有:Date、Time、Now等。7.VB程序的书写规则本章目录第102页,共326页。第四章 基本的控制结构 4.1 顺序结构 4.2 选择结构 4.3 循环结构 4.4 其他辅助控制语句 4.5 综合应用 4.6 程序调试 4.7 常见错误第103页,共326页。4.1 顺序结构 顺序结构就是各语句按出现的先后次序执行。一般
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版带物业增值服务物业房产买卖合同书3篇
- 二零二五版新能源研发及生产厂房买卖合同范本3篇
- 二零二五年度厨具行业人才培养与输送合同4篇
- 二零二五年度赎楼金融产品合作合同4篇
- 二零二五年度出轨婚姻解除后的子女抚养权及财产分割协议4篇
- 2025年度宗教活动场地租赁合同范本3篇
- 二零二五年度彩钢屋面防水隔热一体化工程承包协议3篇
- 2025年人力资源经理员工关系与劳动争议处理协议3篇
- 二零二五年度床垫售后服务质量保证合同3篇
- 2025年建筑工程劳务市场调研与行业分析合同3篇
- GB/T 45120-2024道路车辆48 V供电电压电气要求及试验
- 春节文化常识单选题100道及答案
- 12123交管学法减分考试题及答案
- 2025年寒假实践特色作业设计模板
- 24年追觅在线测评28题及答案
- 初中物理八年级下册《动能和势能》教学课件
- 高考满分作文常见结构
- 心肌梗死诊疗指南
- 食堂项目组织架构图
- 原油脱硫技术
- GB/T 2518-2019连续热镀锌和锌合金镀层钢板及钢带
评论
0/150
提交评论