《VB编程完整版课件全套ppt教学教程电子教案讲义最全(最新).ppt》由会员分享,可在线阅读,更多相关《VB编程完整版课件全套ppt教学教程电子教案讲义最全(最新).ppt(590页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章VB程序概述,1.1 VB概述 1.2 基本概念 1.3 集成开发环境,1.1概述, VB的发展历程,Visual BASIC语言是从最初的BASIC语言上发展而来的,是专门为初学者设计的计算机语言。BASIC语言于1964年问世。 1987年Microsoft公司开发了Quick BASIC, Visual BASIC是Microsoft公司在Quick BASIC的基础上为开发Windows应用程序而提供的强有力的开发环境和工具,是具有很好的图形用户界面(Graphic User Interface,简称GUI)的程序设计语言。,1.1概述, VB的特点,1.可视化的程序设计工具 传
2、统程序设计语言编程时,需要通过编程计算来设计程序界面,在设计过程中看不到程序的实际显示效果,必须在运行程序的时候才能界面的设计效果。如果对程序的界面不满意,还要回到程序中去修改,这一过程反复多次会大大影响编程的效率。VB提供的可视化的设计平台,在界面设计时,利用提供的“工具箱”直接把各种工具放入用户界面,“工具箱”中放的是被称之为“控件”的工具。程序员不必再为界面的设计而编写大量的程序代码,只需按设计的要求,用系统提供的工具在屏幕上“画出”各种对象,VB自动产生界面设计代码,程序员所需要编写的只是实现程序功能的那部分代码,从而大大提高了编程的效率。,2.面向对象的程序设计方法 对象是指具体的实
3、体,在VB编程中对象就是用户界面上的每个实体,例如按钮、菜单、文本框等都是“实体”。VB采用的面向对象的编程方法实际上就是对这些对象的操作,不同的对象赋予它不同的功能。例如有两个文本框,一个用于输入数据,一个用于显示计算后的数据,这是两个不同的对象,完成的功能也不相同,在编程时就需要对其编写不同的程序代码,这种编程的思想和方法就是面向对象的程序设计方法。,1.1概述, VB的特点,3.事件驱动机制 对于一个对象来说,它一般能够响应一些操作。比如对于一个按钮来说,可以单击也可以双击,那么它对于单击或双击会有什么样的反应,即如何响应单击或双击这样的操作,这就依赖于我们分别对“单击”和“双击”事件所
4、编写的不同程序代码。VB中采用的事件驱动机制就是一个事件的发生能够驱动一段代码的执行,从而完成某对象的某个功能。,1.1概述, VB的特点,4.开放的数据库功能与网络支持 VB具有很强的数据库管理功能,能够访问包括Microsoft SQL Server和其他企业数据库在内的大部分数据库格式和前端应用程序。同时它也具有较强的网络支持,在应用程序内很容易通过Internet访问文档和应用程序。VB提供的网络设计工具使用户可以在VB中开发多功能的网络应用软件。,1.1概述, VB的特点,1.对象 对象是具有某些特性的事务的具体描述。每个对象都具有描述它自身特征的属性及行为与方法,这些自身的属性中既
5、有它区别于其他对象的特征,也有一些与其他对象相同的特性。例如一个人、一张桌子等都是一个对象,在VB中,窗体、控件都是对象,它们有自己的属性和方法,能够通过触发特定的事件过程响应外部事件。,1.2 程序设计的基本概念,2.属性 属性就是对象的特征,例如对象的名字、大小、颜色等都是属性。每种对象都有一组特定的属性,这些属性可以在设计时的属性窗口进行设置。不同的对象有不同的属性,一般说来,属性窗口中的每个属性都有一个默认值,在设计时可以对默认值进行修改以更改对象的特性。属性的修改或设置有两种方法: 在设计阶段通过属性窗口进行设置 在运行阶段通过写入代码来修改 通过代码设置属性的一般格式如下: 对象名
6、.属性名属性值,1.2 程序设计的基本概念,3. 方法 对象的方法就是对象可以进行的操作。对象的方法可能是函数,也可能是过程,主要用于完成特定的功能,这给用户编程提供了很大的便利。例如窗体有Print方法,它是用来在窗体上进行打印的,调用该方法时就能够在完成在窗体上进行打印这个动作。方法只能在代码中使用,其用法依赖于方法所需的参数个数及它是否具有返回值,当方法没有参数也没有返回值时,调用格式如下: 对象名.方法名,1.2 程序设计的基本概念,4.事件 事件就是对象上发生的事情。在VB中,系统实现定义好了一系列事件,这些事件能够直接被系统所识别,例如单击(Click)事件、双击(DblClick
7、)事件、加载(Load)事件等,不同的对象能够识别不同的事件。这些事件可由系统所识别,但不一定能产生结果,即不编写相应的事件过程对象就不能作出相应的响应。,1.2 程序设计的基本概念,Visual Basic的启动常用的方式有两种:一种是通过双击桌面上的快捷方式,另一种是单击桌面左下角的“开始”菜单中的“程序”,在弹出的应用程序列表中找到“Microsoft Visual Basic6.0 中文版”单击该命令即可启动Visual Basic。,1.3 Visual Basic集成开发环境的组成, Visual Basic的启动与退出,单击图1-1中的“打开”命令后,打开的集成环境如图1-2所示
8、。,1.3 Visual Basic集成开发环境的组成, Visual Basic 环境组成,1.3 Visual Basic集成开发环境的组成, Visual Basic的集成开发环境,标题栏 菜单栏 工具栏 工具箱 窗体设计器 工程资源管理器窗口 属性窗口 代码窗口 立即窗口 窗体布局窗口,1.4 Visual Basic可视化编程步骤,例 【1-1】 设计学生管理系统中的用户登录界面,界面上有2个文本框、两个命令按钮和3个标签,如图1-15所示。首先在两个文本框中输入用户名和密码,然后单击“确定”按钮,系统会根据输入的用户名和密码判断是否允许进入系统。,1.4 Visual Basic可
9、视化编程步骤,完成此程序步骤如下: 1. 新建工程:启动VB6.0应用程序,选择“标准EXE”并单击“打开”按钮。 2. 设计界面:向窗体中添加控件。如图1-16所示,在窗体Form1中依次添加2个文本框Text1和Text2,两个命令按钮Command1和Command2,3个标签Label1Label3。,3. 设置属性:先选中文本框Text1,在“属性窗口”找到Text属性,将该属性后的属性值删除,同样的操作删除Text2中的Text属性值Text2,修改Text1的“名称”属性为txtUserID,修改Tex2的“名称”属性为txtPassword;对命令按钮Command1和Comm
10、and2,修改二者的Caption属性,将Command1的Caption值设置为“确定”,将其“名称”属性设置为cmdOk,同样的方式将Command2的Caption属性设置为“取消”,“名称”属性设置为cmdCancel;对于3个标签控件Label1Label3,把Label1的Caption属性修改为“学生信息管理系统”,并找到Font属性,单击后面的空白出,这时会出现一个小按钮“”,点击该按钮,从弹出的对话框中选择字体“华文彩云”、粗体,字体大小为17即可。,1.4 Visual Basic可视化编程步骤,4. 编写代码:双击命令按钮Command1进入“代码窗口”,分别编写Comm
11、and1和Command2的单击Click事件如下: Private Sub cmk0k_Click() If LCase(txtUserID.Text) = admin And LCase(txtPassword.Text) = 123456 Then Unload Me 如果用户名是admin,密码是123456,那么卸载本窗体 Form2.Show 显示窗体Form2 End If End Sub Private Sub cmdCancel_Click() Unload Me 卸载本窗体 End Sub 说明:事件过程的首尾两行是系统自动给出的代码,不必手动书写。,1.4 Visual
12、Basic可视化编程步骤,5. 调试运行:单击工具栏上的“启动”按钮,或者单 击“运行”菜单下的“启动”按钮,即可进入运行状态。 如果程序有错误,可单击工具栏中的“中断”按钮 进行调试,如果要在某一行设置断点进行调试,可 以在这一行代码左侧单击,即可出现一个小圆点, 这就是设置了断点,同样的方法可以取消断点。 结束运行状态可以单击工具栏中的“结束”按钮。,1.4 Visual Basic可视化编程步骤,6. 保存工程:程序调试完毕后就可以保存工程了,单击工具栏中的“保存工程”按钮或单击“文件”菜单下的“保存工程”都可以将程序保存下来。对于我们这个例子来说,单击“保存工程”按钮后,系统会弹出如图
13、1-17所示的两个对话框,分别保存窗体文件和工程文件。,1.4 Visual Basic可视化编程步骤,第2章 简单的Visual Basic程序设计,2.1 窗体 2.2 基本控件 2.3 程序编码规则 2.4 基本语句,2.1 窗体,窗体也称作表单(Form),是一种特定的类,它用于定义一个窗口。窗体是设计VB应用程序的基本平台,几乎所有的控件都是添加在窗体上的,大多数应用程序也是由窗体开始执行的。 窗体的结构与Windows环境下的窗口很类似,程序运行前后都可以称为窗体。,2.1.1 窗体的属性,窗体属性决定了窗体的外观、位置和行为等。设置窗体属性可以在程序设计时在属性窗口中手工设置,也
14、可以在程序运行时由代码实现。大部分属性及可以通过属性窗口设置,也可以通过程序代码设置,而有些属性只能用属性窗口或代码设置。通常把只能通过属性窗口设置的属性称为“只读属性”。 窗体的属性很多,以下列出了窗体的常用属性以及相应的说明。,2.1.1 窗体的属性, Name属性,Name属性允许用户给窗体设置合适的名字,一个新窗体的缺省名是窗体Form加上一个特定的整数。例如,第一个新窗体是Form1。窗体不能用系统中的关键字来命名,否则可能在用户的代码中引起冲突。引用窗体的Name属性的语法形式为: Form1.Name 其中Form1为窗体名。, Caption属性,Caption属性决定窗体标题
15、栏中显示的文本。当用户创建一个新窗体时,其标题栏的缺省值也是窗体Form加上一个特定的整数,例如Form1等。引用窗体的Caption属性的语法是: Form1.Caption,2.1.1 窗体的属性, BorderStyle属性,BorderStyle属性可以控制窗体边界类型及是否可以调整大小,缺省值是2。允许用户通过窗体边缘的热点改变窗体的大小和形状。在代码中引用BorderStyle属性的方法是: Form1.BorderStyle=【Value】 当Value值是0时,设置窗体无框架; Value值为1时,设置窗体不可调整大小且具有单线框架; Value值为2时,设置窗体可调整大小且具
16、有双线框架; Value值为3时,设置窗体不可调整大小且具有双线框架。,2.1.1 窗体的属性, ControlBox属性,当用户运行应用程序时该属性有效,用来在窗体标题栏左边设置一个控制框,单击控制框显示一个控制菜单,有【最大化】、【最小化】、【关闭】等菜单选项。ControlBox属性缺省设置为True,能够使窗体显示控制框。当窗体的BorderStyle属性设置为0时控制框将不能显示。, BackColor和ForeColor属性,BackColor属性决定窗体的背景颜色,ForeColor属性决定窗体的前景颜色。引用这两种属性的语法是: Form1.BackColor=【Color】
17、Form1.ForeColor=【Color】,2.1.1 窗体的属性, AutoRedraw属性,AutoRedraw属性控制窗体图像的重建,可以设置为True或False。在其他窗口覆盖某窗口后,又返回该窗口时,如果将AutoRedraw属性设置为True,将自动刷新或者重画该窗体的所有图形。如果将该属性设置为False,则必须调用一事件过程来执行该项任务。此属性是使用图形方法如Circle、Point、Cls和Print的核心,设置AutoRedraw为True,可以在窗体中重画这些方法的输出。其默认值为False。,2.1.1 窗体的属性, Height和Width属性,Height属
18、性和Width属性可以确定窗体的初始高度和宽度,包括边框和标题栏。对于一个窗体,Height和Width属性随用户或代码确定的窗体大小而改变,它们的最大值由系统决定。, Left和Top属性,Left和Top属性根据屏幕左上角确定窗体的位置。Left属性确定窗体最左端和它的包容器最左端之间的距离;Top属性确定窗体最上端和它的包容器最上端之间的距离。通常Left和Top属性在一个窗体中总是成对出现,当用户或通过代码移动窗体时,这两个属性值都会随之改变。,2.1.1 窗体的属性, MaxButton和MinButton属性,MaxButton属性和MinButton属性决定窗体是否能最大化或最小
19、化。Maxbutton属性为True时,表明窗体有最大化按钮;为False时,表明窗体没有最大化按钮。MinButton属性为True时,表明窗体有最小化按钮;为False时,表明窗体没有最小化按钮。要显示最大化或最小化按钮,BoderStyle属性应设置为1或2。当一个窗体被最大化时,最大化按钮会自动变为恢复按钮。,2.1.1 窗体的属性, Enable属性,Enable属性决定窗体是否对用户产生的事件发生反应。该属性为True时,允许窗口对事件作出反应,为False时,禁止窗体对事件作出反应。, Visible属性,Visible属性确定窗体是被显示还是被隐藏。设置为True时,能够使窗体
20、可见;设置为False时,窗体将被隐藏。若要在启动时隐藏一个对象,可设置Visible属性为False。, FontSize属性,FontSize属性确定窗体中文本大小,缺省时由系统定义。用户想要改变字体,可以设置FontSize属性为不同的值。,2.1.2 窗体的事件, Click事件,如果说属性决定了对象的外观,方法决定了对象的行为,那么事件就决定了对象之间联系的手段。与窗体有关的事件主要有以下几种:, DbClick事件,在程序运行时单击窗体内某个位置,VB将调用Form_Click事件过程。如果单击的是窗体内的控件,这时只能调用相应控件的Click事件。,在程序运行时双击窗体内某个位置
21、,就触发了两个事件。第一次按动鼠标,触发Click事件,第二次按动鼠标时触发DblClick事件。,2.1.1 窗体的事件, Load事件,一旦装载窗体,启动应用程序就自动产生该事件,Load事件适用于在启动应用程序时对属性和变量的初始化。, UnLoad事件,卸载窗体时发生Unload事件。当该窗体在被装载时,它的所有控件都要重新初始化。这个事件是由用户动作(用控件菜单关闭窗体)或一个Unload语句触发的。, GotFocus、LostFocus事件,当窗体收到或失去焦点时,GotFocus或LostFocus事件会发生。,2.2 基本控件,在VB中设计窗口界面是通过使用窗体对象和各种控件
22、对象来完成的。控件用来获取用户的输入信息和显示输出信息。应用程序中可用的控件包括文本框、命令按钮和列表框等。每个控件都有一组属性、方法和事件 。,2.2.1 控件的基本概念,VB的控件在广义上分为三类:内部控件、ActiveX控件和可插入的对象。在本节中主要介绍内部控件,其它两类会在以后的章节中涉及到。 表2-1总结了VB工具箱中常用的内部控件。,2.2.1 控件的基本概念,表2-1 VB的内部控件,2.2.2 焦点的概念,焦点是接收用户鼠标和键盘输入的能力。当对象具有焦点时,可接受用户的输入。在Windows操作系统中,任一时刻可运行几个应用程序,但具有焦点的应用程序才有活动标题栏,才能接受
23、用户输入。再有几个TextBox的VB窗体中,只有具有焦点的TextBox才显示有键盘输入的文本。 当对象得到或失去焦点时,会产生GotFocus或LostFocus事件。对象得到焦点时发生GotFocus事件;对象失去焦点时发生LostFocus事件。窗体和大多数控件支持这两个事件。,2.2.3 标签(Label控件), Caption属性,Label控件用于在窗体或其它容器中显示文本。标签的内容是只读的,用户不能直接修改显示的内容。通常用标签来标注本身不具有Caption属性的控件。在编程中常用Label作为其它控件的标志,用来说明它们的意义或用法,还可以用于显示标题、说明性文字或帮助信息
24、等。可以编写代码改变Label控件显示的文本以响应运行时的事件。,用来改变Label控件中显示的文本。其允许的文本长度最多为1024个字符。缺省情况下,当文本超过控件宽度时,文本会自动换行,而当文本超过控件的高度时,超出部分将被裁掉。,2.2.3 标签(Label控件), Alignment属性,用于设置Caption中文本的对齐方式,共有3种可选值。如表2-2所示。,表2-2 Alignment属性的可选值,2.2.3 标签(Label控件), BackStyle属性,用于确定标签的背景是否透明。有两种可选值:值为0时,背景透明,标签后的背景和图形可见;值为1时,背景不透明,标签后的背景和图
25、形不可见。, Autosize和Wordwrap属性,Autosize属性确定标签是否会随标题内容的多少自动变化。值为True,则随Caption内容多少自动调整控件本身的大小,且不换行;值为False,表示标签的尺寸不能自动调整,超出尺寸范围的内容不予显示。Wordwrap属性用来设置当标签在水平方向上不能容纳标签中的文本时是否换行显示文本。值为True时,表示文本换行显示,标签在垂直方向上放大或缩小以适合文本的大小,标签水平方向的宽度保持不变;值为False时,表示文本不换行。,2.2.4 文本框(TextBox控件),文本框控件用来在运行时显示用户输入的信息,或者在设计或运行时,通过对控
26、件的Text属性赋值,作为信息输出的对象。, Text属性,该属性的值就是文本框控件内显示的内容。当文本内容改变时,Text属性也随之变化。通常,Text属性允许的最大字符数为2048。, MaxLength属性,该属性用于设置在文本框中允许输入的最大字符数,缺省值为0,表示字符数无限制;若给该属性赋一个具体的数值,该数值就作为文本的长度限制 。,2.2.4 文本框(TextBox控件), MultiLine属性,该属性缺省值为False,表示只允许单行输入,并忽略回车键的作用。当该属性值为True时,表示允许多行输入,当文本长度超过文本框宽度时,文本会自动换行,同时,允许的文本容量也会相应增
27、加。, PassWordChar属性,设置该属性是为了掩盖文本框中输入的字符。它常用于设置密码输入,只显示同一个字符,如PassWordChar设定为“*”,则无论用户在文本框输入什么字符,文本框中只显示用户设置替代的字符,显示形式为“*”。,2.2.4 文本框(TextBox控件), Scrollbar属性,由于受文本框大小的限制,可能无法完全显示文本的内容,这就可以用ScrollBar属性来指定是否在文本框中添加水平或垂直滚动条,该属性有四个值,见表2-3。,表2-3 Scrollbar属性,2.2.5 命令按钮(CommandButton控件), Caption属性,命令按钮主要用来设计
28、用户和应用程序的交互式访问,常常用它来接收用户的操作信息,激发某些事件,实现一个命令的启动、中断和结束等。,用于设置命令按钮上显示的文本。Caption属性最多包含255个字符。若标题超过了命令按钮的宽度,文本将会自动换行。, Style属性,该属性的作用是设置控件的外观是标准的(标准Windows)或者是图形的(带有自定义图片)。其值为0时是标准的,为1时是图形的。,2.2.5 命令按钮(CommandButton控件), Default和Cancel属性,在每个窗体上都可选择一个命令按钮作为缺省的命令按钮,也就是说,不管窗体上的哪个控件有焦点,只要用户按Enter键,就已单击此缺省按钮。为
29、了指定一个缺省命令按钮,应将其Default属性设置为True。 把命令按钮的Cancel属性设置为True后,就指定了缺省的取消按钮,不管窗体的哪个控件有焦点,按Esc键,就已单击此缺省按钮。,2.2.5 命令按钮(CommandButton控件), 命令按钮事件,Click事件是命令按钮最重要的触发方式,单击命令按钮将触发按钮的Click事件,并调用已写入Click事件过程中的代码。单击命令按钮后也将生成MouseDown和MouseUp事件。如果要在这些相关事件中附加事件过程,则应确保操作不发生冲突。控件不同,这三个事件发生的顺序也不同,命令按钮中发生的顺序为:MouseDown、Cli
30、ck、MouseUp。命令按钮不支持双击事件 。,2.2.6 定时器 (Timer控件),该属性指定Timer事件被触发的间隔毫秒数,其值在0 64767之间。若将其设为0或负数,定时器停止工作。其语法格式为: Timer . Interval = 时间间隔,定时器控件主要有两个功能:一个是用于定时完成某项任务,即每隔一段固定时间就执行一次相同的任务;另一个是进行某种后台处理。 计时器控件运行时不可见,所以它的位置无关紧要,通常只需在工具箱中双击计时器控件图标即可。, Interval属性,2.2.6 定时器 (Timer控件),该属性决定定时器控件是否能响应Timer事件,设置为True时,
31、定时器以Interval属性值为时间间隔触发Timer事件,若设置为False定时器控件失效。,定时器控件只能响应Timer事件。每隔固定时间所运行的程序代码就是写在这个事件中。, Interval属性, 事件,2.3 程序编码规则,VB的窗体和控件提供程序的可视化界面,但是程序中大部分的实际工作是由程序代码来处理的。和其他的高级语言一样,在编写程序代码时VB也有自己的编码规则。,2.3.1 注释,VB在编译程序时会自动跳过注释行。 要添加注释,有三种情况: 1.用撇号“”开始引导注释行; 2.用Rem开头引导注释行; 3.使用【编辑】工具栏中的【设置注释块】、【解除注释块】命令将若干语句行或
32、文字设置/取消为注释块 注释可以和语句在同一行,并写在语句的后面,也可占据一整行。例如: 这是编写的第一个程序 Form1.Width = 400 将窗体的宽度设置为400,2.3.2 语句书写自由,1. 如果想在一行中写下多条语句,则每条语句中间必须用冒号“:”作为分隔符号。但是,为了方便阅读,一行最好只写一条语句。 2. 一条语句如果在一行内写不下,VB允许将单行语句分成若干行书写,只要在行后加入续行符(一个空格后跟一个下划线“_”)将长语句分成多行。 3. 一行最多允许255个字符。 4. 在VB代码中,字母不区分大小写。 (1) VB对用户程序代码中关键字的首字母总被转换成大写字母,其
33、余字母转换成小写字母; (2) 对于用户自定义的变量名、过程名、函数名、,VB以第一次定义的为准,以后输入的自动转换成首次定义的形式。,2.3.3良好的编程习惯,良好的编程习惯实际上就是一些编码约定,可读性强且意义清楚,并且尽可能的直观。 1. 使用缩进 在编写代码时,习惯上对过程、判断语句、循环结构的正文部分进行缩进,使程序代码的可读性大为改善。例如下面一段程序: Const N = 6 Private Sub Command1_Click ( ) Dim i As Integer, j As Integer, Temp As Integer For i = 1 To N-1 For j =
34、 i+1 To N If a(i)a(j) Then Temp = a(i): a(i) = a(j): a(j) = Temp End If Next j Next I End Sub,2.3.3 良好的编程习惯,2. 添加注释 每个人的编程思路会不一样,添加注释后会使接替别人的程序工作或阅读别人的程序变得相对容易一些。 3. 当一行代码过长时,应使用下划线连接字符“_”将代码截短为多行代码,这样便于打印和调试字符串。尤其是需要一个比较长的字符串;来显示一个消息框(MsgBox),或输入框(InputBox),或产生一个SQL字符串时,这一技术比较有用。 4. 变量命名 在程序中,常量和变量
35、应该用一致的前缀来命名,这样很容易识别他们的数据类型。给变量加前缀可以指明他们的数据类型,例如:StrUserName为字符型变量,DblTotal为双精度型变量等等。而且变量或过程名的主体应该使用大小写混合形式,并且应该足够长以描述它的作用,如SaveFile、RasterData。,2.4 基本语句,程序是由语句、常量和声明部分等组成的,一条条的语句是程序的主体部分。在VB语言中,常见的基本语句有:赋值语句、输入函数、输出语句、消息框函数。,2.4.1 赋值语句,赋值语句是所有的程序设计中最基本的语句,可以把指定的值赋给某个变量或某个带有属性的对象。其语句格式为: 格式1:变量名 = 表达
36、式 格式2:对象名属性名 = 表达式 在格式2中,如果对象名省略,则默认对象为当前窗体。 功能:把“=”右边的表达式的值赋给“=”左边的变量或对象的属性。 例: Name = “ZhangSan” Con = True 赋值语句兼有计算和赋值的双重功能。首先计算赋值号右边的值,然后把结果赋给左边的变量或对象的属性。,2.4.1 赋值语句,在赋值时,需要注意下列问题: 1. 在赋值语句中,”=”是赋值号,与数学意义上的符号不一样。VB系统会根据所处的位置自动判断是赋值号还是等号。VB系统默认:在条件表达式中出现的是等号,否则为赋值号。 2. 赋值号左边只能是变量,不能是常量、符号常量或表达式。例
37、如: -a = 4 a + b = 2 Abs(a) = a + b 都是不合法的赋值语句,尤其负号的使用,-a相当于(-1)*a,故-a是表达式。,2.4.1 赋值语句,在赋值时,需要注意下列问题: 1. 在赋值语句中,”=”是赋值号,与数学意义上的符号不一样。VB系统会根据所处的位置自动判断是赋值号还是等号。VB系统默认:在条件表达式中出现的是等号,否则为赋值号。 2. 赋值号左边只能是变量,不能是常量、符号常量或表达式。例如: -a = 4 a + b = 2 Abs(a) = a + b 都是不合法的赋值语句,尤其负号的使用,-a相当于(-1)*a,故-a是表达式。,2.4.1 赋值语
38、句,3. 利用赋值语句在给对象的属性赋值时,必须将类型相容的数据赋给它,否则会产生错误。当赋值号右边表达式的类型与左边变量的类型不一致的时候,系统会作以下处理: (1) 当数值型表达式与左边的变量精度不同时,右边的表达式会强制转化为左边变量的精度。例如: a%=2.7 a为整型变量,转换时四舍五入,a中的结果为3 (2) 当逻辑型数据赋给数值型时,True转化为-1,False转化为0。 (3) 当数值型数据赋给逻辑型时,非0转化为True,0转化为False。 (4) 当左边是数值类型,右边是数字字符串时,右边会自动转换成数值类型,然后在赋值。当右边的数字字符串中有非数字字符或空字符串时,就
39、会出现错误。例如: a% = “123” a中的结果是123,相当于执行a% = Val( “123” ) a% = “12b3” 系统出错。“类型不匹配” (5) 任何非字符型数据赋值给字符型,都自动转换为字符型。 (6) 任何类型的表达式都可以赋值给变体数据类型的变量。,2.4.1 赋值语句,3. 利用赋值语句在给对象的属性赋值时,必须将类型相容的数据赋给它,否则会产生错误。 4. 不允许在同一个赋值语句中,同时给多个变量赋值。例如: Dim a%, b%, c% a = b = c = 1 当程序执行到Dim语句时,会自动为a,b,c三个变量赋初值0。执行a = b = c = 1时,系
40、统会认为右边的两个”=”是等号,而左边的”=”是赋值号。首先系统要计算右边表达式的值,b = c结果为True,然后与1比较,True的值为-1,所以结果为False,最后将False赋给数值型变量a,a的值为0。故三个变量的结果仍然都为0。 正确的书写格式为: a = 1: b =1: c = 1,2.4.2 输入函数,在VB中,数据的输入主要是用函数和文本框来实现的。最常见的是InputBox()函数语句,程序通过此语句得到用户的输入语句。 InputBox()函数可以打开一个对话框,等待用户输入内容或按下按钮,当用户按下【确定】按钮或回车键时,函数返回所输入的值。其语法格式如下: Inp
41、utBox(prompt , title ,default ,xPos ,yPos) InputBox()函数一次只能输入一个值。如果想输入多个值,必须多次调用InputBox()函数。该函数经常与循环语句一起使用,进行多个指定的输入。,2.4.3 输出语句,在VB中,数据的输出主要是通过Print语句和Print方法实现的。, Print语句,Print语句不仅可以在窗体上显示文本字符串和表达式的值,而且还可以在其它图形对象或打印机上输出信息。其语法格式为: Print 表达式表 , | ;,说明: (1) 表达式表:是要输出的一个或多个数值或字符串表达式。如果省略该项,则输出一个空行。对于
42、数值表达式,打印出表达式的值;对于字符串则原样输出。,2.4.3 输出语句,(2) 当输出多个表达式或字符串时,各个表达式之间用分隔符(逗号、分号或空格)隔开。如果表达式之间用逗号分隔,则按标准输出格式显示数据项,即以14个字符位置为单位把一个输出行分为若干个区域段,逗号后面的表达式在下一个区域段输出;如果用分号或空格作为分隔符,则按紧凑输出格式输出数据。,(3) 对于数值型数据输出时,系统会在数值的前面自动加一个符号位,后面加一个空格,而字符串前后都没有空格。,(4) 若Print语句的末尾使用了逗号或分号,则表示显示的数据不换行,下一个Print语句仍在该行输出;当输出的数据超过显示行的宽
43、度时,多余的数据自动输出到下一行。,2.4.3 输出语句,(5) Print语句具有计算和输出双重功能。对于表达式,是先计算后输出。例如: a = 3:b =6 Print a+b 该例中的Print语句是先计算表达式a+b的值,然后输出。但是,Print语句没有赋值功能。语句Print c=a+b不能输出c=9,输出结果为False。,2.4.3 输出语句, Print方法,Print方法的功能是在对象上输出信息。其格式为: 对象名称Print Spc(n)|Tab(n)表达式表,|;,说明: (1) 与Print语句相同的参数使用方法也一样。 (2) 对象名称可以是窗体(Form)、图片框
44、(PictureBox)或打印机(Printer),也可以是立即窗口(Debug),如果省略“对象名称”,则在当前窗体上输出。例如: Printer.Print “VB程序设计” 该语句中,对象名为Printer(打印机),作用是把字符串“VB程序设计”输出到打印机上。,2.4.3 输出语句,(3) Spc(n)函数:用于在输出时插入n个空格,允许重复使用。参数n是一个数值表达式,其取值范围为0 32767之间的整数。Spc(n)函数与输出项用分号隔开。例如: Print 123;Spc(3); “abc” 首先输出123,同时在前后各加一个空格,然后跳过3个空格,显示字符串”abc”。 (4
45、) Tab(n)函数:用于在第n个位置输出表达式列表。要输出的内容和Tab( )函数之间用分号隔开。如果有多个Tab( )函数时,每一个函数对应一个输出项,各个输出项之间用分号隔开。例如: Print Tab(4);”学号” 是在第4个位置上输出字符串“学号”。,2.4.4 消息框,在使用Windows时,如果执行了误操作,屏幕上就会显示一个消息框,让用户进行选择。用VB中的MsgBox( )函数和过程就可以实现该功能。它可以向用户传送消息,并通过用户在对话框上的操作,接收用户所作的响应。,2.4.4 消息框,与InputBox相对,Msgbox消息框用于输出内容。 Msgbox( )函数的格
46、式如下:, Msgbox( )函数,参数的含义如下: prompt:输出消息。它是显示在对话框中的消息。 title:标题,对话框标题区显示的信息。 button:按钮。当buttons参数省略时,消息框中就只显示一个【确定】按钮,MsgBox(prompt , buttons, title),2.4.4 消息框,说明: (1) prompt、title参数与InputBox函数中对应参数相同。 (2) MsgBox( )函数返回17中的一个整数。具体返回哪个整数与所选的命令按钮有关。 (3) button参数是可选项,可由多项值组成,形式如下:, + + ,(4) MsgBox( )函数中的
47、参数,只有”prompt”是必需的,其它参数都可省略,如果省略中间的部分,逗号占位符不能省略。如果省略“button”参数,则对话框只显示一个【确定】按钮,并把按钮设置为活动按钮,不显示任何图标。如果省略标题,则对话框的标题为当前工程的名称。,2.4.4 消息框,函数有返回值,而过程没有。如果不想要MsgBox( )函数的返回值,就可以使用MsgBox过程。使用MsgBox过程显得更加简练。例:, Msgbox过程,MsgBox 密码输入错误,请重新输入!, vbExclamation,调用过程和调用函数是不同的,过程的参数两边没有圆括号,并且函数不能独立成一条语句,而过程可以。,不论是消息框
48、函数,还是消息框过程,它们共同的特点就是,出现消息框后,必须做出选择,否则不能执行其它的任何操作。,第3章 VB编程基础,3.1 数据类型 3.2 变量 3.3 常量 3.4 常用内部函数,3.1 数据类型,根据数据描述信息的含义,将数据分为不同的种类,对数据种类的区分规定,称为数据类型。数据类型的不同,则在内存中的存储结构也不同,占用空间也不同。,在VB语言中数据类型大致可分为两类:基本数据类型和用户自定义数据类型。本节只介绍基本数据类型及其互相转换,用户自定义数据类型在第七章再作详细介绍。,3.1.1 基本数据类型,VB中的基本数据类型有:数值型(Numeric)、字符串型(String)、日期型(Data)、字节型 (Byte)、货币型(Currency)、布尔型(Boolean)、对象型(Object)、变体型(Variant)。,3.1.1 基本数据类型, 数值型数据类型,数值型数据类型分为整数型和实数型两大类。 (1)整数型 整数型是指不带小数和指数符号的数值。按表示范围整数型分为整型和长整型。 整型(Integer,类型符是% ) 整型数据占据2个字节(16位),能够处理的数据范围是:-32768 32767。 长整型( Long,类型符 a b = 2 * a Print b=; b End Sub 程序的执行后在窗体上输出内容如