Ⅳ、作业:
P81一、3~6
二、简述VB基本数据类型。(写成表格形式)
第15~18课时
课题:常量和变量 教学目的:
1、掌握VB语言字符集及编码规则 2、掌握常量、变量的使用 3、掌握变量的作用域 教学重难点:
1、VB语言字符集及编码规则 2、常量的使用 3、变量的使用 4、变量的作用域
教学方法: 多媒体教学 教学过程:
Ⅰ、复习上节内容
1、常用数据类型的用法。 Ⅱ、新课
一、VB语言字符集
字母:包括大写英文字母A~Z和小写英文字母a~z 数字:数字是指0~9
- 17 -
专用字符27个 二、编码规则
1) Visual Basic代码中不区分字母的大小写。
2) 在同一行上可以书写多条语句,但语句间要用冒号“:”分隔。
3) 若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,即1个空格加下划线。 4) 一行最多允许255个字符。
5) 注释以Rem开头,也可以使用单撇号“'” 开头,注释内容可直接出现在语句的后面。 三、约定
1) 为了提高程序的可读性,将关键字的首字母大写。若关键字由多个英文单词组成,则每个单词的首字母都大写,如 StudType等。
2) 注释有利于程序的维护和调试,因此要养成注释的习惯。
选中要加注释块的语句行,单击编辑工具栏的“设置/取消注释块”按钮 ,使得将若干行语句或文字设置为注释或取消注释。 四、常量
VB中的常量分为文字常量和符号常量。 (一)文字常量
字符串常量和数值常量。 1、字符串常量 \2、数值常量
1)整形数:有3种形式,即十进制、十六进制(&H)和八进制(&或&O)
2)长整形数:有3种形式,即十进制、十六进制(以&H开头,以&结尾)和八进制(以&或&O开头,以&结尾) 3)货币型数 4)浮点数
(二)符号常量
一般格式:Const 常量名=表达式 说明:
1、在声明符号常量时,可以在常量名后面加上类型说明符。 如 Const one&=1 2、当在程序中引用符号常量时,通常省略类型说明符。
3、类型说明符不是符号常量的一部分,定义符号常量后,在定义变量时要慎重。 如已定义 Const num=45 则num!、num#、num&、num@不能再用作变量名或常量名。 另:系统定义符号常量
VB内部已定义,可以直接使用的常量。
查看内部常量: 视图→对象浏览器→ 选择库、类、 成员 如:vbCrLf 回车符和换行符 等效于 Chr$(13)+Chr$(10) 五、变量
1、变量的命名规则
①变量名必须以字母或汉字开头,所有字母不分大小写,但一般习惯单词的第一个字母大写。 ②不能包含圆点“.”。
③字符总个数不得超过255个字符。 ④在同一个范围内必须是惟一的。
⑤变量名要“见名知义”,即变量名要便于记忆、有意义。 ⑥不能用 Visual Basic的关键字作为变量名。如:print
- 18 -
⑦变量名不能与过程名和符号常量名相同。 2、变量的类型和定义 1)用类型说明符来标识
当使用或定义变量时,可以在变量第一次出现时名字尾部加上类型声明符直接声明变量类型。
%整型、& 长整形、!单精度、#双精度、@货币型、$字符串型 2)在定义变量时指定其类型 格式:Declare 变量名 As 类型
“Declare”可以是:Dim,Static,Redim,Private,Public “As”:关键字
“类型”:基本数据类型或用户定义的类型
在使用非 Variant 变量之前,必须使用 Private、Public、Dim 或 Static 语句将变量声明为 As type。例如,下列语句分别声明了 Integer、Double、String 和 Currency 类型的变量:
Private I As Integer Dim Amt As Double
Static YourName As String Public BillsPaid As Currency
一个声明语句可将多个声明组合起来: Private I As Integer,Amt As Double
? Dim语句:可以用于模块级和过程级中声明定义变量,模块中的声明的变量对该模块中
的所有过程都是可用的。在过程级中的声明的变量只在过程内是可用的。
例如:Dim StudentName As String
? Static语句:在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期
间都能保留使用 Static 语句声明的变量的值。不能用于模块级的变量声明。
例如:Static StudentName As String
? Private语句:只用于模块级别中声明变量,对该模块中的所有过程都是可用的。
例如:Private StudentName As String
? Public语句:在模块级别中使用,用于声明公用变量和分配存储空间。在窗体模块中
声明的变量为全局可见变量,在标准模块中声明的变量为全局变量。不可以用于过程中声明。使用全局可见变量时,应按照“窗体名称.变量名称”的格式使用。
例如:Public StudentName As String
? Redim 主要用于标准模块中定义全局变量或数组 3)用DefType语句定义
格式:DefType 字母范围 功能:在标准模块、窗体模块的声明部分定义开头字母为指定字母范围内的变量的数据类型。
Def为保留字,Type为类型标志,可以是Int整型、Lng长整型、Sng单精度、Dbl双精度、Cur货币型、Str字符型、Byte字节型、Bool布尔型、Date日期型、Obj对象型、Var变体型。
注意:Def和类型标志之间没有空格。
例:DefStr D-F 所有变量名称的开头字母在D到F之间(含D、F)的变量,定义为字符类型。
Deftype 语句只在使用该语句的模块中有效。如果不用 Deftype 语句显式地声明,缺
- 19 -
省数据类型是 Variant。
在指定了A–Z 范围之后,就不能再使用 Deftype 语句来重新定义任何子范围的变量了。在指定一个范围后,如果另一个 Deftype 语句定义的范围中含有前面已定义的字符,就会产生错误。不过,不管变量是否已定义,都可以使用带 As type 子句的 Dim 语句来显式指定其数据类型。
注意4点:
(1)如果一个变量未被显示定义,末尾也没有类型说明符,则被隐含地说明为变体类型变量。
(2)用DefType定义的变量只对它所在的模块起作用。类型说明符(% & # !@ $)总是比语句优先起作用。
(3)根据需要设置变量的类型。
(4)用类型说明符定义的变量,在使用时可以省略类型说明符。 六、变量的作用域
变量的作用域指定的是变量的有效范围,即变量的“可见性”。定义了一个变量后,为了能正确地使用变量的值,应当明确可以在程序的什么地方访问该变量。
应用程序由3种模块组成,即窗体模块、标准模块、类模块。 1、局部变量与全局变量 1)局部变量
在过程(事件过程或通用过程)内定义的变量叫做局部变量,其作用域是它所在的过程。局部变量通常用来存放中间结果或用作临时变量。某一过程的执行只对该过程内的变量产生作用,对其他过程中相同名字的局部变量没有任何影响。因此,在不同的过程中可以定义相同名字的局部变量,它们之间没有任何关系。如果需要,则可以通过“过程名.变量名”的形式分别引用不同过程中相同名字的变量。
局部变量在过程内用Dim、Static定义。 2)模块变量(窗体变量和标准模块变量)
窗体变量可用于该窗体内的所有过程。当同一窗体内的不同过程使用相同的变量时,必须定义窗体层变量。在使用窗体层变量前,必须先声明,也就是说,窗体层变量不能默认声明。其方法是,在程序代码窗口的“对象”框中选择“通用”,并在“过程”框中选择“声明”,然后就可以在程序代码窗口中声明窗体层变量。
注意:在窗体模块声明的Public变量,全局可使用,但它不是全局变量,是全局可见变量。使用时,格式为“窗体名称.变量名称”。
标准模块中模块层变量的声明和使用与窗体模块中窗体层变量类似。
标准模块是只含有程序代码的应用程序文件,其扩展名为.bas。为了建立一个新的标准模块,应执行“工程”菜单中的“添加模块”命令,在“添加模块”对话框中选择“新建”选项卡,单击“模块”图标,然后单击“打开”按钮,即可打开标准模块代码窗口,在这个窗口中可以输入标准模块代码。 ? 在默认情况下,模块级变量对该模块中的所有过程都是可见的,但对其他模块中的代码
不可见。模块级变量在模块的声明部分用Private或Dim声明。 3)全局变量
全局变量也称全程变量,其作用域最大,可以在工程的每个模块、每个过程中使用。和模块级变量类似,全局变量也在标准模块的声明部分中声明。所不同的是,全局变量必须用Public或Global语句声明,不能用Dim语句声明,更不能用Private语句声明;同时,全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。 2、变量的声明
- 20 -