1.62k likes | 1.77k Views
项目二 Visual Basic 程序设计基础. 【 教学目的 】1 、掌握常用的基本数据类型 2 、掌握常量和变量的应用 3 、理解 VB 常用内部函数 4 、掌握运算符和表达式的应用 5 、掌握数组的定义和使用 6 、掌握标准函数的使用 7 、掌握过程和函数的应用 【 教学重点 】 变量和常量的定义;函数、运算符、表达式的正确使用;数组的定义和使用。 【 教学难点 】 变量的定义、数组、函数的使用。. 活动一. 2.1 数据类型. 2.2 常量与变量. 2.3 运算符和表达式. 2.4 标准函数. 2.5 基本语句.
E N D
项目二 Visual Basic程序设计基础 【教学目的】1、掌握常用的基本数据类型 2、掌握常量和变量的应用 3、理解VB常用内部函数 4、掌握运算符和表达式的应用 5、掌握数组的定义和使用 6、掌握标准函数的使用 7、掌握过程和函数的应用 【教学重点】变量和常量的定义;函数、运算符、表达式的正确使用;数组的定义和使用。 【教学难点】变量的定义、数组、函数的使用。
活动一 2.1 数据类型 2.2 常量与变量 2.3 运算符和表达式 2.4 标准函数 2.5 基本语句 2.6 数组 2.7 过程和函数
一、标准数据类型 2.1 数据类型 货币型是专为处理货币而设计的数据类型。用8位字节存储,小数点前有15位,小数点后有4位,其余的数字被舍去。例:546.5465@ 任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号“#”括起来,如#January 15,2002#,#1985-10-1 9:45:00 PM# , #3-6-93 13:20#都是合法的日期型数据。 布尔型数据只有两个值:真(True)和假(False),经常用来表示逻辑判断的结果。 一般用来保存二进制数据。 字符型数据是用双引号括起来的一串字符。一个西文字符占一个字节,一个汉字或全角字符占两个字节。分定长和变长字符型数据。例:“abcdef” 整型数是不带小数点和指数符号的数,如-123%、123%都表示整数。 它是一种特殊的、可以表示所有系统定义类型的数据类型。变体数据类型对数据的处理可以根据上下文的变化而变化, Variant数据类型是VB对所有未定义的变量的缺省数据类型的定义。 长整数用4字节二进制数存储,可以表示更大的整数,如-1234&、987654&都表示长整数。 由符号、指数和尾数组成,其指数部分用“E”(或“e”)表示。最多有7位有效数字。例:-1.234567E6 由符号、指数和尾数组成,其指数部分用“D”(或“d”)表示。最多有15位或16位有效数字。-1.112223334445556D-33
练习: 1、VB提供了哪些基本数据类型?其类型关键字是什么?其类型符又是什么? 2、如果要存储3.2345这个数值,定义哪种数据类型需要的内存容量较小? 3、数8.6787E+8写成普通的十进制数是: A) 86787000 B) 867870000 C) 8678700 D) 8678700000 4、数2.65358979335278E-006写成普通的十进制数是: A) 0.0000265358979335278 B) 0.00000265358979335278 C) 000265358979335278 D) 0.000000265358979335278
二、用户自定义数据类型 除了上述数据类型外,在VB中,用户可以根据需要利用Type语句定义自己的数据类型,其格式如下: 要定义的数据类型的名字。 Type 数据类型名 数据类型元素名 As 类型名 数据类型元素名 As 类型名 类型名为上述基本类型名或自定义数据类型名。 …… End Type 是自定义数据类型中的一个成员。 用户定义的数据类型又称为“记录类型”
例题:定义一个有关职工信息的自定义类型: Client_Record类型有3个元素分别为: cltName、 cltPassword、 cltDeposit。 • Type Client_Record • cltName as String*16 • cltPassword as String*8 • cltDeposit as Currency • End Type • 注意: • (1)自定义类型必须在标准模块或窗体模块的声明部分定义,在标准模块中定义时默认为全局变量(Public)。在窗体模块定义时在关键字Type前应加上Private关键字。 • (2)自定义类型元素类型如果有字符串,则必须是定长字符串,即应该使用形式为: • strName As String*常数 • 其中“常数”指明定长字符串的长度
2.2常量与变量 常量就是在程序运行过程中,其值始终保持不变的数据。Visual Basic6.0中,常量有两种: (1)文字常量 (2)符号常量。 2.2.1 常量 1.文字常量 文字常量也就是普通常量,在程序代码中,以直接明显的形式给出的数据。 根据使用的数据类型,文字常量分为:字符串常量、数值常量、布尔常量、日期常量。
(1)字符串常量 • 用双引号括起来的字符序列。例:“计算机”字符常量容纳的字符数(长度)最多可达65535个。 • (2)数值常量 • 数值常量有:字节型数、整型数、长整型数、浮点数。 • ①字节型数、整型数、长整型数都是整型量,可以使用三种整型量:十进制整数、十六进制整数、八进制整数,只要是在该类型数合法范围之内。 • 十进制数按常用的方法来表示,十六进制数前加“&H”,八进制数前加“&O”。 • 1200 '十进制数1200 • &H333 '十六进制数333 • &O555 '八进制数555
②浮点数分为单精度和双精度数。浮点数由尾数、指数符号和指数三部分组成。尾数是实数;指数符号是E;指数是整数。②浮点数分为单精度和双精度数。浮点数由尾数、指数符号和指数三部分组成。尾数是实数;指数符号是E;指数是整数。 • 指数符号E的含义为:乘上10的幂次。例如:12.345E-6和78E3所表示的值分别为0.000012 345和78 000。定点数和浮点数可以是单精度的,也可以是双精度的。单精度数保留7位有效数字,双精度数保留15位或者16位有效数字。 (3)布尔常量 布尔常量只有两个:False(假)和True(真)。 (4)日期常量 日期常量是用#号括起来的日期文字,例:#2007-9-9#、#January 15,2002# 、 #3-6-93 13:20#。
注:VB在判断常量类型(特别是数值常量)时,有时存在多义性,也就是既可能是这种类型 又可能是那种类型。例:常量2345既可能是整型数,又可能是长整型数。在没有指明的情况下,VB将按占用内存最少的类型表示这个常数。2345被当成整数处理。为了显式地指明常数的类型,可以在常数后面加上类型说明符,分别为:%(整型)、&(长整型)、!(单精度浮点数)、#(双精度浮点数)、@(货币型)、$(字符串型)。字节、布尔、日期及变体类型没有类型说明符。
2.符号常量 以符号形式表示的常量称为“符号常量”。 代表常量的符号称为“常量名”。 常量名的命名规则:只能由字母、数字和下划线组成且首字符必须是字母的字符串。常量名长度不超过 255 个字符,其中的字母不区分大小写,不能使用VB中的保留字。 自定义符号常量在使用前,应先用 Const 语句说明。 Const 语句形式如下: Const 常量名 [As 数据类型] = 表达式 也可以在说明时通过数据类型符号规定常量的类型。当省略“AS 类型”时,常量的类型由表达式值的类型决定。例:Const c1 As String=“这是符号常量” (字符串常量) Const day = #09/30/2003 # (日期常量) Const pi! = 3.14159 (单精度常量)
2.2.2 变量 • 变量是以符号形式出现在程序中,且取值可以发生变化的数据。 • 变量的作用是在程序执行期间临时保存数值。 • 变量有名字和数据类型。变量名是用来引用该变量所含的值的词。变量的数据类型确定变量可以存储的数据的类型。 一.变量的命名规则 (1)VB变量名只能用字母、数字和下划线组成(共37个可用字符)。 (2)VB变量名的第一个字符必须是英文字母,最后一个字符可以是类型说明符,且组成变量名的字符数不得超过255个字符。例:temp# (3)不得使用VB的保留字或保留字后加上类型说明符来作为变量名。例:caption 和 caption$ 都是非法的。 (4)变量名在同一个范围内必须是唯一的。 (5)为了增加程序的可读性,一般在变量名前加上一个表示该变量数据类型的前缀。例:strName,intAge。
二.变量的声明 VB提供四种说明语句来显式说明变量: Dim <变量名> As <类型> [,<变量名> As <类型> ] ··· Public <变量名> As <类型> [,<变量名> As <类型> ] ··· Private <变量名> As <类型> [,<变量名> As <类型> ] ··· Static <变量名> As <类型> [,<变量名> As <类型> ] ··· 其中,Dim语句可用于说明局部变量和模块变量;Public 语句用于说明全局变量;Private 语句用于说明窗体/模块级变量;Static用于说明静态变量。
三、变量的范围 在变量的有效范围内,变量能够被程序访问,其值能够被程序调用。 VB在声明变量时指定它的作用范围。VB中的变量根据声明的方式,可以分为3类:局部(过程)变量、模块变量、全局变量。 VB应用程序的构成 VB由3种模块组成:窗体模块(Form)、标准模块(Module)、类模块(Class)。类模块这本书不介绍。 声明部分(Declaration) 窗体模块(Form) 通用过程(General Procedure) 事件过程(Even Procedure) 应用程序 声明部分 标准模块(Module) 通用过程
1、局部变量 局部变量又称过程变量,是指在过程(事件过程或通用过程)内部定义的变量,只有在该过程中的代码才能访问这个变量,不能应用于程序的其他部分。 局部变量在过程内用Dim、Static定义。 ① Dim <变量名> As <类型> [,<变量名> As <类型> ] ··· 例:Dim intX As integer (定义intX为整型变量) Dim total As Single (定义total为单精度变量) Dim strName As String*10 (strName是定长字符串变量,长度为10) Dim stra1 As String (定义stra1为变长字符串变量)用一个Dim可以定义多个变量例:Dim str1 As String, str2 As String, ff As Boolean当用一个Dim语句定义多个变量时,每个变量都要用As子句声明其类型,否则该变量被看作是变体类型。例:Dim str1,str2 As String, ff,var1 As Long
②Static <变量名> As <类型> [,<变量名> As <类型> ] ··· 用在过程中定义静态变量或数组。用 Dim 声明的变量只在过程执行期间才存在,称为自动变量;而用 Static 声明的局部变量,则在整个应用程序运行期一直存在,称为静态变量。 所以每次引用Static定义的变量时,其值会继续保留,而引用Dim定义的变量时,变量值会被重新设置(数值变量会被设为0,字符串变量会被设为空)。例:Static num As Integer Private Sub Command1_Click() Static x As String Dim y As String x = x + "a" y = y + "b" Print "x的值为:"; x Print "y的值为:"; y End Sub Private Sub Command1_Click() Static x As Integer Dim y As Integer x = x + 1 y = y + 1 Print "x的值为:"; x Print "y的值为:"; y End Sub 当单击两次命令按钮时结果如何?
在不同的过程中可以定义相同名字的局部变量,它们之间没有任何关系。例:Private sub command1_click() Dim num1 As Integer Static ss as String End Sub Private sub command2_click() Dim num1 As Integer Static ss as Integer End Sub 例:统计选票。界面如图1所示。共有三位候选人,如果同意某人,就单击一下某人的按钮,在对应的文本框中显示已得的票数。 提示:在3个命令按钮的Click事件过程中用Static定义统计票数变量x,每单击一下命令按钮,使变量x=x+1。
2、模块变量(窗体变量和标准模块变量) • 模块变量是指在模块(包括窗体模块和标准模块)内部定义的变量,只在该模块中的代码才能访问这个变量,离开这个模块,此变量不起作用。例如在窗体Form1模块中定义的变量不能用于窗体Form2模块中。模块变量在模块的声明部分用Private或Dim声明。 • Private <变量名> As <类型> [,<变量名> As <类型> ] ··· 用在模块(标准模块和窗体模块)中定义模块级变量。 例:Private x as Integer例:在窗体Form1中定义一个模块级变量Temp.方法:在Form1窗体的代码窗口的对象框中选择“通用”,并在过程框中选择“声明”,然后在代码窗口中定义变量Temp。Dim temp As String • 如果想在标准模块Module1中定义一个模块级变量temp,怎样做?
3、全局变量 • 全局变量也称全程变量,可以在工程的每个模块、每个过程中使用。全局变量在标准模块的声明部分用Public或Global声明。 • Public <变量名> As <类型> [,<变量名> As <类型> ] ··· 经过Public 关键字声明的变量是全局变量,其值可用于应用程序的所有过程。只能在标准模块的声明部分中用Public 关键字声明全局变量,例如: Public intTemp As Integer。 • 例:定义一个全局变量temp,该变量可以在“工程1”中的所有模块中使用,如在窗体Form1和窗体Form2模块中,全局变量temp都可以使用。 方法:在标准模块的“通用”-“声明”中声明。Public temp As Integer
4、隐式声明与用Option Explicit语句强制显式声明变量 在默认状态下,VB中可以不对局部变量进行声明,此时变量类型默认为变体类型(Variant),称为隐式声明,但是这样做可能由于变量名的误写而产生不良后果。为安全起见,最好显式声明所有变量。 对于模块变量和全局变量,必须在代码窗口中用Dim和Public显示声明。 5、小结
【例】变量作用域的演示。阅读下列程序,写出各程序段Print的输出结果。【例】变量作用域的演示。阅读下列程序,写出各程序段Print的输出结果。 Option Explicit Dim var1 As Integer Private var2 As Integer Private Sub Command1_Click() var1 = 100 var2 = 300 Print var1, var2 End Sub Private Sub Command2_Click() Dim var1 As Integer var1 = 50 var2 = 200 Print var1, var2 End Sub Private Sub Command3_Click() var2 = 400 Print var1, var2 End Sub Private Sub Command4_Click() Static var4 As Integer var4 = var4 + 1 Print var4; End Sub Private Sub Command5_Click() Dim var5 As Integer var5 = var5 + 1 Print var5; End Sub
练习: 1、下列可作为VB的变量名的是: A) 4*delta B) Alpha C) 4abc D) abπ 2、下列可作为VB的变量名的是: A) Filename B) A(A+B) C) 368D D) Print
上机作业: 1、在“工程1”中创建“Form1”和“Form2”两个窗体,并各在两窗体中添加一个Command1的按钮控件,Caption属性都为“打印”。执行以下步骤: (1)定义整型变量All为全局变量,字符型变量M1为Form1窗体的模块级变量,字符型变量M2为Form2窗体的模块级变量,单精度型变量L1为Form1窗体的Command1_Click过程的局部变量。 (2)在Form1的装载事件中为变量M1赋值为”06软件蓝领班”,ALL赋值为“123”;在Form2的装载事件中为变量M2赋值为“VB程序设计”。 (3)当单击Form1窗体中的Command1时,变量L1赋值为“3.14159”,在文本框Text1中显示变量All的内容,文本框Text2中显示变量L1的内容,在标签Label1中显示M1的内容;当单击Form1窗体中的Command2时,显示Form2窗体。 (4)当单击Form2窗体中的Command1时,在文本框Text1中显示变量M2的内容,在文本框Text2中显示变量All的内容。能不能在Form2窗体中引用M1变量?为什么?
2.3 运算符和表达式 • 2.3.1 运算符 1.算术运算符 2.字符串运算符 3.比较运算符 4.逻辑运算符
1.算术运算符 算术运算符用于数学计算,VB有8个算术运算符(其中减号运算符和取负运算符形式相同),在这8个算术运算符中,只有取负“-”是单目运算符,其它均为双目运算符。表4-6按照优先级别的高低列出了算术运算符。 整除的操作数一般为整型数当操作数带小数时,首先被四舍五入为整数,再进行整除运算。 取模运算用来求余数其结果为第一个操作数整除第二个操作数所得的余数。 算术运算符
2.连接运算符 连接运算符有“&”和“+”两个,如表4-7所示 连接运算符 “ 123 ” + “ 456 ”结果 “123456 ” “ 123 ” & “ 456 ”结果 “123456 ”区别: + 两边必须是字符串, & 不一定 例如: “ abcdef ” + 12345 ‘出错 “abcdef” & 12345 ’结果为 “abcdef12345 ” “ 123 ” + 456 ‘结果为 579 “ 123 ” & 456 ' 结果为 " 123456 "
3.比较运算符 比较运算符属于双目运算符,用来对两个表达式的值进行比较,比较的结果为逻辑值,即若关系成立则返回True,否则返回False。在VB中,分别用-1和0表示True和False。表4-8列出了VB中的比较运算符。 表 比较运算符
逻辑运算符的作用是将操作数进行逻辑运算,结果是逻辑值True 或False。逻辑运算符中,除Not为单目运算符外,其他都为双目运算符。 4.逻辑运算符
2.3.2 表达式 1.表达式的种类 根据表达式中运算符的类别可以将表达式分为算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式等。 2.表达式的书写规则 (1)每个符号占1格,所有符号都必须一个一个并排写在同一基准上,不能出现上标和下标。 (2)不能按常规习惯省略乘号*,如:2x要写成2*x。 (3)只能使用小括号(),且必须配对,不能用[ ]和{ }。 (4)不能出现非法的字符,如π。 (5)在数学中的判断式子:a<=x<=b,在VB中应写成: a<=x And x<=b。 3.运算符的优先级 当表达式中存在多种运算符共存时,按如下优先级的先后进行运算: 算术运算符>连接运算符>比较运算符>逻辑运算符
练习: 1、计算下列结果: (1)10 \ 2.4; 10 \ 3.6; 14 \ 4 (2)8*3+2 Mod 3 / 2 (3)3*3>=8 (4) "EFG"<>"efg" & "abc" (5)Not 5=4 And 5<4*2 (6)6>3*2 Or 7<>8 And 8=2*4 (7)10>12+3 And True And 2>3 (8)Not 7>2*4 Or Not 5<>2+3 And 2 Mod 4 =0 2、 根据所给条件,列出逻辑表达式A、 闰年的条件是:年号(year)能被4整除,但不能被100整除;或者能被400整除。B、 一元两次方程ax2+bx+c=0有实根的条件为a≠0,并且b2-4ac≥0C、 征兵的条件:男性(sex)年龄(age)在18—20岁之间,身高(size)在1.65米以上;或者女性年龄在16—18岁之间,身高在1.60以上。 D、分房的条件为:已婚(marrigerat),年龄(age)在26岁以上,工作年限(workingage)在5年以上。
2、\、/、Mod、*等4个算术运算符中,优先级最低的是( )A、\ B、/ C、Mod D、*3、不能正确表示条件“两个整型变量A和B之一为0,但不能同时为0”的布尔表达式A、A*B=0 AND A<>B 2、\、/、Mod、*等4个算术运算符中,优先级最低的是( )A、\ B、/ C、Mod D、*3、不能正确表示条件“两个整型变量A和B之一为0,但不能同时为0”的布尔表达式A、A*B=0 AND A<>B B、(A=0 OR B=0) AND A<>BC、A=0 AND B<>0 OR A<>0 AND B=0D、 A*B=0 AND (A=0 OR B=0)4、设A、B、C表示三角形的3条边,表示条件“任意两边之和大于第三边”的布尔表达式可以用( )表示。A、A+B>=C Or A+C>=B Or B+C>=A B、Not(A+B<=C Or A+C<=B Or B+C<=A)C、A+B<C Or A+C<B Or B+C<A) D、A+B>C And A+C>B And B+C>A
【例】设计一个能够进行加、减、乘、除的简易计算器,设计界面见图3-3。程序运行后,在文本框Text1和Text2中输入操作数,然后单击运算符,则在Label1中显示相应的运算符,在Label3中显示计算结果。提示:4个运算符号命令按钮的Caption属性分别为+、-、×、÷。【例】设计一个能够进行加、减、乘、除的简易计算器,设计界面见图3-3。程序运行后,在文本框Text1和Text2中输入操作数,然后单击运算符,则在Label1中显示相应的运算符,在Label3中显示计算结果。提示:4个运算符号命令按钮的Caption属性分别为+、-、×、÷。 上机作业: 1、试验VB中三种除法运算符(/、\、Mod)的区别 在窗体上画5个标签、5个文本框和一个命令按钮。5个标签的标题分别为:”被除数”、“除数”、“浮点除(/)”、“整数除(\)”和“取模(Mod)”,把5个文本框清为空白,把命令按钮的标题设置为“执行除法运算”,如图所示。当单击命令按钮时,把第一个文本框中的内容作为被除数,第二个文本框中的内容作为除数,分别进行三种除法运算(/、\、Mod),并将结果分别显示在第三、第四、第五个文本框中。
2.4 常用内部函数 2.4.1 数学运算函数 2.4.2 字符串函数 2.4.3 判断函数 2.4.4 转换函数 2.4.5 日期和时间函数 2.4.6 随机函数
2.4.1数学运算函数 常用数学函数
取整函数Int和Fix • Int和Fix函数的作用都是取整。其语法格式为: • Int(x) • Fix(x) • 其中Int函数返回小于或等于X的最大整数。 • Fix函数返回X的整数部分。例:?Int(-3.6) Fix(-3.6) Int(3.6) Fix(3.6) -4 -3 3 3
数制转换函数 • Hex$(x)把一个十进制数转换为十六进制数。 • Oct$(x)把一个十进制数转换为八进制数。 • 参数x为任何有效的数值表达式。 • 如果 x 不是一个整数,那么在执行前会先被四舍五入成最接近的整数。
1、表达式INT(8*SQR(36)*10^(-2)*10+0.5)/10的值是1、表达式INT(8*SQR(36)*10^(-2)*10+0.5)/10的值是
2.4.2 字符串函数 常用字符串函数
InStr()函数 • 功能:指定一字符串在另一字符串中最先出现的位置。 • 说明:N1、M为数值型参数,函数返回值为一整数。在字符串C1中从第N1个字符开始查找字符串C2(省略N1时从头开始找)。若找到了,则返回位置值;若找不到,则返回0。M的值为0、1或2。0为区分大小写,1为不区分大小写,2对数据库信息比较。默认为0
Len()函数 • 格式:Len(字符串) 或 Len(变量名) • 功能:求字符串的长度,也可以测试变量的存储空间。 • Left()和Right()函数 • 格式:Left(字符串,n)、Right(字符串,n) • 功能:分别返回字符串左(右)边的n个字符。 • 说明:n为数值型参数,函数返回值为一新的字符串。Left(字符串,n)函数返回字符串左边的 n个连续的字符,Right(字符串,n)函数返回字符串右边的 n个连续的字符。
Mid()函数 • 格式:Mid(字符串,n1,n2) • 功能:自字符串的第n1个字符开始向右取n2个连续的字符。 • 说明:n1、n2为数值型参数,函数返回值为一新的字符串。 • Ltrim()、Rtrim()和Trim()函数 • 格式:Ltrim(字符串)、Rtrim(字符串)、Trim(字符串) • 功能:去掉字符串左边、右边、左右边的空格。 • 说明:函数返回值为一新的字符串。其中函数Ltrim(字符串)去掉字符串左边的空格,函数Rtrim(字符串)去掉字符串右边的空格,函数Trim(字符串)去掉字符串左右两边的空格。
String()函数 • 格式:String(n,c) • 功能:返回由字符串的首字符组成的n个字符的字符串。 • 说明:c为字符串类型的参数或者是ASCII码,n为数值型参数,函数返回值为一新的字符串。 • Space()函数 • 格式:Space(n) • 功能:产生由n个空格组成的字符串。 • 说明:n为数值型参数,函数返回值为一个全部由空格组成的字符串。
练习: 1、Mid("ABCDEFG",2,3) 2、InStr(2, "ABCDEFG", "EF") 3、Right(“abcdefghi”,4) 4、String(4,”abc”) 5、Len(“123.4”) 6、Ucase(Left(“basic”,3))
2.4.3 判断函数 • IsArray( )函数 • 格式:IsArray(变量名) • 功能:判断变量是否为数组。 • 例: • IsDate( )函数 • 格式: IsDate(表达式) • 功能:判断表达式是否可以转换成为日期 • 例:dim aa as string,bb as boolean • aa=“10-12-2007” • bb=IsDate(aa) • print bb
IsEmpty()函数 • 格式: IsEmpty(变量) • 功能:判断变量是否已被初始化。 • 例:dim aa as string,bb as integer,cc as boolean • cc=IsEmpty(aa) • cc=IsEmpty(bb) • aa=“kkkk” • cc=IsEmpty(aa) • IsNumeric()函数 • 格式: IsNumeric(表达式) • 功能:判断表达式运算结果是否为数字。 • 例: dim a as boolean • a=IsNumeric(text1.text) • print a
2.4.4转换函数 (1)数值转换为字符串 • Str 函数的作用是将一个数值表达式转换为一个字符串。其语法格式为: • Str(X) • 参数X为一 Long型数值表达式,其中可包含任何有效的数值表达式。 • 当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 X 为正,返回的字符串包含一前导空格暗示有一正号。 例:Str(123) Str(-23.456)
(2)字符串转换为数值 • Val 函数的作用是返回包含于字符串内的数字,字符串中是一个适当类型的数值。其语法格式为: • Val(string) 例: Val(“-123.4”) Val(“ 123.4”) Val(“a123.4”) Val(“12-3.4”)
例:Asc(“a”) Asc(“abc”) (3)求ASCⅡ字符代码 • Asc 函数用来求一个字符串首字符的ASCⅡ字符代码,其语法格式为: • Asc(string) • 参数string可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。 (4)求ASCⅡ字符 • Chr 函数求一个ASCⅡ字符代码所对应的ASCⅡ字符 。其语法格式为: • Chr(charcode) • 参数charcode是一个用来识别某字符的 Long型数。charcode 的正常范围为 0 – 255。 • 0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符,Chr(13)可以返回回车符。 例:Chr(65) Chr(97)
2.4.6随机函数 Rnd(x) 功能:返回小于1且大于等于0的单精度随机数。 要产生某个范围内[下限,上限]的随机整数,可有下列公式: Int(( 上限-下限+1)*Rnd())+下限 例:要产生[50,100]之间的随机整数,根据公式计算: Int((100-50+1)*Rnd())+50 练习:按产生键,随机产生一个任意的大写字母,按转换键可将其转换成小写字母 。 Private Sub Command1_Click() Label1.Caption = Chr(Int((Asc("Z") - Asc("A") + 1) * Rnd() + Asc("A"))) End Sub Private Sub Command2_Click() Label2.Caption = Chr(Asc(Label1.Caption) + 32) End Sub