版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vb全册配套完整课件32024/9/8第二章对象及其操作2.1对象2.2窗体2.3控件20142024/9/822.1对象与类对象和类是面向对象程序设计(ObjectOrientedProgramming)的重要概念。对象现实生活中的“对象”是客观存在的个体,随处可见的人、电脑,都是对象。面向对象的程序设计中,“对象”是系统中的基本运行实体,是具有某些特性的具体事物的抽象。在VB中,应用程序中的各个窗体和窗体上的各种控件都是VB的对象。1.对象与类2024/9/832.1对象与类对象和类是面向对象程序设计(ObjectOrientedProgramming)的重要概念。1、对象与类类类是创建对象的模板,是相同类型的对象的集合与抽象。汽车是类的概念,一辆具体的汽车则是汽车类“实例化”后的对象。2024/9/842.1对象与类2、对象的属性属性是用来描述和反映对象特征的参数,不同的对象都具有各自的属性。VB为每一类对象都规定了若干属性。设置对象属性的方法有两种:(1)在设计阶段,从属性窗口设置;(2)在运行阶段,由程序语句设置或改变属性的值。2024/9/852.1对象与类3、对象的方法“方法”指的是对象可以进行的动作或行为。
VB中每个窗体或控件对象都具有若干方法。方法使用的基本格式是:
[对象名.]方法名[参数1],[参数2],…2024/9/862.1对象与类4、对象的事件与事件驱动事件
由VB预先设置好的、能被对象识别的动作。如:单击Click、装载Load、改变Change、双击DblClick等。事件驱动Windows下应用程序的用户界面都是由窗体、菜单和控件等对象构成的,各个对象的动作及各对象之间的关联,完全取决于操作者所做的操作。即程序的运行并没有固定的顺序。Windows程序的这种工作模式,称为事件驱动方式。2024/9/872024/9/88对象待命用户/系统触发事件对象对事件的响应事件驱动的基本过程2.2窗体
窗体是VB最基本的对象。它是一个“容器”对象,设计者在窗体上放置其他控件,完成界面设计。1.窗体的属性Name:窗体名称。在程序代码中以窗体名称来识别不同的窗体对象。窗体名必须以一个字母开头,可包含数字和下划线,但不能包含空格和标点符号。BorderStyle:窗体边框样式。取值范围为0~5。
Caption:窗体标题。此属性确定窗体标题栏中所显示的文本。2024/9/89ControlBox:值为True或False,设置窗体左上角是否有控制钮。MaxButton:值为True或False,设置窗体右上角是否有极大化控制钮。MinButton:值为True或False,设置窗体右上角是否有极小化控制钮。Left、Top、Height和Width:决定窗体位置与大小。Left和Top是窗体左上角的坐标(屏幕左上角为坐标零点);Height和Width是窗体的高度和宽度。1.窗体的属性Icon:图标属性。该属性决定窗体左上角的小图标。2024/9/810ScaleWidth:窗体的内部宽度,使用ScaleMode设置的单位。ScaleHeight:窗体的内部高度,使用ScaleMode设置的单位。Font:设置窗体上正文的字体、字型和字号。BackColor与ForeColor:窗体的背景色与前景色。1.窗体的属性WindowState:设置窗体执行时以什么状态显示。0(缺省值)正常;1最小化(最小化为一个图标);2最大化(扩大到最大尺寸)2024/9/811AutoRedraw:值为True或False,设置窗体是否能自动刷新或重画窗体上的所有图形。KeyPreview:值为True或False,设置是否在控件的键盘事件(KeyDown、KeyUp和KeyPress)之前激活窗体的键盘事件。1.窗体的属性Enabled:活动属性。值为True或False,决定窗体是否响应用户发出的事件。Visible:可视属性。值为True或False,决定窗体是否可见。Picture:设置窗体显示的图片。2024/9/8122.窗体的事件Click:单击事件;DblClick:双击事件;Load:装载事件;Unload:卸载事件;Deactivate:失去激活事件,当窗体失去激活状态,即另一个窗体成为当前窗口时;Activate:激活事件,当窗体变为当前窗口时,引发本事件;Paint:绘画事件,窗口被移动、放大时,触发该事件。2024/9/8133.窗体的方法Hide:隐藏方法;Move:移动方法;Print:打印方法;Refresh:刷新方法;Show:显示方法;Cls:清除方法;PrintForm:打印窗体方法。2024/9/814【例2-1】设计一个窗体,窗体上有3个命令按钮:“打印”、“清除”、“退出”,如图所示。当程序运行后,鼠标点击“打印”命令按钮,在窗体上打印“我喜欢VB!”(24号字)。当点击“清除”按钮,窗体上的内容消失。单击“退出”按钮,程序运行结束。例题2024/9/815设计步骤1.设计用户界面。在窗体上放置3个命令按钮。并设置它们的属性,如下表所示。对象属性名属性值对象属性名属性值窗体名称Form1命令按钮2 名称 CmdClsCaption窗体示例Caption 清除命令按钮1 名称 CmdPrint命令按钮3 名称 CmdExitCaption 打印Caption 退出2024/9/8162.进入代码设计窗口,选择窗体的Load事件过程,编写代码,设置窗体上的打印字号为24号。(也可在界面设计时设计!)代码如下:PrivateSubForm_Load()Form1.FontSize=24EndSub2024/9/8173.双击“打印”按钮,进入代码编辑窗口,编写如下代码:4.双击“清除”按钮,进入代码编辑窗口,编写如下代码:PrivateSubCmdPrint_Click()Print"我喜欢VB!"EndSubPrivateSubCmdCls_Click()Form1.ClsEndSub2024/9/8185.双击“退出”按钮,进入代码编辑窗口,编写如下代码:6.保存程序。PrivateSubCmdexit_Click()EndEndSub2024/9/8192.3控件
控件是预先定义好的,能够直接使用的对象,与窗体共同构成用户界面。VB的控件分为3类,本课程主要研究标准控件标准控件(内部控件)ActiveX控件可插入的对象。2024/9/8202024/9/821标准控件可从控件工具箱中获取;ActiveX控件可通过“工程|部件|控件”获取;可插入对象可通过“工程|部件|可插入对象”获取。标准控件的学习在本书的第六章2024/9/822第三章简单程序设计3.2
VB环境下应用程序开发步骤3.1VisualBasic语句
3.3应用示例20142024/9/823创建程序的用户界面设置界面上各个对象的属性编写对象响应事件的程序代码保存工程测试、调试应用程序创建可执行程序制作安装程序3.2VB环境下应用程序开发步骤
2024/9/824新建一个工程,实现如下功能,鼠标单击Form1窗体,标签上显示“Youhaveclickedtheform1!”(运行结果见下图)开发步骤示例2024/9/825开发步骤——界面及属性设置(1)设计放置一个标签控件的窗体;(2)设置标签控件属性-字体、字号、颜色等2024/9/826设计步骤1.设计用户界面。包括:一个窗体,一个标签,属性设置如下表所示。对象属性属性值Form1Caption实验1_1NamefrmExe1_1Width5000Height4000Left300Top300BackColor蓝色ForeColor黄色LabelCaption欢迎!NamelblDisplayFont2号、宋体Alignment水平居中BackColor白色ForeColor红色2024/9/8271.语句:执行具体操作的命令,是VB程序的最基本成分。2.例如:
PrivateSubForm_Click()
Me.lblDisplay.Caption="Youhaveclickedtheform1!"
EndSub开发步骤——响应事件的程序代码2、选择Click事件1、选择Form窗体对象3、输入响应事件的程序代码2024/9/8283.1VisualBasic语句1.语句输入长语句分成多行输入:在行的末尾用续行符“_”将长语句分成多行。
DimSnoasstring,snameasstring_ sageasinteger,ssexasstring多个语句合并为同一行输入:在一个代码行上写入多个语句,在语句中用冒号“:”分隔。
x=100:y=200:z=332.书写规范语句输入时,可不区分大小写。续行符2024/9/829不推荐使用3.注释语句注释语句为非执行语句,用“‘
”或Rem来标识仅用来说明程序中某些语句的功能和作用,以增加程序的可读性。VB程序中注释过的语句会自动变为绿色。
PrivateSubForm_Click()
Me.lblDisplay.Caption="Youhaveclickedtheform1!“
Rem该语句给标签控件的Caption属性赋值
EndSub4.结束语句:
结束程序的执行。用户单击窗体时,程序退出执行状态。
PrivateSubForm_Click() End
EndSub3.2VisualBasic语句2024/9/8303.3应用实例【例3-1】设计程序实现摄氏温度和华氏温度的转换。在界面中输入摄氏温度以后,单击“转换”按钮则将该摄氏温度转换为华氏温度。将摄氏温度转成华氏温度的转换公式是,将摄氏温度直接乘以9,除以5,再加上32即可。运行界面如下图。例题2024/9/831设计步骤1.设计用户界面。包括:一个窗体,两个命令按钮,两个标签,两个文本框。属性如下表所示。对象属性属性值窗体名称(Name)Form1(缺省)Caption(标题)温度转换标签1名称(Name)Label1Caption(标题)摄氏温度:标签2名称(Name)Label2Caption(标题)华氏温度:文本框1名称(Name)TxtSHEText空文本框2名称(Name)TxtHUAText空命令按钮1名称(Name)Command1Caption(标题)转换命令按钮2名称(Name)Command2Caption(标题)退出2024/9/8322.进入代码设计窗口,选择Command1的Click事件过程,编写代码如下:PrivateSubCommand1_Click() DimsheAsSingle,huaAsSingleshe=Val(TxtSHE.Text)hua=(she*9/5)+32TxtHUA.Text=huaEndSub选择Command2的Click事件过程,编写代码如下:PrivateSubCommand2_Click()EndEndSub3.保存程序。2024/9/833第四章VisualBasic语言基础20144.1数据类型4.2常量和变量4.3函数4.4运算符与表达式4.1数据类型数据是程序处理的对象。数据类型确定了数据如何存储,即所占存储单元的大小和存储格式。对不同类型的数据有不同的存储形式、允许的运算方式,具有不同的取值范围。在程序设计中,要随时注意所用数据的类型。VB的数据类型VB的数据类型有系统定义和自定义两种,系统定义的数据类型称为标准类型,也称基本数据类型。自定义数据类型是由若干标准类型组合成的某种结构。1、基本数据类型数据类型具有3个要素:名称:如Single表示单精度数据类型;占内存的大小:如一个Single类型的数占4个B;类型声明符:如Single类型的类型声明符为!数据类型占内存大小数据有效范围类型声明符Integer(整型)2字节-32,768~32,767%Long(长整型)4字节-2,147,483,648~2,147,483,647&Single(单精度实型)4字节负数:-3.402823E38~-1.401298E-45正数:1.401298E-45~3.402823E38!Double(双精度实型)8字节负数:-1.79769313486232E308~-4.94065645841247E-324正数:4.94065645841247E-324~1.79769313486232E308#Currency(货币型)8字节-922,337,203,685,477.5808~922,337,203,685,477.5807@String(字符串型)字符串长度0~65,535个字符$Byte(字节型)1字节0~255无Boolean(布尔型)2字节True或False无Date(日期型)8字节100年1月1日~9999年12月31日无Object(对象型)4字节任何对象引用无Variant(通用型)可以表示任何数据类型,也称变体型VisualBasic基本数据类型表数值型(Numeric)VB中的数值型数据分为整数型和实数型两大类。整数型:整型数是不带小数点和指数符号的数。包括整型、长整型和字节型整数。实数型:实型数是既有整数部分又有小数部分的数。包括:单精度、双精度和货币型。注意比较这些数据类型的存储大小和取值范围,以避免错误使用。整数型有符号型:整型、长整型无符号型:字节型。整型(Integer,类型符%)整型数用两个字节存储,取值范围是-215~+215-1,即-32768~+32767。例如:15,-345,654%√
都是整数型。
45678%
会发生溢出错误。长整型(Long,类型符&)长整型用4个字节存储,取值范围是-231~231-1,即-2147483648~+2147483647。例如:123456,45678&字节型(Byte)用一个字节存储,取值范围是0到255无符号实数型浮点型:单精度型、双精度型定点型:货币型单精度浮点数(Single,类型符!)单精度数用4个字节存储,有7位有效数字,取值范围:
1.401298E-45<|x|<3.402823E+38。例如:3.14!,2.718282
双精度浮点数(Double,类型符#)双精度数用8个字节存储,有15位有效数字,取值范围是4.94065645841247E-324<|x|<1.79769313486232E308。指数符号:E单精度,D双精度例如:
3.1415926535,3.14159265D8,8.573264907D-15,3.14#,3.14D-2货币型(Currency,类型符@)货币型数据主要用来表示货币值,用8个字节存储,货币型是定点数,精确到小数点后面第4位,第五位四舍五入。整数部分最多15位。例如:3.56@、65.123456@都是货币型。
字符串型(String)字符串包括除双引号、回车以外可打印的所有字符,双引号作为字符串的定界符号。例如:"1234"
"张三"注意:字符串中空格是有效字符。逻辑型(Boolean)逻辑型数据只有两个:逻辑真True逻辑假False用2个字节存储日期型(Date)用#括起来,表示日期和时间数据,存储:用8个字节,范围:公元100年1月1日~9999年12月31日。日期可以用“/”、“,”、“-”分隔开,#2014-9-9#顺序可以是年、月、日,也可以是月、日、年时间必须用“:”分隔,顺序是:时、分、秒。例如:
#1999-08-1110:25:00pm##08/23/99##03-25-7520:30:00##98,7,18#
都是有效的日期型数据。在VB中会自动转换成mm/dd/yyyy(月/日/年)的形式。5.变体型(Variant)变体型也称为可变类型,它是一种特殊的数据类型。它的类型可以是前面叙述的数值型、日期型、字符型等,完全取决于程序的需要。从而增加了VB数据处理的灵活性。但是,使用变体型时降低效率可能由数制转换带来较大的误差占用更多的内存单元结论:合理地选择使用数据类型非常重要!4.2常量和变量常量:程序执行时保持不变的数据。变量:在程序执行时其值可以改变的数据。例如:求解圆周长的代码,L=2*3.14*R其中的2和3.14是不会改变的量,即常量,而半径R和周长L都是变量。4.2.1常量在程序执行的过程中保持不变的数据称为常量。VB中常量
常量直接常量
符号常量用户自定义常量系统定义常量1.数值常量一般的数值常量由正负号、数字和小数点组成。有4种表示方式:即整数型、长整型、货币型和浮点型。如:253456725&&HFF&o1233.143.14#1E-52.5D102.字符常量把一串字符用引号括起来,就构成一个字符常量。如:“visual”直接常量直接出现在代码中,也称为文字常量,直接常量的表示形式决定它的类型和值。1.直接常量4.日期常量日期型常量的一般表示形式:mm/dd/yyyy。如2013年9月20日可表示为:
#9/20/2013#3.逻辑型常量逻辑型(布尔型)常量只有两个取值:True、False。2.符号常量以符号形式表示的常量。自定义符号常量形式:[Public|Private]Const<常量名>[As数据类型]=<表达式>如:
ConstMAXasInteger=999ConstMYSTRING=“VisualBasic”4.2.2变量以符号形式出现在程序中,在程序执行过程中,其值可以改变的量称为变量。变量的命名规则首字符必须是字母;长度不超过255个字符;在作用域内必须惟一;作为变量名的字符串内不得包括点号和用于类型说明的字符%、&、!、#、@、$;不得使用系统保留字。2.变量说明语句
变量说明,就要要求VB创建这个变量,任何变量都必须在说明以后才能使用。
说明变量,必须指明该变量的三个要素:名称、类型和有效的作用范围。Dim<变量名>As<类型>[,<变量名>[As<类型>]…Private<变量名>As<类型>[,<变量名>[As<类型>]…Public<变量名>As<类型>[,<变量名>[As<类型>]…Static<变量名>As<类型>[,<变量名>[As<类型>]…例如下面语句声明了一个名为X的整型变量,和一个名为Y的单精度型变量DimXAsInteger,YAsSingle(1)用Dim和Static定义变量名称和类型(标准定义方法)(2)省略As子句
Dim变量名As数据类型Static变量名As数据类型Static和Dim的不同之处:在执行一个过程结束时,过程中所用到的Static变量的值会保留,下次再调用此过程时,变量的初值是上次调用结束时被保留的值;而Dim定义的变量在过程结束时不保留,每次调用时需要重新初始化(后续课程详解)。
Dim变量名变量将会定义为变体类型,变体型变量可以存放各种类型的数据,赋给变量什么类型的值它就存放什么类型的值。
(3)用类型声明符定义变量类型(隐式说明)例如,x%是一个整型变量,y$是一个字符串变量,m#是一个双精度浮点型变量。
符号数据类型
举例
$String strName$% Integer ITerm%,var%& Long colorValue&! Single distance!# Double ExactDistance#,@ Currency cSalaries@OptionExplicit语句在模块中使用OptionExplicit语句,系统将检查模块中所有未加显式说明的变量。3.变量作用域变量的作用域:分为——局部变量、窗体/模块级变量、全局变量。局部变量在过程内用dim(static)定义,只在本过程内有效。窗体/模块级变量在过程外用dim或private定义,在本窗体/模块内所有过程都有效。全局变量在窗体模块中用Public,标准模块中用Public或Global定义,在整个应用程序中有效。注意:Global不能在窗体模块和类模块中声明,Public可以在各种模块中声明说明:标准模块(文件扩展名为.BAS)是应用程序内其它模块访问的过程和声明的容器注意1变量已经定义,即有值,VB的变量都有初始值:变量类型初始值所有数值类型0变长字符串空串定长字符串固定长度的空格逻辑性False变体型Empty注意2可以用一条变量定义语句定义多个变量,但每个变量都要用AsType短语说明其类型,哪个没有说明,哪个即为变体型。例如:DimX,Y
,ZAsInteger上面语句定义了3个变量,其中Z为integer,而X和Y都是Variant类型注意3:变量可以隐式说明,即不用Dim语句进行说明,而是在所用到的变量名后面加上一个类型符。例如:PrivateSubForm_Click()
k&=1
Country$="China"Printk,CountryEndSub使用未加类型符的变量时,系统默认为变体型(Variant)。建议初学者养成对变量显示说明的习惯,以避免一些不必要的错误。注意4:使用OptionExplicit语句模块中使用该语句之后,系统将禁止未加显式说明的变量,一旦发现有这样的变量存在,就会产生一个错误,提示程序员改正。该语句必须写在模块的最顶部。4.3函数在VisualBasic中,有两类函数:内部函数和用户自定义函数。本章节讨论内部函数(也称标准函数或系统函数)。使用函数称为函数调用。函数调用形式如下:
<函数名>(p1,p2,…)内部函数包括:数学函数;
转换函数;字符函数;日期与时间函数一.数学函数函数说明示例返回值Sin(x)返回自变量x的正弦值Sin(0)0Cos(x)返回自变量x的余弦值Cos(0)1Tan(x)返回自变量x的正切值Tan(0)0Atn(x)返回自变量x的反正切值Atn(0)0Abs(x)返回自变量x的绝对值Abs(-4)4Exp(x)返回以e为底,以x为指数的值,即e的x次方exExp(1)2.7183Sqr(x)返回x的平方根Sqr(9)3Sgn(x)返回数的符号值:当x为负数时,函数返回-1;当x为0时,函数返回0;当x为正数时,函数返回1Sgn(4)1Log(x)返回以e为底的自然对数Log(2.7183)1Round(x,[n])对x进行四舍五入,保留的小数位数由n指定Round(5.346,2)5.35二.转换函数函数说明示例返回值Int(x)求不大于自变量x的最大数Int(-4.2)-5Fix(x)去掉1个浮点数的小数部分,保留其整数部分Fix(-4.7)-4Cint(x)把x的小数部分四舍五入,转换为整数Cint(-4.7)-5Asc(x$)返回字符串x$中第一个字符的ASCII码Asc(“abc”)97Chr(x)把x的值转换为相应的ASCII码Chr(110)或Chr$(110)“n”Str(x)把x的值转换为一个字符串Str(23.4)或Str$(23.4)“23.4”Val(x)将数字字符串x转换为数值Val(“45AB”)45Lcase(x)将x转换为小写字母Lcase(“VisualBasic”)“visualbasic”Ucase(x)将x转换为大写字母Ucase(“VisualBasic”)“VISUALBASIC”注意分数部分恰好为0.5时,CInt函数通常将其四舍五入为最接近的偶数Val:在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号&O(八进制)和&H(十六进制)。空白、制表符和换行符都从参数中被去掉。PrintCint
(-4.5)PrintCint
(2.5)PrintCint
(3.5)Printval(”4.5ABCD”)Printval(”4.5ABCD”)Printval(”
4.5ABCD”)Printval(”4..5ABCD”)Printval(”&HFF”)Printval(“HFF”)例子三.字符串函数函数说明示例返回值Ltrim$(字符串)去掉字符串左边的空白字符Ltrim$(“□□OK”)“OK”Rtrim$(字符串)去掉字符串右边的空白字符Rtrim$(“OK□□”)“OK”Left$(字符串,n)取字符串左部的n个字符Left$(“ABCD”,2)“AB”Right$(字符串,n)取字符串右部的n个字符Right$(“ABCD”,2)“CD”Mid$(字符串,p,n)从位置p开始取字符串的n个字符MID$(“ABCD”,2,2)“BC”Len(字符串)测试字符串的长度Len(“VisualBasic”)12String$(n,字符串)返回由n个字符组成的字符串String$(4,“*”)“****”Space$(n)返回n个空格Space$(3)“□□□”Instr([start],字符串1,字符串2)返回字符串2在字符串1中的首次出现的位置Instr(“Computer”,“pu”)4四.日期与时间函数函数说明例返回值Date返回系统当前日期Date2012-7-25Time返回系统当前时间
time9:35:56AMNow返回系统当前日期和时间Now2012-7-259:31:26AMYear(x)返回指定日期(x)的年份Year("2012-07-25")2012Month(x)返回指定日期(x)的月份Month("2012-07-25")7Day(x)返回指定日期(x)的某一日Day("2012-07-25")25Weekday(x[,n])返回日期(x)是一周中的第几天Weekday("2012-07-25")3五.随机函数Rnd(x)
产生一个在[0,1)区间均匀分布的随机数。如:随机生成一个两位的整数,可用下式:
Int((99-10+1)*Rnd+10)即
Int(90*Rnd+10)说明:当一个应用程序不断地重复使用随机函数时,同一序列的随机数会反复出现。可用Randomize语句消除这种情况。用法:Randomize[(x)]其中:x是一个整型数,它是随机数发生器的“种子数”,可以省略。使用该函数能生成某个范围内的随机整数,公式如下:Int((upperbound-lowerbound+1)*Rnd+lowerbound)这里,upperbound是随机数范围的上限,而lowerbound则是随机数范围的下限。4.4运算符与表达式VB中的运算符和表达式可分为算术运算符和算术表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式。一.算术运算符与算术表达式运算符含义举例说明+加25+30结果为55+字符连接“VB”+“程序”结果为“VB程序”-减40-10结果为30-取负-22结果为-22单目运算,22取负*乘4*2结果为8/除7/2结果为3.5\整除7\3结果为2结果取商的整数部分Mod取余7Mod3结果为1两数相除之后的余数^求幂3^3结果为27&字符连接“VB”&“程序”结果为“VB程序”两个字符串连接算术运算符的优先级:()>正负号>函数>乘方^>*/>\>MOD>+-关系运算也称比较运算,关系表达式的值是一个逻辑值,逻辑值只有“真”(True)和“假”(False)两个。二.关系运算符与关系表达式运算符含义举例说明=等于13=13结果是True>大于50>55结果是False>=大于等于6>=6结果是True<小于“cat”<“bat”
结果是False“c”大于“b”所以结果为假<=小于等于16-2<=14结果是True<>不等于40<>30结果是TrueLike字符串匹配“basic”Like“b*”
结果是True*为通配符Is对象比较Form1IsForm2结果是FalseForm1和Form2均为对象三.逻辑运算符与逻辑表达式
逻辑运算真值表逻辑运算是对逻辑值进行的运算。abaAndbaOrbNotaaXorbaEqvbaImpbTrueTrueTrueTrueFalseFalseTrueTrueTrueFalseFalseTrueFalseTrueFalseFalseFalseTrueFalseTrueTrueTrueFalseTrueFalseFalseFalseFalseTrueFalseTrueTrue逻辑运算符的优先顺序为:Not→And→Or→Xor→Eqv→Imp。运算符含义举例说明Not逻辑非Not(“a”<“c”)结果为假Not真结果为假
And逻辑与3>8And3<9结果为假假And真结果为假Or逻辑或5<9Or9>1结果为真真Or真结果为真Xor逻辑异或5<7Xor8<1结果为真真Xor假结果为真Eqv逻辑等于“a”<“c”Eqv“c”>“e”
结果为假真Eqv假结果为假Imp逻辑蕴含11>3Imp11>15结果为假真Imp假前真后假为假算术运算符>关系运算符>逻辑运算符
dima,b,ca=8:b=10:c=6Not(a-1>b)a>b+3Andb>ca>bOrb>c四.各运算符的优先次序FalseTrueTrue注意1:表达式的组成和结果表达式由常量、变量、函数、运算符以及圆括号(),按照一定的规则组成,不管表达式的形式如何,都会计算出一个结果,该结果的类型由参与运算的数据和运算符决定。注意2:表达式的书写规则1表达式中的字符没有高低、大小的区别;例如:
a+b
等效于A+B
a2
或f0
均为错误的表达式只能使用圆括号,可以多重使用,圆括号必须成对出现;例如:
1/((a+b)*c) √ 1/[(a+b)*c]
注意3:表达式的书写规则2VB表达式中的乘号“*”不能省略;例如:
ab
该表达式不会被理解为a与b相乘,而被理解为一个名为ab的变量。能用内部函数的地方尽量使用内部函数:例如:a^(1/2)
最好写为SQR(a)例如:
数学式写成VB表达式为:
(-b+sqr(b^2-4*a*c))/(2*a)注意4:关系表达式和逻辑表达式当使用关系运算符或逻辑运算符时,表达式又称为关系表达式或逻辑表达式。关系运算一般表示一个简单的条件。
例如:age>20、score>80、x+y>z等。逻辑表达式表示较复杂的条件。
例如:数学中的0<x<5,写成VB表达式应为0<xAndx<5注意5:结果类型算术表达式中相同类型的数据,计算结果也将是同一类型。例如:
DimxasInteger,yasInteger x=324:y=324 Printx*y ‘结果发生溢出不同类型的数据,计算时结果转化成精度高的类型。例如:
DimxasInteger,yasLong x=324:y=324 Printx*y ‘结果为长整型算术表达式中不论除数与被除数类型如何,除法运算的结果一般为双精度型。例如:
DimxasInteger,yasLong x=324:y=324 Printx/y
关系表达式和逻辑表达式的结果是逻辑值:True、False。例如:
DimxasInteger,yasInteger x=324:y=324 Printx=y ‘结果显示TrueTheEnd!第五章数据的输入与输出5.1赋值语句5.2Inputbox函数5.3msgbox函数5.4Print方法20145.1赋值语句1.赋值语句赋值语句是程序设计中最基本的语句,赋值语句的一般形式是:
Var=<表达式>如:
x=“NanJing”Label1.caption=“工作单位:”使用赋值语句还可获取对象返回的当前属性值:
Var=Object.Property如:
x=text1.textVar可以是变量名或对象的属性名。2.不同数据类型间数据的赋值(重点)(1)当表达式为数值型而与变量精度不同时,强制转换成左边变量的精度;(2)当表达式是数字字符串,左边变量是数值类型,自动转换成数值类型再赋值,但当表达式中有非数字字符或空串,则出错。(3)任何非字符类型赋值给字符类型,自动转换为字符类型;(4)当逻辑型赋值给数值型时,True转换为-1,False转换为0;当数值型赋值给逻辑型时,非0转换为True,0转换为False;注意1:赋值语句不同于数学里的等式,赋值语句代表了一个操作,即用赋值号右边的表达式的值去改写赋值号左边变量的值,改写成功后,变量原有的值即被覆盖例如:x=x+1赋值语句的执行包含以下三个步骤,若其中一个步骤执行失败,则整个赋值语句执行失败:Step1:计算表达式的值Step2:将表达式的类型转换为变量的类型Step3:修改变量的值例如:x&=200*200‘无法完成表达式的计算
x%=“”‘空串不能转换为Integer注意2:赋值号与关系运算符中的“=”形式相同,但意义完全不同,区分的要领为:赋值号连接的是一个完整的语句关系运算符连接的是一个表达式例如:a=b
a=b=c例题:以下程序段的输出结果是
。DimaAsInteger,bAsInteger,cAsSingle
c=3.5
b=c
a=b=c
Printa05.2InputBox函数InputBox函数用来接受用户通过键盘输入的数据。它的使用形式是:V=InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])2、Prompt必需的。作为对话框消息出现的字符串表达式。其最大长度约为1024个字符3、Title
可选的。显示对话框标题栏中的字符串表达式。5、X、y
可选的。成对出现,指定对话框在屏幕上显示时的位置。1、V可以是变体变量或字符串型变量、数值型变量。
6、Helpfile、Context
帮助文件名及帮助主题号。4、Default可选的。显示文本框中的字符串表达式,在没有其它输入时为缺省值。如果省略default,则文本框为空。
在InputBox函数所显示的对话框中,各参数的作用如图所示。TitlePrompt数值输入区编写一程序,用InputBox函数输入两个整数,输出其和。例题PrivateSubForm_Click()Dima,b,cAsIntegera=InputBox("请给变量a输入一个值:")b=InputBox("请给变量b输入一个值:")c=Val(a)+Val(b)PrintcEndSub注意InputBox函数的返回值是字符串型。例如 DimvAsInteger V=InputBox(“请输入一个正整数”)如果用户在对话框中什么也没输入,或者按“取消”键返回,实际上将返回空串,程序将出现“类型不匹配”的错误。MsgBox函数用来向用户发布提示消息,并要求用户作出必要的响应。它的使用形式是:MsgBox(prompt[,buttons][,title][,helpfile,context])1、Prompt必需的。字符串表达式,作为显示在对话框中的消息。2、Buttons
可选的。C1+C2+C3+C4,由4个数值常量相加组成的式子。如果省略,则buttons的缺省值为0。
C1:指定显示按钮的数目及形式,
C2:使用的图标样式,C3:缺省按钮是什么C4:对话框模式3、Title可选的。在对话框标题栏中显示的字符串表达式。如果缺省,则显示当前工程的名称属性。5.3MsgBox函数常数值描述vbOKOnly0只显示确定按钮。vbOKCancel1显示确定和取消按钮。vbAbortRetryIgnore2显示放弃、重试和忽略按钮。vbYesNoCancel3显示是、否和取消按钮。vbYesNo4显示是和否按钮。vbRetryCancel5显示重试和取消按钮。vbCritical16显示临界信息图标。vbQuestion32显示警告查询图标。vbExclamation48显示警告消息图标。vbInformation64显示信息消息图标。vbDefaultButton10第一个按钮为默认按钮。vbDefaultButton2256第二个按钮为默认按钮。vbDefaultButton3512第三个按钮为默认按钮。vbDefaultButton4768第四个按钮为默认按钮。vbApplicationModal0应用程序模式:用户必须响应消息框才能继续在当前应用程序中工作。vbSystemModal4096系统模式:在用户响应消息框前,所有应用程序都被挂起。Buttons参数的取值C1:第一组值(0-5)用于描述对话框中显示的按钮类型与数目;C2:第二组值(16,32,48,64)用于描述图标的样式;C3:第三组值(0,256,512,768)用于确定默认按钮;C4:第四组值(0,4096)则决定消息框的样式。该返回值是一个整数,这个整数反应了用户点击MsgBox上的哪一个按钮。其具体返回值见下表。常数值按钮vbOK1确定vbCancel2取消vbAbort3放弃vbRetry4重试vbIgnore5忽略vbYes6是vbNo7否MsgBox函数的返回值5.4Print方法Print方法用于将文本输出到窗体上、图片框或打印机上。如果Print方法不带有控件对象名时,它将把输出内容输出到窗体上。
Print方法的使用形式是:[Object.]Printp1<s>p2<s>...s是输出项之间的分隔符,可以是逗号或分号p1,p2,...是输出项当采用逗号作分隔符时,两个输出项分别输出到两个标准分区;而采用分号作分隔符时,两个输出项将紧接着输出。可以使用Tab函数和Spc函数配合定位输出。Tab可实现绝对定位,Spc可插入空格。例PrivateSubForm_Click()Print"12345678901234567890"Print"a";"b";"c";"d"Print"a","b";Print"c","d"PrintTab(3);"a";Tab(7);"b"
PrintTab(3);"a",Tab(18);"b"PrintTab(3);"a",Tab(7);"b"Print"a";Spc(3);"b"Print"a";Spc(3),"b"EndSub它的作用是清除绘图语句和Print语句产生的文字和图形。语法格式:object.Clsobject指清除的对象,可以是窗体或图片框。缺省则为窗体。注意:Cls方法只能清除用Print语句打印到对象上面的文字,不能清除窗体中的标签控件Cls
方法注意:若Print语句末尾有分隔符,则光标不换行,下一条Print语句从本行结束的地方开始若Print语句的末尾没有分隔符,则光标另起一行,下一次Print语句从新的行开始不含数据项的Print语句会打印一个空行例如(1)Print“123”;
Print“456”
(2)Print“123”
Print“456”(3)Print“123”
Print“456”123456123456123456格式化函数Format(1)Format函数用于制定字符串或数字的输出格式语法格式:Format(数值表达式,格式字符串)(0)数字占位符。显示一位数字或是零。如果表达式在格式字符串中0的位置上有一位数字存在,那么就显示出来;否则,就以零显示。小数部分四舍五入MyStr=Format(5459.4,“00000.00”)MyStr=Format(459.4,“00000.00”)MyStr=Format(459.467,“00000.00”)
(#)数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中“#”的位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示四舍五入格式化函数Format(2)MyStr=Format(5459.4,“#####.##”)‘返回“5459.4”MyStr=Format(5459.56,“#####.#”)‘返回“5459.6”
格式化函数Format(3)(.)小数点占位符。显示小数位数。(,)千分位符号占位符。千位符号主要是把数值小数点左边超过四位数以上分出千位,小数部分不分位。逗号放整数部分中间MyStr=Format(5459.4,"##,##0.00")'返回"5,459.40"MyStr=Format(334.9,"###0.00")'返回"334.90”(%)百分比符号占位符。表达式乘以100。而百分比字符(%)会插入到格式字符串中出现的位置上。(+)显示正号。通常放在格式字符串的开头。(-)显示负号。通常放在格式字符串的开头。($)号,显示美元符号(E+,E-)指数形式格式化函数Format(4)MyStr=Format(5,“0.00%”)‘返回"500.00%“MyStr=Format(4595.678,“+###0.00”)‘返回“+4595.68"Theend!Format….Nottheend!第六章常用标准控件6.1文本控件6.2图形控件6.3按钮控件6.4选择控件6.5滚动条6.6框架6.7计时器6.1文本控件与文本有关的标准控件有两个,即标签与文本框。6.1.1标签标签可显示提示性文本,但不能进行文本的编辑。1.标签的主要属性Name:标签名称;Caption:标签标题BorderStyle(边框)属性:该属性用来设置标签的边框类型,有两种值可选:0,代表标签无边框;1,代表标签有边框,并且具有三维效果。Font:设置标签上文字的字体、字型和字号,可在设计界面或程序代码中设置该属性在设计界面时设置:单击Font属性后的按钮,弹出字体设置对话框,如下图所示。在程序中设置Font属性:设置字体:标签对象名.FontName="字体类型"设置字体大小:标签对象名.FontSize=X设置字体效果:标签对象名.效果名=True/False粗体——Font.Bold斜体——Font.Italic下划线——Font.Underline删除线——Font.Strikethrough如:LblShow.FontBold=True
LblShow.FontItalic=False
Alignment(对齐)属性:此属性用来设置标签上显示的文本的对齐方式,对应的设置为:左对齐,0;右对齐,1;居中显示,2。Visible(可见)属性:用于设定控件在运行时是否可见。当取值为True时,控件可见;当取值为False时,控件在运行时不可见。Enabled(可用)属性:用于设定控件在运行时是否可以使用。当取值为True时,控件可以使用;当取值为False时,控件在运行时不可使用。2.标签的主要事件Click
事件(鼠标单击)DbClick
事件(鼠标双击)6.1.2文本框文本框是一个文本编辑区域,在设计阶段或运行期间可以在这个区域中输入、编辑和显示文本。1.文本框的主要属性Text(文本)属性该属性是文本框最重要的属性,用于显示文本框中的文本内容,可以在界面初始设置时指定,也可以在程序中动态修改,程序代码:文本框对象名.Text=“需要显示的文本内容”SelText(选中文本)属性通常该属性与文件复制、剪切等剪贴板(在VB中,剪贴板用Clipboard
表示)操作有关,如要将文本框选中的文本拷贝到剪贴板上,如:该属性用于设置或返回当前被选中的字符串,如果没有选中的字符,那么该属性的返回值为空字符串即“”。将文本框中选中的内容放入剪贴板:Clipboard.SetText
文本框对象名称.SelText
将剪贴板上的文本粘贴到文本框内:文本框名称.SelText=Clipboard.GetTextSelText(选中文本)属性注意:没有=号SelStart与SelLength属性SelStart返回选中文本的第一个字符的位置。从0开始SelLength返回选中文本的字符个数。例如:文本框TxtContent中有内容如下:请跟我一起学习VB教程。假设选中“一起学习”四个字,那么,SelStart的值为3,SelLength的值为4。MultiLine(多行)属性该属性决定了文本框是否可以显示或输入多行文本,取值为True、False。只读属性,为true时,PasswordChar无效例如,希望在密码框中显示星号,则可在“属性”窗口中将PasswordChar属性指定为“*”。这时,无论用户输入什么字符,文本框中都显示星号。PasswordChar(密码)属性:该属性用来作为口令功能输入。MaxLength(最大长度)属性用于设置文本框中可以输入字符个数的最大限度,默认值为0。文本框控件MaxLength属性既可以在界面设置过程中设置,也可以在程序代码中设置,如:文本框控件名.Maxlength=X(X为阿拉伯数字,如10、57,等)ScrollBars(滚动条)属性本属性可以设置文本框是否有滚动条。当值为0,文本框无滚动条;值为1,只有横向滚动条;值为2,只有纵向滚动条;值为3,文本框的横竖滚动条都具有。设置该属性时,MultiLine
属性取值必须为True。该属性用来指定文本框是否可被编辑。取值False时,文本框中的内容可以编辑;取值True时,文本框中的内容不能编辑,只能查看或进行滚动操作。Locked(锁定)属性2.文本框的主要方法和事件Change事件GotFocus(获得焦点)、LostFocus(失去焦点)事件文本框获得焦点时触发GotFocus事件,失去焦点时触发LostFocus事件。当文本框的Text属性发生变化时,触发Change事件。SetFocus方法设置焦点,通过本方法可使光标指向指定的文本框。格式为:文本对象.SetFocus6.2图形控件6.2.1图片框(PictureBox)1.图片框的主要属性Picture属性:本属性用来返回或设置控件中要显示的图片,可以通过属性窗口设置或在程序运行中设置,例如:图片对象.Picture=LoadPicture(“C:\Picts\pen.bmp")AutoSize(大小自适应)属性:该属性决定图片框控件是否自动调节大小以显示图片的全部内容。取值为True/False。2.图片框的主要方法和事件Print方法:该方法用于在图片框中输出文本。Cls(清屏)方法:该方法用于清除图片框中输出的文本。不能清除由Picture属性设置的图片。Click事件、DblClick事件:6.2.2图像框(Image)1.图像框的主要属性Picture属性:与图片框的Picture类似Stretch属性:该属性决定了图像是否可以自动调节大小以适应图像框的大小,取值为True、False。2.图片框与图像框的主要区别图片框是“容器”控件,可以容纳其它控件,图像框不可以图片框可以通过Print方法显示文本,而图像框不能图像框比图片框占用内存少,显示速度更快一些。6.3按钮控件1.按钮的主要属性Caption属性:它的取值就是显示在按钮上的文字;用户可以给按钮控件的Caption指定快捷方式。具体做法是:在按钮Caption属性中将要作为快捷键的字母前加上一个“&”符号。使用:ALT+字母取消属性。当本属性值设为“True”(真)时,按“Esc”键即等同于单击本按钮。在一个窗体中,只允许一个命令按钮的Cancel属性设置为True。Cancel(取消)属性Default(默认)属性当本属性值设为“True”(真)时,按回车键即等同于单击本按钮。在一个窗体中,只允许一个命令按钮的Default属性设置为True。Enabled(可用)属性:本属性决定了控件是否可用的问题。可取值True、False。Style(类型)与Picture(图片)属性按钮控件有两种Style取值:0表示标准型(Standard),1表示图形型(Graphical)。在Style取值为1的情况下,可以设置按钮的Picture属性。vbButtonStandard/vbButtonGraphical2.按钮的主要事件按钮最主要的事件为Click事件6.4选择控件6.4.1单选按钮和复选框选项按钮:用于从一组互斥的选项中,选取其一。复选框:用于从一组可选项中,同时选中多个选项。选中时,Value值为1;未被选中,Value值为0;禁止对该按钮进行选择,Value值为2,此时控件颜色变灰。选中时,Value值为True;未被选中,Value值为False;文本框(Text1)显示预设的字样;单击单选按钮1(Option1),可以将文本框里显示的字样改变成黑体字体;单击单选按钮2(Option2),可将文本框里显示的字样改变成楷体字体。界面如下:例题1、单选按钮一:PrivateSubOption1_Click()Text1.FontName="黑体"EndSub2、单选按钮二:PrivateSubOption2_Click()Text1.FontName="楷体_GB2312"EndSub6.5滚动条1.滚动条的主要属性Max(最大值)与Min(最小值)属性滚动块处于最右边(横向滚动条)或最下边(竖向滚动条)时返回的值就是最大值;滚动块处于最左边或最上边,返回的值最小。Max与Min属性是创建滚动条控件必须指定的属性,默认状态下,Max值为32767,Min值为0。该属性可以在界面设计中设置,也可以在程序运行中改变。Value(数值)属性Value属性返回或设置滚动滑块在当前滚动条中的位置(取值介于Max和Min之间)。SmallChange(小改变)属性LargeChange(大改变)属性当用户单击滚动条左右边上的箭头时,滚动条控件Value值的改变量就是SmallChange。单击滚动条中空白处时,引发Value值按LargeChange设定的数值进行改变。2.滚动条的主要事件Scroll当在滚动条内拖动滑块时会触发Scroll事件。Change当在滚动条内内滑块位置改变会触发Change事件。区别:Scroll事件用来跟踪滚动条中的动态变化,Change事件则用来得到滚动条最后的值。6.6框架框架控件是一个容器,用于将屏幕上的对象进行分组。不同的对象可以放在一个框架中。例题创建如下图所示界面方案:必须先画框架,再设计框架里面的控件。6.7计时器(Timer)1.计时器的主要属性Enabled属性活动属性。可取值True或False。用于设置控件是否可用。Interval
属性时间间隔属性。决定了时钟事件之间的间隔,以毫秒为单位,取值范围为0~65535。2.计时器的主要事件Timer事件一个Timer控件经过预定的Interval时间间隔,将激发一次计时器的Timer事件。从而程序就有了自动执行的效果。1.计时器的主要属性2.计时器的主要事件例题设计一个应用程序,使得标签能够自动显示当前时间。PrivateSubTimer1_Timer()Label2.Caption=TimeEndSub第七章程序控制语句2014循环结构分支语句回顾If…Then…ElseSelect…Case…EndSelect条件函数IIFChoose7.3循环结构在实际工作中,常遇到一些操作过程需要重复进行相同处理的问题,比如,像计算1+2+3+……+100,n!等。这些问题的解决逻辑上并不复杂,但如果单纯用顺序结构来处理,那将得到一个非常乏味且冗长的程序。【例】计算1~100所有整数之和,如果用顺序结构来解决这个问题,我们就会给出下面的程序:PrivateSubForm_Click()
DimsumasLong,xasinteger
sum=0x=1
sum=sum+xx=x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度钢筋原材料采购合同5篇
- 人教版九年级化学第八单元复习课件
- 2024年度政府采购服装类协议3篇
- 公司员工半年工作总结
- 2024年度定龙水库水上乐园设备采购合同2篇
- 护理文件首页书写规范
- 小讲课糖尿病护理
- 灾难现场医疗救援
- 菏泽学院《国产影视鉴赏》2022-2023学年第一学期期末试卷
- 《夜视技术及其应用》课件
- 第18课《狼》课件(共31张)语文七年级上册
- 村口修建公墓申请书
- 2023南方国家电网招聘笔试参考题库(共500题)答案详解版
- 2023-2024学年广东省深圳市育才二中九年级(上)期中物理试卷
- 2023秋季学期国开电大本科《管理英语3》在线形考(单元自测1至8)试题及答案
- 中建盘扣式落地卸料平台施工方案
- 浅议中国特色社会主义经济建设
- 贫血的中医治疗:中药在贫血治疗中的应用
- 狮子王-中英文-剧本台词(全)
- 印刷品价目表
- 世界旅游业智慧树知到课后章节答案2023年下临沂大学
评论
0/150
提交评论