大学vb课件自学VisualBasic非计算机专业.ppt_第1页
大学vb课件自学VisualBasic非计算机专业.ppt_第2页
大学vb课件自学VisualBasic非计算机专业.ppt_第3页
大学vb课件自学VisualBasic非计算机专业.ppt_第4页
大学vb课件自学VisualBasic非计算机专业.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第四章VisualBasic语言基础,4.1VB程序代码的组织方式,VB应用程序,.,4.1.1过程,为简化程序设计,将程序分割成较小的逻辑部件,称这些部件为过程。根据执行的方式,可把“过程”分为“事件过程”和“通用过程”。,1.事件过程,2.通用过程,一个应用程序中多个窗体可以共享的或一个窗体内不同的事件过程可共享的程序代码,称为“通用过程”。,为窗体及窗体上的各种对象编写的,用来响应由用户或系统引发的各种事件的程序代码,称为“事件过程”。,事件过程由VB中的事件调用。,如:如果希望在单击一个名为CmdStart的命令按钮后,会调用事件过程,则要使用CmdStart_Click过程。,通用过程是由事件过程或其它通用过程调用而执行的。,VB为将不同类型过程代码组织到一起而提供的一种结构。(VB的代码存储在模块中),4.1.2模块,1.窗体模块(文件扩展名为.FRM),2.标准模块(文件扩展名为.BAS),3.类模块,包含用于处理发生在窗体中的各个对象的事件过程,窗体及窗体中各个控件对象的属性设置及相关的说明。,类模块包含用于创建新的对象类的属性、方法的定义。,VB应用程序中的每个窗体都有一个相对应的窗体模块。,标准模块中的过程都是通用过程。,包含可被多个窗体所共享的代码。,4.2VB程序的书写规则,1.语句:是构成VB程序的最基本成分,将长语句分成多行:在行的末尾用续行符(-)将长语句分成多行。将多个语句合并到同一行上:在一个代码行上写入多个语句,在语句中用冒号“:”分隔。,2.书写规范,3.程序注释,用来说明程序中某些语句的功能和作用,增加程序的可读性,在VB中用“”和Rem来标识。,语句输入时,可不区分大小写。,VB程序中注释过的语句会自动变为绿色。,4.3VB数据类型,3.3.1数据类型,VB提供了11种基本的数据类型。变体型数是VB的缺省数据类型,不论是常量或变量,如果不加说明,系统均按变体型数据处理。,4.3.2常量,1.数值常量一般的数值常量由正负号、数字和小数点组成。,2.字符常量把一串字符用引号括起来,就构成一个字符常量。,P43.表4-1,在程序中取值始终保持不变的数据,4.日期常量,日期型常量的一般表示形式:mm/dd/yyyy。,如2001年9月20日可表示为:#9/20/2001#,5.符号常量:以符号形式表示的常量。,自定义符号常量形式:Public|PrivateConstAsType=,如:ConstPi=3.1415926,3.逻辑型常量,逻辑型(布尔型)常量只有两个取值:True、False。,4.3.3变量,变量名的命名规则:a.必须以字母开头;b.长度小于等于255个字符;c.在作用域内必须唯一;d.作为变量名的字符串内不能包括点号和用于类型说明的字符%、&、!、#、$。.,1.变量名及类型说明,为了增加程序的可读性,可在变量前加一个缩写的前缀来表明该变量的数据类型。,P46.表4-2,以符号形式出现在程序中,且取值可以发生变化的数据,2.变量作用域及变量说明语句,变量的作用域:分为局部变量、窗体/模块级变量、全局变量。局部变量在过程内用dim(static)定义,只在本过程内有效。窗体/模块级变量在过程外用dim或private,在本窗体/模块内所有过程都有效。全局变量在标准模块的过程外用Public,在整个应用程序中有效。,变量说明语句(1).在变量前用关键字Dim、Static、Private、Public声明变量。例如:Dimas,例子程序1,(2).在变量名后面加上类型说明的后缀(隐式说明).,符号数据类型举例$StringstrName$%IntegerITerm%,var%&LongcolorValue&!Singledistance!#DoubleExactDistance#,CurrencycSalaries,OptionExplicit语句在模块中使用OptionExplicit语句,系统将检查模块中所有未加显式说明的变量。,4.4运算符和表达式,VB中的运算符和表达式可分为算术运算符与算术表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式。,4.4.1算术运算符与算术表达式,1.算术运算符+、-、*、/、mod、&,103=10/4=114=(-5)3=10mod3=10mod5=Hello&”World”=,3,1,0,2,2.5,-125,HelloWorld,2.算术表达式把常量、变量等运算元素用算术运算符连接起来的式子称为“算术表达式”。可以使用圆括号来改变运算次序。,算术运算符的运算次序为:、-(负号)、*、/、mod、+、-、&,4.4.2关系运算符与关系表达式,关系运算用于对两个数据进行比较,比较结果为逻辑值“True”或“False”。,1.关系运算符、=、=、Is,2.关系表达式用关系运算符把两个比较对象连接起来的式子。,3.关系表达式的运算,求下列表达式的值:14/233,False,True,4.4.3逻辑运算符与逻辑表达式,逻辑运算是对逻辑值进行的运算。,1.逻辑运算符Not、And、Or、Xor,Not运算,False,True,And运算,True,False,False,False,Or运算,True,True,True,False,Xor运算,False,True,True,False,逻辑运算符的优先次序为:NotAndOrXor,2.逻辑表达式用逻辑运算符把逻辑变量连接起来的句子。,4.4.4各种运算符间的优先顺序,算术运算符关系运算符逻辑运算符,dima,b,ca=8:b=10:c=6Not(a-1b)ab+3AndbcabOrbc,False,True,True,4.6VB公共函数,公共函数(内部函数)是由系统提供的,可在任何一个VB程序中随时使用的程序段。每个程序段用于进行某个特定的运算或处理。每个函数都有系统规定的函数名。,使用函数称为函数调用。函数调用形式如下:,(p1,p2,),P1,p2是调用函数时的自变量序列,自变量个数、排列次序和数据类型,应和函数规定的参数相同。,P52.表4-6、表4-7、表4-8、表4-9,4.6.1算术函数4.6.2字符函数4.6.3转换函数4.6.4日期与时间函数,Left(x,n)从x字符串左边起取n个字符。,DimAnyString,MyStrAnyString=HelloWorld定义字符串。MyStr=Left(AnyString,1)返回H。MyStr=Left(AnyString,7)返回HelloW。MyStr=Left(AnyString,20)返回HelloWorld。,Mid(x,n1,n2)从x字符串左边第n1个位置起向右取n2个字符。,Dimy,y1,y2,y3y=MidFunctionDemo建立一个字符串。y1=Mid(y,1,3)返回Mid。y2=Mid(y,14,4)返回Demo。y3=Mid(y,5)返回FuncionDemo。,Ltrim(x)去掉x左边的空格。Rtrim(x)去掉x右边的空格。Trim(x)去掉x两边的空格。,Dimy,TrimStringy=TestDemo设置字符串初值。TrimString=LTrim(y)TrimString=TestDemo。TrimString=RTrim(y)TrimString=TestDemo。TrimString=LTrim(RTrim(y)TrimString=TestDemo。只使用Trim函数也同样将两头空格去除。TrimString=Trim(y)TrimString=”TestDemo。,Chr(x)返回以x为ASCII代码值的字符。ASC(x)给出字符x的ASCII代码值(十进制数)。,DimMyCharMyChar=Chr(65)返回A。MyChar=Chr(97)返回a。MyChar=Chr(62)返回。MyNumber=Asc(A)返回65。MyNumber=Asc(a)返回97。,CInt(x):将数值型数据X的小数部分四舍五入取整。Int(x):取小于等于X的最大整数。Fix(x):将数值型数据X的小数部分舍去。,Dimyy=CInt(4.5)y=CInt(4.6)y=Int(4.5)y=Fix(4.5)y=CInt(-4.5)y=Int(-4.5)y=Fix(-4.5),4,5,4,4,-4,-5,-4,计算下列代数式所对应的VB表达式:(1)(2)(3),(12*X+5*Y-Sqr(Abs(d3-m3)/(Exp(-X)*Sin(X),X2*EXP(X)/COS(ABS(X+Y),Sqr(X+Y)/Log(X)-ABS(X)+EXP(X+Y),Date:返回系统日期。,4.6.5格式化函数Format$,(0)数字占位符。显示一位数字或是零。如果表达式在格式字符串中0的位置上有一位数字存在,那么就显示出来;否则,就以零显示。,Format函数设置文本的输出格式。语法Format(expression,format),MyStr=Format(5459.4,”00000.00“)返回”05459.40。MyStr=Format(5459.4,“#.#”)返回“5459.4”。MyStr=Format(5459.56,“#.#”)返回“5459.6”。MyStr=Format(5459.4,#,#0.00)返回5,459.40。MyStr=Format(334.9,#0.00)返回334.90。MyStr=Format(5,0.00%)返回500.00%。,(#)数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中“#”的位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示。,(.)小数点占位符。用来决定在小数点左右可显示多少位数。,(%)百分比符号占位符。表达式乘以100。而百分比字符(%)会插入到格式字符串中出现的位置上。,(,)千分位符号占位符。千位符号主要是把数值小数点左边超过四位数以上分出千位。,赋值语句,赋值语句的一般形式是:Var=,Var可以是变量名或属性名。,如:x=“NanJing”Label1.caption=“工作单位:”,使用赋值语句还可获取对象返回的当前属性值:Var=Object.Property,如:x=text1.text,4.7赋值语句及InputBox、MsgBox函数,不同数据类型数据的赋值:P51,4.7.1InputBox函数,InputBox函数用来接受用户通过键盘输入的数据。它的使用形式是:,V=InputBox(prompt,title,default,xpos,ypos,helpfile,context),Prompt必需的。作为对话框消息出现的字符串表达式。,Title可选的。显示对话框标题栏中的字符串表达式。,Default可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略default,则文本框为空。,X、y可选的。成对出现,指定对话框在屏幕上显示时的位置。,V可以是变体变量或字符串型变量、数值型变量。,Helpfiel、Context帮助文件名及帮助主题号。,InputBox函数示例,InputBox例,4.7.2MsgBox函数,MsgBox函数用来向用户发布提示消息,并要求用户作出必要的响应。它的使用形式是:,MsgBox(prompt,buttons,title,helpfile,context),Prompt必需的。字符串表达式,作为显示在对话框中的消息。,Buttons可选的。由4个数值常量组成的式子,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则buttons的缺省值为0。,Title可选的。在对话框标题栏中显示的字符串表达式。,MsgBox例,5.1分支结构与分支结构语句,1.If-Then-Else-EndIf结构语句,此结构语句的一般形式是:,IfeThenA组语句ElseB组语句EndIf,A,B,True,False,此种算法结构,还有多种变形:,P63.例5-1,第五章选择分支与循环,IfeThenA组语句EndIf,A,True,False,当A组语句仅有一个时,上图结构还可简化为:,IfeThenA语句,A1,True,False,Ife1ThenA1组语句ElseIfe2ThenA2组语句.EndIf,A2,A3,.,True,True,False,False,例.5-2,SelectCaseeCasec1A组语句Casec2B组语句.CaseElsen组语句EndSelect,5.1.2Select-Case-EndSelect结构语句,此结构语句提供了实现多分支结构的另一种方法,它的一般形式是:,e为测试表达式,可以是算术表达式或字符表达式。,c1、c2是测试项:可取:1、具体数值。2、连续的数据范围3、满足某个判决条件,执行方式:先求测试表达式e的值,接着逐个检查每个Case语句的测试项,如果测试表达式e的值满足某个测试项,系统就执行该Case语句下的那组语句;如果没有一个测试项满足要求,就执行CaseElse下的语句。如果有一个以上的测试项满足要求,则只有第一个匹配后面的语句会被执行。,SelectCase例,5.2循环结构与循环结构语句,1.Do-Loop循环结构语句,Do-Loop循环结构语句有四种形式:,DoWhilee.ExitDo.Loop,Do.ExitDo.LoopWhilee,DoUntile.ExitDo.Loop,Do.ExitDo.LoopUntile,在Do语句和Loop语句之间的语句即为循环体语句。在循环体中,可以包括一条或多条ExitDo语句,如果程序执行到ExitDo语句时,就会直接退出循环,执行Loop语句的下一条语句。,Sum=0I=1DoWhileI100,上述两直到型循环结构的区别:当第一次执行循环语句条件成立时,第一种不执行循环体,而第二种要执行一次。,A,True,False,P.67例5-3,5.2.2.For-Next循环结构语句,如果事先已知循环次数,则可使用For-Next循环结构语句,它的一般形式是:,Forv=e1Toe2Stepe3.ExitDo.Nextv,V=v+e3,True,False,计算e1,e2,e3,V=e1,循环体,V为循环控制变量,e1、e2、e3是控制循环的参数,e1为初值,e2为终值,e3为步长,fornext例1,例5-4,例5-5,5.2.3.循环嵌套,Do-Loop循环和For-Next循环都可以在大循环中套小循环.,.72九九乘法表,(1)外循环必须完全包含内循环,不能交叉内;(2)循环变量与外循环变量不能同名。,Rnd(x)产生一个在(0,1)区间均匀分布的随机数。为了生成某个范围内的随机整数,可使用以下公式:Int(upperbound-lowerbound+1)*Rnd+lowerbound)这里,upperbound是随机数范围的上限,而lowerbound则是随机数范围的下限。,如:随机生成一个两位的整数,可用下式:Int(99-10+1)*Rnd+10)即Int(90*Rnd+10),.72例5-6,.77例5-9,.78例5-10,.80例5-11,例:已知x,y,z三个数,比较它们的大小并排列,使得xyz。,1.语法错误(SyntaxError):由于违反了语言有关语句形式或使用规则而产生的错误。如拼写错误,关键字遗漏,标点不符等错误。VB5.0能自动发现,

温馨提示

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

评论

0/150

提交评论