《课程说明教材与课时安排.ppt》由会员分享,可在线阅读,更多相关《课程说明教材与课时安排.ppt(391页珍藏版)》请在三一办公上搜索。
1、1,课程说明教材与课时安排,教材理论教材:VB程序设计简明教材(第二版)龚沛曾、陆慰民等编著 高等教育出版社实验教材:VB程序设计实验指导教程 刘光萍等编著 冶金工业出版社课时安排理论授课:36学时VB上机训练:18学时,2,上机安排:上机地点:机房(?楼)上机时间:另见上机课表上机内容:随教学进度的基础训练(上机调试每次作业)第310周共18学时:VB程序设计实验教程要求:所有作业必须独立完成上机作业必须经上机调试通过(抽查)上机考勤3次缺席,按平时成绩不及格处理发现上机时间上网,按缺席一次处理做完上机作业后,上交实验报告(学习委员收齐),3,Visual Basic 程序设计简明教程第一章
2、 Visual Basic程序设计概述(2)第二章 VB简单的程序设计(6)第三章 VB语言基础(4)第四章 基本的控制结构(8)第五章 数组(5)第六章 过程(4)第七章 常用控件(2)第八章 界面设计(2)第九章 文件(2)第十章 图形(1)第十一章 数据库技术(自学)第十二章 系统开发案例(自学),4,第一章 Visual Basic概述,1.1 程序设计基本概念1.2 VB的发展和特点 1.3 VB的安装和启动1.4 VB集成开发环境,本书目录,5,1.1程序设计基本概念,程序和程序设计,下一页,1.程序人们想用计算机解决一个问题,必须事先设计好计算机处理信息的步骤,把这些步骤用计算机
3、能够识别的指令编写出来并送入计算机执行,计算机才能按照人的意图完成指定的工作。我们把计算机能执行的指令序列称为程序,而编写程序的过程称为程序设计。例如,下面是某一个学校颁奖大会的程序:宣布大会开始 介绍出席大会的领导 校长讲话 宣布获奖名单 颁奖 获奖代表发言 宣布大会结束,程序主要用于描述完成某项功能所涉及的对象和动作规则领导、校长、名单、代表、话、奖等都是对象;而宣布、介绍、讲、颁等都是动作,本章目录,上一页,6,上一页,下一页,Visual Basic编写的程序,显示教龄30年的教职工姓名 Sub Form_Click()Open zg.dat For Input As#1Do Whil
4、e Not EOF(1)Input#1,姓名,部门,教龄 If 教龄=30 Then Print 姓名,部门LoopClose#1 End Sub,本章目录,7,上一页,下一页,程序设计语言,人与计算机交流使用的是“程序设计语言”。同人类语言一样,程序设计语言也是由字、词和语法规则构成的一个系统。程序设计语言发展的过程,分为三类:1.机器语言2.汇编语言3.高级语言,本章目录,8,要介绍Visual Basic,不能不提到BASIC语言。BASIC是英文Beginners All-purpose Symbolic Instruction Code(初学者通用符号指令代码)的缩写,它是专门为初学
5、者设计的高级语言。,1.2 Visual Basic的发展和特点,9,Visual Basic是Microsoft公司于1991年推出的基于窗口的可视化程序设计语言。“Visual”是“可视化的”、“形象化的”的意思。Visual Basic的语法与BASIC语言的语法基本相同,因此Visual Basic也具有易学易用的特点,此外它还提供了一套可视化设计工具,大大简化了Windows程序界面的设计工作,同时其编程系统采用了面向对象、事件驱动机制,与传统BASIC有很大的不同。目前Visual Basic的最新版本是Visual Basic 6.0(简称VB 6.0),其功能十分强大,应用Vi
6、sual Basic可以方便地完成从小的应用程序,到大型的数据库管理系统、多媒体信息处理、功能强大的Internet应用程序等各项任务。,10,学习版:使用一组工具来创建功能完备的Windows应用程序,(它包括所有的内部控件连同网络、数据绑定等控件)适用于初学者 专业版:在学习版的基础上添加了一些专门的工具和一个报表编制工具。它主要针对计算机专业开发人员,(除了具有学习版的全部功能外,还包括ActiveX和Internet控件开发工具之类的高级特性)企业版:包括了用于客户/服务器应用程序的工具。(除了具有专业版的全部功能外,还包括了一些特殊的工具)VB 6.0安装完成后,“Microsoft
7、 Visual Basic 6.0中文版”菜单选项即加入到“开始”菜单的“程序”组中。单击其中的“Microsoft Visual Basic 6.0中文版”即可启动VB 6.0。,11,上一页,下一页,1.2.2 Visual Basic功能特点,1 引例例1.1简单的动画演示。一行文字“欢迎使用Visual Basic”在具有背景图案的窗体中上、下移动(稍改动也可左、右移动)。移动方法有两种:单击手动按钮,移动50单位;单击自动按钮,按时钟触发频率连续移动;当内容超出窗体范围时,进行反弹。,本章目录,12,上一页,下一页,2 功能特点1)具有面向对象的可视化设计工具2)事件驱动的编程机制3
8、)提供了易学易用的应用程序集成开发环境4)结构化的程序设计语言5)强大的数据库功能6)Active技术7)网络功能8)多个应用程序向导9)完备的Help联机帮助功能,本章目录,VB功能特点,13,上一页,下一页,1.3 VB的安装和启动,安装VB6.0是Windows下的一个应用程序,有学习版、专业版和企业版三种版本形式。VB6.0系统可以在一张CD盘上,也可以在Visual Studio产品的第一张CD盘上。一般都有一个VB自动安装程序,也可以执行VB6.0子目录下的Setup.exe,在安装程序的提示下进行,对初学者可采用典型安装方式。VB6.0联机帮助文件都使用MSDN文档的帮助方式,联
9、机帮助文件不在VB6.0系统盘上,而与Visual Studio产品的帮助集合在两张CD盘上,在安装过程中,系统会提示插入MSDN盘。,本章目录,14,上一页,下一页,1.3.2 启动,选择程序菜单中的Microsoft Visual Basic 6.0中文版程序,就可启动VB 6.0。在VB 6.0窗口列出了VB能够建立的应用程序类型,初学者只要选择默认标准.EXE。在该窗口中有三个按钮:新建:建立新工程现存:选择和打开现有的工程最新:列出最近使用过的工程单击新建按钮,就可创建该类型的应用程序。,本章目录,15,上一页,下一页,1.4 集成开发环境,本章目录,16,上一页,下一页,1.主窗口
10、 应用程序窗口由标题栏、菜单栏和工具栏组成2.窗体(form)窗口 设计vb程序的 界面3.代码(code)窗口 编辑窗体、标准模块中的代码4.属性(properties)窗口 所有窗体或控件的属性设置5.工程资源管理器(project expror)窗口 保存一个应用程序所有的文件6.工具箱(toolbox)窗口 显示各种控件的制作工具,供用户在窗体上设计,本章目录,17,上一页,下一页,1.4.1 窗体窗口,窗体是建立VB应用程序的主要部分,用户通过与窗体上的控制部件交互可得到结果。每个窗体窗口必须有一个惟一的窗体名字,建立窗体时默认名为Form1、Form2在设计状态的窗体由网格点构成,
11、方便用户对控件的定位,网格点间距可以通过工具|选项命令,在通用标签的窗体设置网格中输入宽度和高度来改变;运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。一个应用程序至少有一个窗体窗口,用户可在应用程序中拥有多个窗体窗口。,本章目录,18,上一页,下一页,1.4.2 属性窗口,所有窗体或控件的属性,如颜色、字体、大小等,可以通过属性窗口来修改。,本章目录,19,上一页,下一页,1.4.3 工程资源管理器窗口,工程资源管理器窗口保存一个应用程序所有属性以及组成这个应用程序所有的文件。工程文件的扩展名为.VBP。,本章目录,20,上一页,下一页,1.4.4 代码窗口,代码窗口用来显示和编辑
12、程序代码。打开代码窗口方法:(1)从工程窗口中选择一个窗体或标准模块,并选择查看代码按钮;(2)从窗体窗口中打开代码窗口,可用鼠标双击一个控件或窗体本身;(3)从视图菜单中选择代码窗口命令。,本章目录,21,上一页,下一页,1.4.5 工具箱窗口,工具箱窗口由21个被绘制成按钮形式的图标所构成,显示了各种控件的制作工具,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。用户也可通过工程|部件命令将来装入Windows中注册过的其他控件装入到工具箱。,本章目录,22,第二章 简单的VB程序设计,2.1 VB对象
13、的概念2.2 建立简单的应用程序2.3 窗体和基本控件 2.4 工程的管理及环境的设置2.5 使用帮助系统2.6 程序调试,本书目录,23,上一页,下一页,2.1 Visual Basic对象的概念,2.1.1 对象和类1.对象可以把对象想象成日常生活中的某个实在的物体。例如,一个人、一辆汽车、一张桌子、一台电脑等都是一个个对象。任何对象都具有各自的特征(属性)、行为(方法)。人有身高、体重、视力、听力等特征;也具有起立、行走、说话、使用电脑、踢足球等行为。在VB中,将反映对象的属性和行为封装在一起,是面向对象编程的基本元素。,本章目录,24,上一页,下一页,2.类的概念,类是创建对象实例的模
14、板,是同种对象的集合与抽象,它包含所创建对象的属性描述和行为特征的定义。例如,人类是人的抽象,一个个不同的人是人类的实例。各个人具有不同的身高、体重等属性值和不同的行为。在VB中,工具箱上的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,可以得到真正的控件对象,也就是当在窗体上画一个控件时,就将类转换为对象,即创建了一个控件对象,简称为控件。,本章目录,25,上一页,下一页,例:工具箱内的TextBox是类,它确定了TextBox的属性、方法和事件。窗体上显示的是两个Text对象。,本章目录,26,3.对象的建立和编辑,对象的建立(1)在工具箱中单击左键进行选择(2)在窗体上按下鼠标
15、左键拖动到适当大小对象的选定单个对象:单击对象多个对象:(1)先选定一个对象,按CTRL键再单击其他对象(2)拖动鼠标,将欲选定的对象包围在一个虚线框内对象的复制和删除复制:选中对象-单击复制-单击粘贴-弹出的对话框中选“否”删除:选中对象,按DEL键,27,上一页,下一页,属性、事件和方法构成了对象的三要素。1.属性属性保存对象中的数据。例如,控件名称(Name)、标题(Caption)、颜色(Color)、字体(FontName)等属性决定了对象展现给用户的界面具有什么样的外观及功能。可以通过以下两种方法设置对象的属性:1)在设计阶段利用属性窗口直接设置对象的属性值2)在程序运行时间通过语
16、句 对象名.属性名=属性值 实现例如:Command1.Caption=确定 注意:有一些属性只能在设计阶段通过属性窗口设置,在程序运行阶段不可改变,称为只读属性。,2.1.2 对象的属性、事件和方法,本章目录,28,上一页,下一页,2.事件、事件过程和事件驱动(1)事件事件就是发生在对象上的事情。同一事件,作用于不同的对象,就会引发不同的反应,产生不同的结果。例如,在学校,教室楼的铃声是一个事件,教师听到铃声就要准备开始讲课,向学生传授知识;学生听到铃声,就要准备听教师上课,接受知识;而行政人员对铃声可不于响应。在VB中,系统为每个对象预先定义好了一系列的事件。例如,单击(Click)、双击
17、(DblClick)、改变(Change)、获取焦点(GotFocus)、键盘按下(KeyPress)等。,事件,本章目录,29,上一页,下一页,(2)事件过程应用程序处理事件的步骤就是事件过程。它是针对某一对象的过程,并与该对象的一个事件相联系。VB应用程序设计的主要工作就是为对象编写事件过程中的程序代码。事件过程的形式如下:Sub 对象名_事件(参数列表)事件过程代码End Sub例如单击命令按钮Command1,使按钮的字体大小改为20磅:Sub Command1_Click()Command1.FontSize=20End Sub,本章目录,事件过程,30,上一页,下一页,(3)事件驱
18、动程序设计程序执行的先后次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。VB程序的执行步骤如下:启动应用程序,装载和显示窗体;窗体(或窗体上的控件)等待事件的发生;事件发生时,执行对应的事件过程;重复执行步骤和。,本章目录,事件驱动,31,方法,上一页,下一页,3.方法 面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数称为方法。因为方法是面向对象的,所以在调用时一定要用对象。对象方法的调用格式为:对象.方法 参数名表若省略了对象,表示为当前对象,一般指窗体。例如:Form1.Print 欢迎您使用Visual Basic 6.0!使用Print方法在对象为F
19、orm1窗体中显示“欢迎您使用Visual Basic 6.0!”的字符串。,本章目录,32,2.2 建立简单的应用程序,上一页,下一页,例2.1编写一个人民币与美圆兑换的程序。建立一个应用程序分为以下几步进行:(1)建立用户界面的对象;(2)对象属性的设置;(3)对象事件过程及编程;(4)保存和运行程序。,本章目录,测验:在屏幕上显示“您好,朋友”,采用4个控件,文本控件用来显示信息,3个命令按纽分别用来执行显示、清除、结束操作。,33,2.3 窗体和基本控件,上一页,下一页,基本属性(1)Name名称属性所有对象都具有的属性,是所创建的对象名称。所有的控件在创建时由VB自动提供一个默认名称
20、。在程序中,对象名称是作为对象的标识在程序中而引用。(2)Caption标题属性该属性决定了控件上显示的内容。(3)Height、Width、Top和Left属性Height和Width属性决定了控件的高度和宽度,Top和Left属性决定了控件在窗体中的位置。,本章目录,34,2.3.1 基本属性之二,上一页,下一页,(4)Enabled属性决定控件是否允许操作True:允许用户进行操作,并对操作作出响应False:禁止用户进行操作,呈暗淡色(5)Visible属性决定控件是否可见True:程序运行时控件可见False:程序运行时控件隐含起来,但控件本身存在(6)Font属性组改变文本的外观,
21、其中:FontName字体、FontSize字体大小、FontBold粗体、FontItalic斜体、FontStrikethru删除线、FontUnderline下划线,本章目录,例2.2 在窗体是建立两个命令按钮,35,基本属性之三,上一页,下一页,(7)ForeColor属性设置或返回控件的前景颜色(8)BackColor属性正文以外的显示区域的颜色(9)MousePointer鼠标指针类型属性当鼠标移动到对象的一个特定部分时,被显示的鼠标指针的类型,设置值的范围为015。若值为99,由用户提供的图形文件定义鼠标指针形状。(10)MouseIcon属性设置自定义的鼠标图标,文件类型为.i
22、co或.cur,图标库在Graphics目录下。该属性必须在MousePointer属性设为99时使用。,本章目录,36,基本属性之四,上一页,下一页,(11)TabIndex属性TabIndex属性决定了按Tab键时,焦点在各个控件移动的顺序。当对象具有焦点时,可接受用户的输入。Windows环境下,可同时运行多个应用程序,有多个窗口,但焦点只有一个。当窗体上有多个控件时,对大部分控件系统会分配一个Tab顺序。所谓Tab顺序,就是按Tab键时焦点在各个控件上移动的顺序。一般,其顺序与控件建立的顺序相同,若要改变顺序,可以设置控件的TabIndex属性,TabIndex属性决定了它在Tab中的
23、位置。按默认值规定,第一个建立的控件的TabIndex属性值为0,第二个为1,依次类推。,本章目录,37,基本属性之五,上一页,下一页,(12)控件默认属性所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。,例如,下面两条语句是等价的:Text1.Text=Visual BASICText1=Visual BASIC,本章目录,38,2.3.2 窗体,上一页,下一页,窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画界面。1.主要属性窗体属性决定了窗体的外观和操作。,本章目录,39,窗体-属性,上一页,下一页,(1)Caption属性决
24、定窗体标题栏显示的内容(2)MaxButton和MinButton属性控制窗体右上角有最大化按钮和最小化按钮的显示(3)ControlBox属性控制窗体左上角有控制菜单框是否出现,当无控制菜单框,时,系统将MaxButton和MinButton自动设置为False。(4)Icon属性设置窗体最小化时显示图标(5)Picture属性设置窗体中要显示的图片(6)BorderStyle属性此属性决定窗体的边框类型(7)WindowsState属性窗体执行时显示状态,正常状态、最小化状态最大化状态,本章目录,40,窗体-事件,上一页,下一页,最常用的事件有Click、DblClick和Load。Loa
25、d事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。例2.3使窗体无最大化按钮和最小化按钮,在窗体启动时,在标题栏显示“装入窗体”,并在窗体上装入一背景图;当用户单击窗体,在标题兰显示“鼠标单击”,在窗体中显示“欢迎使用VB”,双击窗体,在标题兰显示“鼠标双击”,并在窗体中显示“结束使用VB”。,本章目录,41,2.3.3 标签-属性,上一页,下一页,除了Caption、Font、Left、Top等外,还有:(1)BackStyle属性控制控件是否透明(0透明,1不透明)(2)BorderStyle属性控件周围是否有边框
26、(0无,1有)(3)Alignment属性决定Caption属性值内容的对齐方式。0-左对齐;1-右对齐;2-居中。(4)AutoSize属性AutoSize属性决定控件是否自动调整大小 WordWrap属性决定标签内容超出标签宽度时,是否自动换行。例2.4标签-属性,本章目录,42,例2.4 控件设置 效果,43,2.3.3 标签-事件,上一页,下一页,标签经常接收的事件有:单击(Click),双击(DblClick)和改变(Change)。但通常标签仅起到在窗体上显示文字作用,因此,一般不需编写事件过程。例2.5利用两个标签控件,显示具有浮雕效果的文字 实现思路:浮雕效果可利用两种颜色的文
27、字错位叠加来实现。为了实现错位,可使两个标签的Left、Top属性值有一点差距。为了避免叠加上去的标签覆盖原来标签显示的文字,要将标签的BackStyle背景样式属性设置为0,即透明的。,本章目录,44,2.3.4 文本框-属性之一,上一页,下一页,文本框是一个文本编辑区域,用户可以在该区域输入、编辑、修改和显示正文内容。1.主要属性(1)Text文本属性文本框无Caption属性,显示的正文内容存放在Text属性中。当程序执行时,用户通过键盘输入、编辑正文。(2)Maxlength属性指明文本框中能够输入的正文内容的最大长度。0-任意长字符串;非零值-文本框中字符个数的最大值。注意:在VB中
28、字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。,本章目录,45,文本框属性之二,上一页,下一页,(3)MultiLine多行属性当MultiLine属性为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,即输入的正文超出显示框时,会自动换行。按Enter键可插入一空行。(4)ScrollBars滚动条属性当MultiLine属性为True时,ScrollBars属性才有效。0(vbNone)无滚动条;1(vbHorizontal)加水平滚动条;2(vbVertical)加垂直滚动条;3(vbBoth)同时加水平和垂直滚动条。注意:当加入了水平滚
29、动条以后,文本框内的自动换行功能会自动消失,只有按Enter键才能回车换行。,本章目录,46,文本框属性之三,上一页,下一页,(5)Locked属性控制文本控件的内容是否可被编辑,当设置为True时,文本控件相当于标签的作用。(6)SelStart、SelLength和SelText属性在程序运行中,用来标识用户选中的正文。SelStart 选定的正文的开始位置,第一个字符的位置是0。SelLength 选定的正文长度。SelText 选定的正文内容。设置了SelStart和SelLength属性后,VB会自动将设定的正文存入SelText。例2.6创建一个简单的文本编辑器,本章目录,47,2
30、.3.4 文本框-事件,上一页,下一页,(1)Change事件当Text属性值发生改变时会引发该事件。用户每输入一个字符就会引发一次Change事件。(2)KeyPress事件当按下并且释放键盘上的一个键时,就会引发焦点所在控件的KeyPress事件,参数KeyAscii指示按键的Ascii码值。事件中最常用于判断是否输入回车符(KeyAscii的值为13)(3)LostFocus事件此事件是在一个对象失去焦点时发生。(4)GotFocus事件当一个对象获得焦点时发生。,本章目录,48,2.3.4 文本框-方法,上一页,下一页,文本框最有用的方法是SetFocus,该方法是把光标移到指定的文本
31、框中。当在窗体上建立了多个文本框后,可以用该方法把光标置于所需要的文本框上。其形式如下:对象.SetFocus,本章目录,49,例2.7 对输入的数据进行合法性检验,过滤不合法的数据。当输入结束时,对于输入正确的数据,显示正确信息;对输入的非数字数据显示错误信息、清除文本框中的内容,并使焦点重新回到文本框。分析:在文本框输入数据,可通过回车键或按Tab键表示输入结束,当然引发的事件也不同。按回车键,焦点没有离开,通过KeyPress事件来判断;按Tab键,焦点离开该控件,通过LostFocus事件来判断。本例以按Tab键表示输入结束。Text2_ LostFocus 当输入结束按Tab键时,该
32、事件激发 IsNumeric(Text2):判断是否输入非数字数据.Text2.SetFocus:使焦点重新回到文本框,文本框的应用 数据过滤,50,2.3.5 命令按钮,上一页,下一页,在程序运行时,当用户选中某个命令按扭时就会执行相应的事件过程。常用以下方法可以选中命令按钮:(1)用鼠标单击。(2)按Tab键将焦点移到相应按钮上,再按回车键。(3)快捷键(Alt+有下划线的字母)。1.主要属性(1)Caption 属性如果某个字母前加入&,则程序运行时标题中的该字母带有下划线,该带有下划线的字母就成为快捷键。(2)Style 属性Style 属性设置为1,命令按钮可显示Picture属性中
33、装入的图形。,本章目录,51,2.3.5 命令按钮,上一页,下一页,(3)Picture属性Style 属性设置为1,则Picture属性可显示图形文件。(4)ToolTipText工具提示属性与Picture属性同时使用。如果仅用图形作为对象的标签,那么能够使用此属性以较少的文字解释每个对象。2.事件命令按扭接收Click事件,本章目录,52,2.5 综合应用,上一页,下一页,例2.9建立一个类似记事本的应用程序,该程序主要提供两类操作:(1)剪切、复制和粘贴的编辑操作;(2)字体大小的格式设置。分析:(1)根据题目要求,建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文
34、本框有初始值。(2)为了解释命令按钮的属性,其中实现剪切、复制、粘贴的3个命令按钮以图形形式显示,其他命令按钮以标准形式显示;由于命令按钮较多,为了便于区分,用按钮的功能重新设置Name名称。,本章目录,53,54,使用方法的语法形式:对象.方法 参数列表1.Print方法 形式:对象.PrintSpc(n)|Tab(n)表达式列表;|,作用:在对象上输出信息对象:窗体、图形框或打印机(Printer),省略对象在窗体上输出。Spc(n)函数:插入n个空格,允许重复使用。Tab(n)函数:左端开始右移动n列,允许重复使用。;(分号):光标定位上一个显示的字符后。,(逗号):光标定位在下一个打印
35、区的开始位置处。无;,换行。开始打印的位置是由对象的CurrentX和CurrentY属性决定,缺省为打印对象的左上角0,0。注意:Print方法在Form _Load事件过程中起作用,必须设置窗体的 AutoRedraw为True。,常用方法,55,例2.9 显示图形 Private Sub Form_Click()For i=1 To 5 Print Tab(i);String(6-I,);Spc(6);String(I,)Next iEnd Sub 考虑:若把Spc(6)换成Tab(6),效果如何?,56,常用方法,上一页,下一页,1)Cls方法 形式:对象.Cls 作用:清除运行时在窗
36、体或图形框中显示的文本或图形。注意:不清除在设计时的文本和图形。2)Move方法 形式:对象.Move 左边距离,上边距离,宽度,高度 作用:移动窗体或控件,并可改变其大小。对象:可以是窗体及除时钟、菜单外的所有控件例2.10移动图形示例,程序运行时在图像框装入一幅图,单击窗体使图像框移到窗体的中心,本章目录,57,2.4 工程的管理及环境的设置,一.工程的组成 一个工程包括各种类型的文件:工程文件(.Vbp):与该工程有关的全部文件和对象的清单窗体文件(.frm):控件及属性、事件过程和自定义过程窗体的二进制数据文件(.frx):当窗体上控件的数据属性含有二进制值时(如图片),将窗体保存时,
37、系统自动产生同名.frx文件。标准模块文件(.bas):包含模块级的变量和外部过程的声明二.创建、打开和保存工程(略),本章目录,58,注意:1.窗体名和窗体文件名概念,窗体名:窗体的Name属性,在代码中用来引用该窗体,同一工程不能有相同的窗体名;窗体文件名:窗体存放在磁盘上的文件名,该文件包含了该窗体的所有控件属性和代码,同一文件夹不能有相同的文件名。2.在工程中添加现存的窗体时,只是将对该窗体文件的引用纳入工程,而不是添加该文件的复制件。因此,如果更改窗体并保存它,会影响包含此窗体文件的任何工程。3.在工程中删除窗体时,仅将此窗体从工程里删除掉,但是窗体文件仍存在于磁盘上。但是,如果在V
38、B之外删除一个窗体文件,VB不能更新此工程文件,当打开此工程时,将显示一个文件丢失的错误信息。4.对窗体文件改名(P43),三.添加、删除和保存文件,59,2.5 使用帮助系统,上一页,下一页,使用MSDN Library查阅器通过VB的帮助菜单,选择内容、索引或搜索菜单项,本章目录,60,2.6 程序调试,.错误类型(1)编辑错误在编辑代码时,VB会对键入的代码直接进行语法检查。当发现代码存在打字错误,遗漏关键字或标点符等语法错误,VB在Form窗口中弹出一个子窗口,提示出错信息,出错的那一行变成红色。这时,用户必须单击“确定”按钮,关闭出错提示窗,然后对出错行进行修改。,本章目录,61,(
39、2)编译错误 编译错误指按了“启动”按钮,VB开始运行程序前,先编译执行的程序段时,产生的错误。此类错误由于用户未定义变量、遗漏关键字等原因产生。这时,Visual Basic也弹出一个子窗口,提示出错信息,出错的那一行被高亮度显示。,62,(3)运行错误运行时错误指VB在编译通过后,运行代码时发生的错误。这类错误往往是指令代码执行了一非法操作引起的。例如类型不匹配、试图打开一个不存在的文件等。,63,(4)逻辑错误程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。这类错误往往是程序存在逻辑上的缺陷所引起。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错
40、误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序以及调试。,64,2 调试错误(1)VB的三种模式 设计模式设计 进行程序的界面设计、属性设置、代码编写等。运行模式运行 执行“运行/启动”命令,可以查看程序代码,但不能修改。中断模式中断 当在运行模式,按了“中断”命令或当程序出现运行时错误时进入中断模式。可以查看代码、修改代码、检查数据。,65,2 设置断点和逐语句跟踪 断点是告诉VB挂起程序执行的一个标记,当程序执行到断点处即暂停程序的运行,进入中断模式。设置或删除断点的步骤:中断模式下,直接查看某个变量的值,只要把鼠标指向所关心的变量处,稍停一下,就在鼠标下方显示该变量
41、的值。,断点标记,当前行,66,1.使用中文标点符号 系统产生“无效字符”,以红色显示2.字母和数字形状相似 小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。3.对象名称(Name)写错 Text1、Text2、Command1 txtInput、txtOutput、cmdOk4.对象的属性名、方法名、标准函数名写错 尽量使用自动列出成员功能。正确的系统按规定的大小写表示。5.无意形成控件数组 建立控件时小心使用“复制”、“粘贴”按钮6.打开工程时找不到对应的文件 保存文件时先保存窗体.frm文件、再保存.vbp文件,注意路径。,2.7 常见错误,67,第三章 Visual B
42、asic语言基础,3.1 数据类型3.2 变量与常量3.3 运算符和表达式3.4 常用内部函数3.5 编码规则,本书目录,68,3.1 数据类型,上一页,下一页,本章目录,69,3.1 VB中的数据类型,一 数据类型 在为计算机编程时,会使用各种各样的数据。因此,我们在编写程序代码时就必须事先说明所使用的数据类型,以便计算机能够正确识别.VB中提供了:数值型、字符型、布尔型、日期型、对象型、变体型等数据类型.1 数值(Numeric)数值型包括:整型Integer(%)、长整型Long(&)、单精度型Single(!)、双精度型Double(#)、货币型Currency()、字节型byte,详
43、细说明见P53表。,70,2 字符数据类型(String)字符串(string)是一个字符序列,包括所有西文字符和汉字,这符两侧用双引号括起来。注意:P543 逻辑(Boolean)数据类型 逻辑型数据用于逻辑判断,它用True和False表示某个事件的两个方面,且只有两种取值(True/False),通常作为判断条件。当逻辑型数据转换成整型数据时,True转换为-1,False转换为0;当将其他类型数据转换成逻辑数据时,非0数转换为True,0转换为False。,71,4 日期(Date)数据类型 日期型数据在VB中以8个字节来存储,包括日期与时间,日期和时间的表示范围:日期:公元100年1
44、月1日到9999年12月31日时间:00:00:00到23:59:59任何字面上可被认作日期和时间的字符,只要用号码符(#)括起来,都可以作为日期型数据。例:#5/12/88#、#May 1,77#、#2000-4-9#、#1 May,1998#等,72,另外,数值型还可转变为日期型。转换规则如下:小数点左边的数字代表日期部分,负数代表的是1899年12月30日之前的日期,正数据代表的是1899年12月30日以后的日期;而小数点右边的数据代表时间部分,0对应午夜,0.5对就中午12:00:00。例:Private Sub Text1_Change()Dim y1 As Date y1=Val(
45、Text1)Text2=y1 End Sub,73,5 变体数据类型(Variant)变体数据是指定义变量时不指定特定的类型。用变体数据类型声明的变量与用其它数据声明的变量区另在于:变体变量 其他变量变量存在但无数据类型 变量存在且有数据类型数据类型不固定 数据类型固定变体型数据是对所有未定义的变量的缺省数据类型定义,它对数据的处理完全取决于程序上下文的需要。它可以包括数值型、日期型、对象型、字符型的数据。,74,3.2 变量与常量(P55),上一页,下一页,3.2.1 变量或常量的命名规则 变量:在程序运行中其存储的值可以改变。常量:在程序运行中其值不可以改变。命名 规则:必须以字母或汉字开
46、头,由字母、汉字、数字或下划线组成,长度小于等于255个字符。不能使用VB中的关键字。例:Left、Mid、Int、public、Sub、If、End。VB中不区分变量名的大小写,一般变量首字母用大写字母,其余用小写字母表示;常量全部用大写字母表示。为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。,本章目录,75,变量声明 使用变量之前,一般必须先声明变量名及其类型。声明变量就是给变量分配内存空间。1 用Dim语句声明变量 格式:Dim 变量名 As 类型 其中:As 类型:缺省“AS 类型”时,则所创建的变量默认为变体类型。为了方便定义,可在变量名后加类型符来代替“
47、AS 类型”。此时变量名与类型符之间不能有空格。,76,例:Dim dp4 As string 等价于:Dim dp4$Dim na6 As integer 等价于:Dim na6%注:一个Dim语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声明不能共用。例:Dim p1 as string,p5 as string 该语句声明了字符串变量P1,P5,而语句:Dim p1,p5 as string 它创建了变体型变量P1,字符型变量P5。,77,对字符串变量,根据其存放的字符串长度是否固定,其定义方法有两种:Dim 字符串变量名 AS StringDim 字符串变量名 AS S
48、trint*字符数例:Dim s1 As String 声明变长字符串Dim s2 As String*50 声明定长字符串变量,可存放50个字符对上例声明的定长字符串变量s2,若赋予的字符少于50,则右部补空格;若赋予的字符超过50个,则多余部分截去。,78,2 隐式声明 VB中允许对使用的变量未进行声明而直接使用(不定义而直接使用的变量),称为隐式声明。所有隐式声明的变量都是Variant类型的。注:若在菜单项“工具”“选项”设置(选择)了“要求变量声明”则变量的隐式声明无效,必须对所使用的变量进行声明。,79,在编程时使用隐式声明似乎很方便,但是如果在以后的使用中要是把变量名拼错,会导致
49、一个难以查找的错误。因此,提倡使用对变量进行声明的方法。例:Private Sub Form_click()a1=Hollo!b=Okc=123Print alPrint b,cEnd Sub,80,常量,常量是在程序运行中不变的量。在VB中,除系统提供的常量外,还有两种常量:普通常量和符号常量。1 普通(直接)常量 P57。例:123,“程序”,123D32 符号常量(用户声明的常量)符号常量就是用标识符所代表的常量,在程序中用该标识符来代替永远不变的数值或字符串。它与一般变量的区别:不允许给常量重新赋值。例:如果定义常量PI=3.14,在程序中如果再使用PI=3.1415将是错误的。,81
50、,(1)常量的命名 常量的命名规则与变量命名规则相同。(2)常量的声明 格式:Const 常量名 As Type=表达式 其中:Const:说明该语句为常量声明语句;AS Type:常量的数据类型,若省略则以所赋给常量的值的 类型所决定。表达式:由数值常数或字符串常数及运算符组成的表达式。例:Const Pi=3.14159 Const ST1 As String=Name注:一般如果在程序中的几个地方用到同一个值,就可以将该值声明为一个常量,如果以后想改变这个值,只须更新Const声明即可。,82,3.3 运算符和表达式,上一页,下一页,和其他语言一样,VB中也具有丰富的运算符,通过运算符和