1、顾媛媛顾媛媛日期日期周次周次星期星期时间时间地点地点备注备注10月月10日日第第8周周周一周一14:0015:354E4F课内课内2小时小时10月月17日日第第9周周周一周一14:0015:354E4F课内课内2小时小时10月月24日日第第10周周周一周一14:0015:353A3B课内课内2小时小时10月月31日日第第11周周周一周一14:0015:353A3B课内课内2小时小时11月月07日日第第12周周周一周一14:0015:353A3B课内课内2小时小时11月月14日日第第13周周周一周一14:0015:353A3B课内课内2小时小时11月月21日日第第14周周周一周一14:0015:
2、353A3B课内课内2小时小时11月月28日日第第15周周周一周一14:0015:353A3B课内课内2小时小时日期日期周次周次星期星期时间时间地点地点备注备注10月月24日日第第10周周周三周三15:5018:153A3B课外课外3小时小时10月月31日日第第11周周周三周三15:5018:153A3B课外课外3小时小时11月月07日日第第12周周周三周三15:5018:153A3B课外课外3小时小时12月月05日日第第16周周周一周一14:0015:353A3B课外课外2小时小时12月月12日日第第17周周周一周一14:0015:353A3B课外课外2小时小时12月月19日日第第18周周周
3、一周一14:0015:353A3B课外课外2小时小时12月月26日日第第19周周周一周一14:0015:353A3B课外课外2小时小时日期日期周次周次星期星期时间时间地点地点备注备注10月10日第8周周一14:0015:354E4F课内2小时10月17日第9周周一14:0015:354E4F课内2小时10月24日第10周周一14:0015:353A3B课内2小时10月24日第10周周三15:5018:153A3B课外课外3小时小时10月31日第11周周一14:0015:353A3B课内2小时10月31日第11周周三15:5018:153A3B课外课外3小时小时11月07日第12周周一14:00
4、15:353A3B课内2小时11月07日第12周周三15:5018:153A3B课外课外3小时小时11月14日第13周周一14:0015:353A3B课内2小时11月21日第14周周一14:0015:353A3B课内2小时11月28日第15周周一14:0015:353A3B课内2小时12月05日第16周周一14:0015:353A3B课外课外2小时12月12日第17周周一14:0015:353A3B课外课外2小时12月19日第18周周一14:0015:353A3B课外课外2小时12月26日第19周周一14:0015:353A3B课外课外2小时 从第8周至19周,每周一14:0015:35上机,
5、除第8周和第9周上机在4E4F机房外,其它时间上机都在3A3B机房。 其中从第8周至15周为课内上机时间(共16小时,每次2小时),从第16周至19周为课外上机时间(共8小时,每次2小时)。另外第10周至第12周的周三15:5018:15上机,为课外上机(9小时,每次3小时)。1. 请按要求在上机时携带课程教材或有关上机实验请按要求在上机时携带课程教材或有关上机实验教材,按要求完成并提交上机作业;教材,按要求完成并提交上机作业; 2. 上机环节作为课程的考核环节之一,不得无故迟上机环节作为课程的考核环节之一,不得无故迟到、旷课;不得从事与上机编程无关的事情,如到、旷课;不得从事与上机编程无关的
6、事情,如上网、玩游戏、听上网、玩游戏、听MP3等。等。3. 无故迟到、上网、听无故迟到、上网、听MP3每次扣每次扣3分,旷课每次分,旷课每次扣扣5分,玩游戏每次扣分,玩游戏每次扣10分。分。Visual Basic 6.0 程序设计教程程序设计教程主讲人:袁红兵主讲人:袁红兵 南京理工大学机械工程学院工业工程系南京理工大学机械工程学院工业工程系江苏省南京市孝陵卫江苏省南京市孝陵卫200200号号Tel: 025-84315317Tel: 025-84315317Emal: Emal: 第第1 1章:概述章:概述第第2 2章:数据与表达式章:数据与表达式第第3 3章:简单的章:简单的VBVB程序
7、设计程序设计第第4 4章:选择结构章:选择结构第第5 5章:循环结构章:循环结构第第6 6章:常用控件与多窗体章:常用控件与多窗体第第7 7章:数组章:数组第第8 8章:过程章:过程第第9 9章:文件章:文件第第1010章:高级界面设计章:高级界面设计第第1111章:章:VBVB数据库开发数据库开发第第1212章:章:VBVB多媒体应用多媒体应用第第1313章:章:ActiveXActiveX控件控件“开始开始”菜单的组成菜单的组成“开始开始”按钮按钮“开始开始”菜单菜单“程序程序”子菜单子菜单“VB”子菜单子菜单工具箱工具箱工程窗口工程窗口属性窗口属性窗口窗体布局窗口窗体布局窗口空窗体空窗体
8、对象窗口对象窗口VB集成开发环境集成开发环境VB 工具箱工具箱PictureBox 控件控件TextBox 控件控件CommandButton 控件控件OptionButton 控件控件ListBox 控件控件VScrollBar 控件控件DriveListBox 控件控件FileListBox 控件控件Line 控件控件Data 控件控件Image 控件控件Shape 控件控件DirListBox 控件控件Timer 控件控件HScrollBar 控件控件ComboBox 控件控件CheckBox 控件控件Frame 控件控件Label 控件控件基于对话框的应用程序窗口基于对话框的应用程序窗
9、口按钮按钮Command Button图片图片Picture or Image选项卡选项卡Tab Strip微调器微调器Spinner (up-down)单选框单选框OptionButton复复选框选框Check Box文本框文本框Text Box按钮按钮Command Button列表框列表框List Box对话框对话框 (Dialog Box)选项卡选项卡Tap Strip组合框组合框Combo Box框架框架Frame按钮按钮CommandButton标签标签Label缺省按钮缺省按钮DefaultButton最小化按钮最小化按钮Minimize Button边框边框Border控制框控
10、制框Control Box标题标题Caption最大化按钮最大化按钮Maximize Button关闭按钮关闭按钮Close Button窗体的组成窗体的组成客户区客户区(2)调整控件大小及位置)调整控件大小及位置Visual Basic 程序书写规范程序书写规范1 分行书写分行书写:程序以语句为单位,一条语句占一行:程序以语句为单位,一条语句占一行。如果语句太长,可以分为连。如果语句太长,可以分为连续的多行书写,这时,未完的行要以续的多行书写,这时,未完的行要以空格与下划线空格与下划线(称为续行符)结尾。注意分(称为续行符)结尾。注意分行时要避开关键字、对象名、过程名。行时要避开关键字、对象
11、名、过程名。如:如:lblMyFirst.Caption= lblMyFirst.Caption _+123132 一行中写多条语句一行中写多条语句:要在一行中定多条语句,可在一行中的多条语句之间插入:要在一行中定多条语句,可在一行中的多条语句之间插入冒号冒号作为分隔。作为分隔。如:如:txtFirst.Text=“Hello” : frmOpen.Top=1000 : frmOpen.Left=1200 3 注释:注释:可在程序中加入以可在程序中加入以单引号单引号开头的解释性的文字,单引号为注释符号,这开头的解释性的文字,单引号为注释符号,这些文字为注释。注释不是代码的一部分,是不被执行的。
12、注意:在续行符后不能些文字为注释。注释不是代码的一部分,是不被执行的。注意:在续行符后不能写注释。写注释。Rem是专门的注释关键字,用法同单引号。是专门的注释关键字,用法同单引号。如:如: 这是这是1999年年3月月11日编写的日编写的txtMy.Text = “您好!您好!” 在文本框中向用户问好在文本框中向用户问好练习:练习:判断下列语句的正误:判断下列语句的正误:1 Private Sub frmFirst_Click()2 txt1.Text + txt2.Text = txt3.Text3 cmdAdd.Name = cmdSub4 lbl1.Text = txt1.Text5 fr
13、m.First.Move,1000,1000,2000,12006 lbl1.Caption= txt1.Text17 lbl1.Caption = 你好你好 8 12Label.Caption= 1234左边全部错误,正确应为:左边全部错误,正确应为:1 Private Sub Form_Click()2 txt3.Text = txt1.Text + txt2.Text3 Name为只读属性。为只读属性。4 标签控件无标签控件无Text属性属性5 frmFirst.Move 1000,1000,2000,12006 lbl1.Caption= txt1.Text7 lbl1.Caption
14、 = “你好你好“ 8 对象名不正确。对象名不正确。在在Visual Basic中,开发一个应用程序有如下主要步骤:中,开发一个应用程序有如下主要步骤:1预备工作。明确任务,进行结构与算法设计;预备工作。明确任务,进行结构与算法设计;2 建立界面。包括窗体及控件;建立界面。包括窗体及控件;3 设置属性。设置窗体及控件的属性;设置属性。设置窗体及控件的属性;4 编写代码。编写各事件过程,不断调试、改错,实现程序预计的功能;编写代码。编写各事件过程,不断调试、改错,实现程序预计的功能;5 编译为可执行文件。编译为可执行文件。开发应用程序的主要步骤:开发应用程序的主要步骤:Visual Basic中
15、的工程:中的工程:Visual Basic将用来构造一个应用程序的所有文件称为一个工程。一个工程通将用来构造一个应用程序的所有文件称为一个工程。一个工程通常包括以下几种文件。常包括以下几种文件。1 一个工程文件一个工程文件(.vbp),用来管理该工程的所有部件。,用来管理该工程的所有部件。2 窗体文件窗体文件(.frm),与工程中的每一个窗体相对应。,与工程中的每一个窗体相对应。3 .frx文件,与每一个包含图形属性的文件,与每一个包含图形属性的.frm文件相对应。文件相对应。4 类模块文件类模块文件(.cls),对应于工程中建立的新的类。,对应于工程中建立的新的类。5 标准模块文件标准模块文
16、件(.bas),用来存放标准模块代码。,用来存放标准模块代码。6 包含包含ActiveX的的(.ocx)文件文件7 资源文件资源文件(.res)特征特征名字名字 = 毛毛毛毛品种品种 = 狼狗狼狗身长身长 = 1.4米米颜色颜色 = 白色白色年龄年龄 = 5岁岁 行为行为跑跑叫叫吃食吃食摇尾巴摇尾巴伸舌头伸舌头 .可识别的外部事件可识别的外部事件见到生人见到生人天热天热面向对象编程的概念面向对象编程的概念特征特征姓名姓名 = 张三张三性别性别 = 男男身高身高 = 1.7米米国藉国藉 = 中国中国年龄年龄 = 25岁岁 行为行为跑步跑步学习学习 笑笑 唱歌唱歌 对外界的反映对外界的反映遇到高兴
17、的事情遇到高兴的事情 下课了下课了.属性属性Property方法方法Method事件事件Event窗体窗体(Form)对象的常用属性对象的常用属性Name:对象名。必须以字母开头,不能多于:对象名。必须以字母开头,不能多于40个字符,可以包含字母、数字和下划线,个字符,可以包含字母、数字和下划线,不能包括标点和空格。不能与其它公共对象重名,可以与关键字相同,但应避免。建议不能包括标点和空格。不能与其它公共对象重名,可以与关键字相同,但应避免。建议为窗体对象名加上为窗体对象名加上“frm”前缀。前缀。Caption:显示在窗体标题栏上的文字。:显示在窗体标题栏上的文字。BorderStyle:边
18、框类型。决定窗体是否可缩放、标题栏是正常还是窄、是否在任务栏上:边框类型。决定窗体是否可缩放、标题栏是正常还是窄、是否在任务栏上出现等。该属性对出现等。该属性对MinButton、MaxButton属性的设置有影响。属性的设置有影响。ControlBox:窗体是否有图标、系统菜单和最大化、最小化与关闭按钮。:窗体是否有图标、系统菜单和最大化、最小化与关闭按钮。Icon:窗体图标。与一图标文件相联系。如为:窗体图标。与一图标文件相联系。如为“无无”则使用默认图标。则使用默认图标。Visible:窗体是否可见,:窗体是否可见,True或或 False。窗体窗体(Form)对象的常用属性对象的常用属
19、性MaxButton与与MinButton:是否显示最大化与最小化按钮,值为是否显示最大化与最小化按钮,值为True或或False。只有二。只有二者均为者均为False时才不显示,否则设为时才不显示,否则设为False者只以无效显示。者只以无效显示。Left、 Top:窗体相对于屏幕的位置。坐标值的默认单位是缇窗体相对于屏幕的位置。坐标值的默认单位是缇(twip),1缇等于缇等于1/567厘厘米。米。Width 、Height :窗体的宽度与高度。默认单位也是缇窗体的宽度与高度。默认单位也是缇twips。对象的每个属性反映了该对象某个方面的特性。同一个对象的不同属性之间可能相互影对象的每个属性
20、反映了该对象某个方面的特性。同一个对象的不同属性之间可能相互影响。程序设计阶段可以在属性窗口中对属性的值进行设置,(有些属性不能在设计时设响。程序设计阶段可以在属性窗口中对属性的值进行设置,(有些属性不能在设计时设置;有些属性的设置只有在运行时才反映出来)。在程序进行过程中,程序代码可以读置;有些属性的设置只有在运行时才反映出来)。在程序进行过程中,程序代码可以读取或重新设置属性的值。有一些属性的值只能在设计阶段设置,程序运行过程中这些属取或重新设置属性的值。有一些属性的值只能在设计阶段设置,程序运行过程中这些属性是只读的。在程序中对对象的属性进行存取要以如下格式:性是只读的。在程序中对对象的
21、属性进行存取要以如下格式:“对象名对象名.属性名属性名”。如:。如:frmFirst.Height = 1200窗体窗体(Form)对象的常用方法对象的常用方法Move方法,语法为:方法,语法为:object.Move left, top, width, height该方法将该方法将 object 对象移动到以对象移动到以 left, top 定义的新位置。同时可以改变该对象的大小(以定义的新位置。同时可以改变该对象的大小(以 width , height为新的宽与高)。其中为新的宽与高)。其中 left 参数必须给定。参数必须给定。但是,要给定任何其它的参数,但是,要给定任何其它的参数,必须
22、先给定出现在语法中该参数前面的全部参数。必须先给定出现在语法中该参数前面的全部参数。例:设例:设frmFirst为一窗体对象名。为一窗体对象名。frmFirst.Move 1000,1000,1200,2000 既移动位置,又改变大小既移动位置,又改变大小frmFirst.Move 1000,1000只移动只移动frmFirst.Move 1000只左右移动只左右移动frmFirst.Move 1000, ,1200错误,缺少参数错误,缺少参数窗体窗体(Form)对象的常用方法对象的常用方法Move方法同时改变了方法同时改变了Left, Top, Width与与Heigth属性的值。效果与分别
23、设置这些属性的属性的值。效果与分别设置这些属性的值等效。值等效。Hide方法,语法为:方法,语法为:object.Hide此方法将此方法将object对象隐藏,并将其对象隐藏,并将其Visible属性设置为属性设置为 False。窗体被隐藏之后,就不能。窗体被隐藏之后,就不能响应用户的操作。该方法无参数。响应用户的操作。该方法无参数。某些方法的执行改变一些属性的值,有些方法的执行结果可能受一些属性的影响。方法某些方法的执行改变一些属性的值,有些方法的执行结果可能受一些属性的影响。方法的执行可能等效于对一些属性的修改。的执行可能等效于对一些属性的修改。窗体窗体(Form)常用常用的事件的事件事件
24、是对象能够识别的外部刺激,该刺激既可能来自于用户,也可能来自于操作系统。事件是对象能够识别的外部刺激,该刺激既可能来自于用户,也可能来自于操作系统。Click事件:事件:当用户在窗体上(除标题栏和边框)单击鼠标左键或右键时引发。当用户在窗体上(除标题栏和边框)单击鼠标左键或右键时引发。Click事件过程:事件过程:当对象接收到当对象接收到Click事件时所执行的代码。窗体的事件时所执行的代码。窗体的Click事件语法:事件语法:Private Sub Form_Click()(语句)(语句)End Sub用户可以把想让对象对该事件所做的反应以用户可以把想让对象对该事件所做的反应以VB语句的形式
25、写在事件过程中。语句的形式写在事件过程中。窗体窗体(Form)常用常用的事件的事件DblClick事件:事件:当用户在窗体上(除标题栏和边框)快速双击鼠标键时引发。当用户在窗体上(除标题栏和边框)快速双击鼠标键时引发。DblClick事事件过程:接收到件过程:接收到DblClick事件时执行的代码,事件时执行的代码,DblClick过程语法格式:过程语法格式:Private Sub Form_DblClick()(语句)(语句)End SubVB编程是面向对象的,同时也是以事件驱动的。编程是面向对象的,同时也是以事件驱动的。Resize事件:事件:当窗体因任何原因大小发生变化时(或第一次显示窗
26、体时)引发引事件。当窗体因任何原因大小发生变化时(或第一次显示窗体时)引发引事件。在拖动边框窗体改变大小时,会连续引发多个在拖动边框窗体改变大小时,会连续引发多个Resize事件。事件。命令按钮控件命令按钮控件(CommandButton)的常用属性的常用属性Left、 Top:命令按钮在窗体上的位置。坐标值的默认单位是缇。:命令按钮在窗体上的位置。坐标值的默认单位是缇。Width 、Height :按钮的宽度与高度。默认单位也是缇。:按钮的宽度与高度。默认单位也是缇。Caption:显示在按钮表面上的文字。:显示在按钮表面上的文字。可以使用可以使用“&”字符与其后的字母组成快捷键。字符与其后
27、的字母组成快捷键。Visible:该按钮是否可见。:该按钮是否可见。True 或或False。Enabled:该按钮是否可用。:该按钮是否可用。True 或或False。Name:对象名。要符合:对象名。要符合VB对对象名的要求。建议为按钮对象名加上对对象名的要求。建议为按钮对象名加上“cmd”前前缀。缀。Value:将该属性设为将该属性设为True可以触发按钮对象的可以触发按钮对象的Click事件事件。只能在运行时设置。只能在运行时设置。Default:若该属性为若该属性为True,则按钮对象为默认按钮,则按钮对象为默认按钮。不管焦点在哪个控件上,不管焦点在哪个控件上,用户按回车键,均触发按
28、钮的用户按回车键,均触发按钮的Click事件。默认按钮有较粗的边框。一个窗体上事件。默认按钮有较粗的边框。一个窗体上只能有一个按钮的只能有一个按钮的Default属性为属性为True。Cancel:若该属性为若该属性为True,则按钮对象为默认的,则按钮对象为默认的“取消取消”按钮按钮。不管焦点在哪不管焦点在哪个控件上,用户按个控件上,用户按“ESC”键,均触发按钮的键,均触发按钮的Click事件。事件。命令按钮控件命令按钮控件(CommandButton)的常用方法与事件的常用方法与事件Move方法,方法,语法为:语法为:object.Move left, top, width, heigh
29、t该方法将该方法将 object 对象移动到以对象移动到以 left, top 定义的新位置。同时可以改变该对象的大小(以定义的新位置。同时可以改变该对象的大小(以 width , height为新的宽与高)。其中为新的宽与高)。其中 left 参数必须给定。参数必须给定。但是,要给定任何其它的参数,但是,要给定任何其它的参数,必须先给定出现在语法中该参数前面的全部参数。必须先给定出现在语法中该参数前面的全部参数。命令按钮控件命令按钮控件(CommandButton)的常用方法与事件的常用方法与事件Click事件事件:当用户在按钮表面上单击鼠标左键产生:当用户在按钮表面上单击鼠标左键产生Cli
30、ck事件。另外下列方法也事件。另外下列方法也能触发按钮的能触发按钮的Click事件:事件:1 用用Tab键把焦点移动到该按钮上,然后按空格或回车键。键把焦点移动到该按钮上,然后按空格或回车键。2 按快捷键(按快捷键(Alt + 具有下划线的字母)具有下划线的字母)3 如为窗体的缺省按钮,按回车键。如为窗体的缺省按钮,按回车键。4 如为窗体的默认如为窗体的默认“取消取消”按钮,按按钮,按ESC键。键。5 在运行阶段设置属性:在运行阶段设置属性:object.Value = TrueClick事件过程:事件过程:当对象接收到当对象接收到Click事件时所执行的代码。按钮的事件时所执行的代码。按钮的
31、Click事件语事件语法:法:Private Sub object_Click()(语句)(语句)End Sub命令按钮对象不支持鼠标双击事件。命令按钮对象不支持鼠标双击事件。文本框文本框(TextBox)的常用属性的常用属性Left、 Top、Width 、Height、Visible、Enabled 属性与命令按钮的意义相属性与命令按钮的意义相同同。Name:对象名。要符合:对象名。要符合VB对对象名的要求。建议为文本框对象名加上对对象名的要求。建议为文本框对象名加上“txt”前前缀。缀。Text:显示在文本框中的文本内容。:显示在文本框中的文本内容。MaxLength:限制限制文本框中的
32、文本的最大长度(字符数)。一个汉字为一个字文本框中的文本的最大长度(字符数)。一个汉字为一个字符。如果为符。如果为0,则长度只受系统限制。,则长度只受系统限制。MultiLine:为为True时,时,文本框中可以显示多行内容,最多可包含文本框中可以显示多行内容,最多可包含32K个字符。个字符。False时,忽略换行符,最多可包含时,忽略换行符,最多可包含2048。PasswordChar属性属性设置口令字符。设置口令字符。ScrollBars:设置设置文本框的滚动条,有四个值。当窗体上有默认按钮时,文本框的滚动条,有四个值。当窗体上有默认按钮时,Ctrl-Enter在文本框中插入回车符。只有在
33、文本框中插入回车符。只有MultiLine属性为属性为True时,此属性才有意义。时,此属性才有意义。SelLength、 SelStart、 SelText:分别为当前选定文本的长度、选定文本的起分别为当前选定文本的长度、选定文本的起始位置(以始位置(以0为起点)与选定文本的内容。这三属性只在运行时使用。为起点)与选定文本的内容。这三属性只在运行时使用。Appearance:文本框是平面的还是立体:文本框是平面的还是立体的。的。Alignment:文本框中文本相对与文本框的对齐方式。:文本框中文本相对与文本框的对齐方式。MultiLine应设为应设为True。文本框文本框(TextBox)的
34、常用方法与事件的常用方法与事件Move方法、方法、Click事件:事件:与命令按钮控件相同与命令按钮控件相同。DblClick事件事件:与窗体相同。:与窗体相同。Change事件事件:当文本框的内容发生改变时所执行的代码。文本框:当文本框的内容发生改变时所执行的代码。文本框Change事件事件语法:语法:Private Sub object_Change()(语句)(语句)End Sub标签标签(Label)的常用属性的常用属性Left、 Top、Width 、Height、Visible、Enabled 属性与命令按钮的意义相属性与命令按钮的意义相同同。Name:对象名。要符合:对象名。要符
35、合VB对对象名的要求。建议为标签对象名加上对对象名的要求。建议为标签对象名加上“lbl”前缀。前缀。AutoSize:标签大小是否随显示的内容变化。标签大小是否随显示的内容变化。WordWrap:当当AutoSize属性设为属性设为True时,当标签显示的内容增加时,它是如时,当标签显示的内容增加时,它是如何扩展。何扩展。True:垂直扩展,文字换行。:垂直扩展,文字换行。False:水平扩展。:水平扩展。BorderStyle:当此属性为:当此属性为True时,标签有边框。默认值为时,标签有边框。默认值为False,即无边框。,即无边框。Caption:标签上显示的文字内容。可以使用标签上显
36、示的文字内容。可以使用“&”来为标签创建快捷键。标签来为标签创建快捷键。标签本身并不能拥有输入焦点。当用户按快捷键时,本身并不能拥有输入焦点。当用户按快捷键时,会把焦点传递给会把焦点传递给Tab键次序中下键次序中下一个可拥有焦点的控件。一个可拥有焦点的控件。标签控件标签控件Caption属性的值不能由用户直接修改,可以由程序修改。属性的值不能由用户直接修改,可以由程序修改。标签标签(Label)的常用方法和事件的常用方法和事件Move方法、方法、Click事件、事件、DblClick事件与事件与Change事件事件。标签可以用来对其它没有标题的控件(如文本框)进行说明,也可用来显示一些标签可以
37、用来对其它没有标题的控件(如文本框)进行说明,也可用来显示一些程序运行过程中的提示信息。标签对象显示的内容不能由用户直接修改,但由程程序运行过程中的提示信息。标签对象显示的内容不能由用户直接修改,但由程序代码修改。标签对象能响应序代码修改。标签对象能响应Click、DblClick事件,也能响应通过程序修改其事件,也能响应通过程序修改其内容而引发的内容而引发的Change事件。事件。例子:例子: 姓名姓名 学号学号 出生日期出生日期 数学数学 语文语文 英语英语“变量变量”与与“数据类型数据类型”变量变量:在程序执行中存储临时数据的内存单元。:在程序执行中存储临时数据的内存单元。变量名变量名:
38、每一个变量均有一变量名,在:每一个变量均有一变量名,在VB中变量有如下命名规则:中变量有如下命名规则:1 以字母开始,可以包括下划线;以字母开始,可以包括下划线;2 不能包含标点符号;不能包含标点符号;3 不能多于不能多于255个字符;(控件、窗体名最多不超过个字符;(控件、窗体名最多不超过40字符)字符)4 不能与保留关键字重复。(如:不能与保留关键字重复。(如:End、Private、Sub)5 在同一作用域中,变量名不能重复。在同一作用域中,变量名不能重复。变量的类型:变量的类型:变量的数据类型是指一个变量能够存贮的数据的类型,不同类型的变量的数据类型是指一个变量能够存贮的数据的类型,不
39、同类型的数据在计算机的内存中存贮方式不同。在定义一个变量前应根据它的用途决定应数据在计算机的内存中存贮方式不同。在定义一个变量前应根据它的用途决定应该采用什么类型。该采用什么类型。,。对于字符型变量,对于字符型变量,VB中分为定长和变长两种。中分为定长和变长两种。例如:例如:Dim Name as string,Id as string*10变量的类型:变量的类型:1 数值型数值型 2 字节型字节型 3 字符串型字符串型 4 逻辑型逻辑型5 日期时间型日期时间型 6 变体型变体型 一、数值型一、数值型数值类型是一个大类,它包括以下具体的类型:数值类型是一个大类,它包括以下具体的类型:1 Int
40、eger(整型):(整型):该类型的变量占用该类型的变量占用2个字节的内存空间,可以存放个字节的内存空间,可以存放 -32768到到32767之间的值。之间的值。2 Long(长整型):(长整型):4个字节,个字节,-2147483648 到到 2147483647 。3 Single(单精度浮点型):(单精度浮点型): 4个字节,个字节,-3.402823E38 到到 3.402823E38。4 Double(双精度浮点型):(双精度浮点型): 8个字节,个字节, -1.79769313486232E308 到到 1.79769313486232E308, 5 Currency(货币型(货币
41、型 ):):该类型用该类型用8个字节的内存来存贮对精度要求很个字节的内存来存贮对精度要求很高的值,货币型数据最多可以包含高的值,货币型数据最多可以包含15位整数和位整数和4位小数。位小数。 -922337203685477.5808 到到 922337203685477.5807。应根据变量所要。应根据变量所要存放值的不同来决定使用什么类型。表示数据范围大、精度高的类型所存放值的不同来决定使用什么类型。表示数据范围大、精度高的类型所占用的内存大、操作速度慢。占用的内存大、操作速度慢。二、二、 Byte(字节字节型):型):该类型的变量占用该类型的变量占用1个字节的内存空间,可以表个字节的内存空
42、间,可以表示示0到到255之间的无符号数。因为它的数据不受格式转换的影响,所以字之间的无符号数。因为它的数据不受格式转换的影响,所以字节型的变量常用来存放每一个二进制位都具有特殊意义的二进制信息。节型的变量常用来存放每一个二进制位都具有特殊意义的二进制信息。如何声明一个变量:如何声明一个变量:Dim语句:语句:Dim 变量名变量名 As 类型名类型名如:如:Dim a As Integer (声明)(声明): a = 1002 (赋值)(赋值)Dim b As Long (声明)(声明): b=-2034043 (赋(赋值)值)Dim Number1 As double (声明)(声明): N
43、umber1= -134.45 (赋(赋值)值)Dim Number2 As Byte (声明)(声明): Number2=122 (赋值)(赋值)Dim Number3 As Single (声明)(声明): Number3= 134.45 (赋(赋值)值)浮点数的精度浮点数的精度单精度浮点类型与双精度浮点类型变量虽然可以表示绝对值很大的值,但是它的单精度浮点类型与双精度浮点类型变量虽然可以表示绝对值很大的值,但是它的精度却不高,单精度值的有效数字为精度却不高,单精度值的有效数字为7位,双精度值的有效数字为位,双精度值的有效数字为15位。位。例如,下面程序会在文本框中输出:例如,下面程序会在
44、文本框中输出:0.3333333。Dim sng1 As Singlesng1 = 1/3Text1.Text = sng1下面的程序在文本框中输出:下面的程序在文本框中输出:0Dim sng1 As Single, sng2 As Singlesng1 = 0.123456789sng2 = 0.123456788Text1.Text = sng1 - sng2三、三、String(字符串型)(字符串型)字符串型的变量用来存放文字信息。字符串型变量又分为字符串型的变量用来存放文字信息。字符串型变量又分为定长字符串定长字符串和和变长字符变长字符串串两类。两类。变长字符串定义:变长字符串定义:D
45、im str1 As String (定义)(定义): str1=“你好!你好!“ (赋值赋值) 定长字符串的定义:定长字符串的定义:Dim str2 As String*4 (定义定义) str2=“你好吗?你好吗?”(赋值赋值)str2=“我今天很好!我今天很好!”(赋值,会被截尾)赋值,会被截尾)一个定长字符串变量所占的内存空间是一定的,当其中的字符信息一个定长字符串变量所占的内存空间是一定的,当其中的字符信息没达到这个长度时,所剩的空间用户没达到这个长度时,所剩的空间用户“空格空格“填充。如果给定长字符串填充。如果给定长字符串变量赋一个超过其长度的字符串,会被截掉多余部分。变量赋一个超
46、过其长度的字符串,会被截掉多余部分。变长字符串变量所占的内存会随所赋的字符串的长度而变化。除所变长字符串变量所占的内存会随所赋的字符串的长度而变化。除所保存的字符串外,还包括保存的字符串外,还包括10个额外的字节用来存放字符数等其它信息。个额外的字节用来存放字符数等其它信息。变长字符串最多可包含大约变长字符串最多可包含大约 20 亿亿 ( 231)个字符。定长字符串可包含个字符。定长字符串可包含 1 到大约到大约 64K ( 216 ) 个字符(当然还受定义的大小限制)。个字符(当然还受定义的大小限制)。四、四、Boolean(逻辑型、布尔型)(逻辑型、布尔型)该类型的变量用来存放该类型的变量
47、用来存放“是与否是与否”、“开与关开与关”、“对与错对与错”这样的信息。这样的信息。逻辑型的变量只能有逻辑型的变量只能有True和和False两个取值。虽然两个取值。虽然“是是”与与“否否”可以使用一个可以使用一个二进制位来表示,但一个逻辑变量却要占二进制位来表示,但一个逻辑变量却要占2个字节内存。个字节内存。Dim yesno As Boolean : yesno= True五、五、Date(日期时间型)(日期时间型)该类型的变量专门用来存放日期和时间数据。该类型的变量专门用来存放日期和时间数据。Date 变量用变量用 8 个字节来表示个字节来表示的日期(从的日期(从 100 年年 1 月月
48、 1 日到日到 9999 年年 12 月月 31 日)和时间(从日)和时间(从 0:00:00 到到 23:59:59)。任何可辨认的日期文本都可以赋值给)。任何可辨认的日期文本都可以赋值给 Date 变量。日期文字须以变量。日期文字须以“#” 井号括起来,例如,井号括起来,例如,#January 1, 1993 12:20:20# 、 #1 Jan 93#和和#9:23 PM#。Dim time As Date : time = #2/1/98 12:23#有时,有时,VB会猜测编程者的意图,对已输入的日期文字格式自动作一些修改。会猜测编程者的意图,对已输入的日期文字格式自动作一些修改。变量
49、被定义之后,在第一次赋值之前,并不是没有值的,而是具有变量被定义之后,在第一次赋值之前,并不是没有值的,而是具有默认值。默认值。所有数值型(包括字节型)变量的默认值均为所有数值型(包括字节型)变量的默认值均为 0 ;字符串变量的默认值为空字符串字符串变量的默认值为空字符串“”“”;逻辑型变量的默认值为逻辑型变量的默认值为False;日期型变量的默认值为日期型变量的默认值为#0:00:00#。变量的命名约定变量的命名约定 不同类型的变量在命名时要冠以不同的前缀:不同类型的变量在命名时要冠以不同的前缀:BooleanblnBytebytCurrencycurDatedtmDoubledblInte
50、gerintLonglngSinglesngStringstr六、六、 Object(对象型)(对象型)对象型变量占用对象型变量占用4个字节共个字节共32位的内存空间,保存的是某一个对象的引用位的内存空间,保存的是某一个对象的引用(即内存中的地址),程序对对象型变量的操作等于对它所引用对象的操作。(即内存中的地址),程序对对象型变量的操作等于对它所引用对象的操作。对对象型变量赋值要用对对象型变量赋值要用Set语句。对象型变量在被定义但未被赋值时的值是语句。对象型变量在被定义但未被赋值时的值是一个特殊值:一个特殊值:Nothing。例:例: Dim objFirst As Object (定义)