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

下载本文档

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

文档简介

第四章 Visual Basic 语言基础 4.1 VB程序代码的组织方式 VB应用 程序 窗体界面 程序代码 说明部分 过程 模块1 某些说明部分 某些过程 某些说明部分 某些过程 模块n . . . 4.1.1 过程 为简化程序设计,将程序分割成较小的逻辑部件,称 这些部件为过程。根据执行的方式,可把“过程”分为“事 件过程”和“通用过程”。 1.事件过程 2.通用过程 一个应用程序中多个窗体可以共享的或一个窗体内不同 的事件过程可共享的程序代码,称为“通用过程”。 为窗体及窗体上的各种对象编写的,用来响应由用户 或系统引发的各种事件的程序代码,称为“事件过程”。 事件过程由VB中 的事件调用。 如: 如果希望在单击一个名为CmdStart的命令按钮后, 会调用事件过程,则要使用CmdStart_Click过程。 通用过程是由事件 过程或其它通用过程 调用而执行的。 VB为将不同类型过程代码组织到一起而提供的一种结构 。(VB的代码存储在模块中) 4.1.2 模块 1.窗体模块(文件扩展名为 .FRM ) 2.标准模块(文件扩展名为 .BAS) 3. 类模块 包含 用于处理发生在窗体中的各个对象的事件过程, 窗体及窗体中各个控件对象的属性设置及相关的说明。 类模块包含用于创建新的对象类的属性、方法的定义。 VB应用程序中的 每个窗体都有一个 相对应的窗体模块。 标准模块中的过程 都是通用过程。 包含可被多个窗体所共享的代码。 4.2 VB程序的书写规则 1.语句:是构成VB程序的最基本成分 将长语句分成多行:在行的末尾用续行符( -)将长语句分成多行 。 将多个语句合并到同一行上:在一个代码行上写入多个语句,在 语句中用冒号“:”分隔。 2.书写规范 3.程序注释 用来说明程序中某些语句的功能和作用,增加程序的可读性, 在VB中用“ ”和Rem来标识。 语句输入时,可不区分大小写。 VB程序中注释过的 语句会自动变为绿色。 4.3 VB 数据类型 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| Private Const As Type= 如:Const Pi=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声 明变量。 例如: Dim as 例子程序1 (2).在变量名后面加上类型说明的后缀(隐式说明). 符号 数据类型 举例 $ String strName$ % Integer ITerm%,var% & Long colorValue& ! Single distance! # Double ExactDistance#, Currency cSalaries Option Explicit语句 在模块中使用Option Explicit语句,系统将检查模块中所 有未加显式说明的变量。 4.4运算符和表达式 VB中的运算符和表达式可分为算术运算符与算术表达式、 关系运算符和关系表达式、逻辑运算符和逻辑表达式。 4.4.1算术运算符与算术表达式 1.算术运算符 +、-、*、/、mod、& 10 3 = 10 / 4 = 11 4= (-5)3= 10 mod 3= 10 mod 5= “Hello“ & ” World”= 3 10 2 2.5 -125 “Hello World“ 2.算术表达式 把常量、变量等运算元素用算术运算符连接起来的式子 称为“算术表达式”。可以使用圆括号来改变运算次序。 算术运算符的运算次序为: 、 -(负号) 、 *、/ 、 、 mod 、 +、- 、 & 4.4.2关系运算符与关系表达式 关系运算用于对两个数据进行比较,比较结果为逻辑 值“True”或“False”。 1.关系运算符 、 =、 b) ab+3 And bc ab Or bc False True True 4.6 VB 公共函数 公共函数(内部函数) 是由系统提供的,可在任何一个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个字符。 Dim AnyString, MyStr AnyString = “Hello World“ 定义字符串。 MyStr = Left(AnyString, 1) 返回 “H“。 MyStr = Left(AnyString, 7) 返回 “Hello W“。 MyStr = Left(AnyString, 20) 返回 “Hello World“。 Mid(x,n1,n2) 从x字符串左边第n1个位置起向右取n2个字符 。 Dim y, y1, y2, y3 y = “Mid Function Demo“ 建立一个字符串。 y1 = Mid(y, 1, 3) 返回 “Mid“。 y2 = Mid(y, 14, 4) 返回 “Demo“。 y3 = Mid(y, 5) 返回 “Funcion Demo“。 Ltrim(x) 去掉x左边的空格。 Rtrim(x) 去掉x右边的空格。 Trim(x) 去掉x两边的空格。 Dim y, TrimString y= “ Test Demo “ 设置字符串初值。 TrimString = LTrim(y) TrimString = “Test Demo “。 TrimString = RTrim(y) TrimString = “ Test Demo“。 TrimString = LTrim(RTrim(y) TrimString = “Test Demo“。 只使用 Trim 函数也同样将两头空格去除。 TrimString = Trim(y) TrimString = ”Test Demo“。 Chr(x) 返回以x为ASCII代码值的字符。 ASC(x) 给出字符x的ASCII代码值(十进制数)。 Dim MyChar MyChar = 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的小数部分舍去。 Dim y y = 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.1 InputBox函数 InputBox函数用来接受用户通过键盘输入的数据。它的使用形式是: V=InputBox(prompt, title , default , xpos , ypos , helpfile, context) Prompt 必需的。作为对话框消息出现的字符串表达式。 Title 可选的。显示对话框标题栏中的字符串表达式。 Default 可选的。显示文本框中的字符串表达式,在没有其它输入时作 为缺省值。如果省略 default,则文本框为空。 X、y 可选的。成对出现,指定对话框在屏幕上显示时的位置。 V 可以是变体变量或字符串型变量、数值型变量。 Helpfiel、Context 帮助文件名及帮助主题号。 InputBox 函数示例 InputBox 例 4.7.2 MsgBox函数 MsgBox函数用来向用户发布提示消息,并要求用户作出必要的响应 。它的使用形式是: MsgBox(prompt, buttons , title , helpfile, context) Prompt 必需的。字符串表达式,作为显示在对话框中的消息。 Buttons 可选的。由4个数值常量组成的式子,指定显示按钮的数目及形式, 使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果 省略,则 buttons 的缺省值为 0。 Title 可选的。在对话框标题栏中显示的字符串表达式。 MsgBox 例 5.1 分支结构与分支结构语句 1. If-Then-Else-End If 结构语句 此结构语句的一般形式是: If e Then A组语句 Else B组语句 End If AB e TrueFalse 此种算法结构,还有多种变形: P63. 例5-1 第五章 选择分支与循环 If e Then A组语句 End If A e TrueFalse 当A组语句仅有一个时,上图结构还可简化为: If e Then A语句 A1 e1 TrueFalse If e1 Then A1组语句 ElseIf e2 Then A2组语句 . . . End If A2A3 . e2 e3 True True False False 例.5-2 Select Case e Case c1 A组语句 Case c2 B组语句 . . . Case Else n组语句 End Select 5.1.2 Select-Case-End Select 结构语句 此结构语句提供了实现多分支结构的另一种方 法,它的一般形式是: e为测试表达式, 可以是算术表达 式或字符表达式 。 c1、c2是测试项:可取: 1、具体数值。 2、连续的数据范围 3、满足某个判决条件 执行方式: 先求测试表达式e的值,接着逐个检查每个 Case语句的测试项,如果测试表达式e的值满 足某个测试项,系统就执行该Case语句下的那 组语句;如果没有一个测试项满足要求,就执 行Case Else 下的语句。如果有一个以上的 测试项满足要求,则只有第一个匹配后面的 语句会被执行。 Select Case 例 5.2 循环结构与循环结构语句 1. Do-Loop循环结构语句 Do-Loop循环结构语句有四种形式: Do While e . Exit Do . Loop Do . Exit Do . Loop While e Do Until e . Exit Do . Loop Do . Exit Do . Loop Until e 在Do语句和Loop语句之间的语句即为循环体语句。在循环体 中,可以包括一条或多条Exit Do语句,如果程序执行到Exit Do语句时,就会直接退出循环,执行Loop语句的下一条语句 。 Sum=0 I=1 Do While I100 Sum=Sum+I I=I+1 Loop A e False True Do . Exit Do . Loop Until e Sum=0 I=1 Do Sum=Sum+I I=I+1 Loop Until I100 上述两直到型循环结构的区别:当第一次执行循环语句条件成立时, 第一种不执行循环体,而第二种要执行一次。 A e True False P.67 例5-3 5.2.2. For-Next循环结构语句 如果事先已知循环次数,则可使用For-Next循环结构语 句,它的一般形式是: For v=e1 To e2 Step e3 . Exit Do . Next v V=v+e3 V超过e2? True False 计算e1,e2,e3 V=e1 循环体 V为循环控制变量 ,e1、e2、e3是控 制循环的参数 e1为初值 e2为终值e3为步长 for next 例1 例5-4 例5-5 5.2.3. 循环嵌套 Do-Loop循环和For-Next循环都可以在大循环中套小 循环. .72 九九乘法表 (1)外循环必须完全包含内循环,不能交叉内 ; (2)循环变量与外循环变量不能同名。 For i=1 To 10 For i=1 To 20 Next i Next i For i=1 To 10 For j=1 To 20 Next i Next j 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。 xy T 交换x,y F yz 交换y,z xy 交换x,y T T F F If xy Then t=x:x=y:y=t If yz Then t=y:y=z:z=t If xy Then t=x:x=y:y=t End If End If 1.语法错误(Syntax Error):由于违反了语言有关语句形式或 使用规则

温馨提示

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

评论

0/150

提交评论