VB程序设计(全套)ppt课件_第1页
VB程序设计(全套)ppt课件_第2页
VB程序设计(全套)ppt课件_第3页
VB程序设计(全套)ppt课件_第4页
VB程序设计(全套)ppt课件_第5页
已阅读5页,还剩384页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,VisualBasic程序设计简明教程第一章VisualBasic程序设计概述(2)第二章VB简单的程序设计(6)第三章VB语言基础(4)第四章基本的控制结构(8)第五章数组(5)第六章过程(4)第七章常用控件(2)第八章界面设计(2)第九章文件(2)第十章图形(1)第十一章数据库技术(自学)第十二章系统开发案例(自学),.,2,第一章VisualBasic概述,1.1程序设计基本概念1.2VB的发展和特点1.3VB的安装和启动1.4VB集成开发环境,本书目录,.,3,1.1程序设计基本概念,1.1.1程序和程序设计,下一页,1.程序人们想用计算机解决一个问题,必须事先设计好计算机处理信息的步骤,把这些步骤用计算机能够识别的指令编写出来并送入计算机执行,计算机才能按照人的意图完成指定的工作。我们把计算机能执行的指令序列称为程序,而编写程序的过程称为程序设计。例如,下面是某一个学校颁奖大会的程序:宣布大会开始介绍出席大会的领导校长讲话宣布获奖名单颁奖获奖代表发言宣布大会结束,程序主要用于描述完成某项功能所涉及的对象和动作规则领导、校长、名单、代表、话、奖等都是对象;而宣布、介绍、讲、颁等都是动作,本章目录,上一页,.,4,上一页,下一页,VisualBasic编写的程序,显示教龄30年的教职工姓名SubForm_Click()Openzg.datForInputAs#1DoWhileNotEOF(1)Input#1,姓名,部门,教龄If教龄=30ThenPrint姓名,部门LoopClose#1EndSub,本章目录,.,5,上一页,下一页,1.1.2程序设计语言,人与计算机交流使用的是“程序设计语言”。同人类语言一样,程序设计语言也是由字、词和语法规则构成的一个系统。程序设计语言发展的过程,分为三类:1.机器语言2.汇编语言3.高级语言,本章目录,.,6,要介绍VisualBasic,不能不提到BASIC语言。BASIC是英文BeginnersAll-purposeSymbolicInstructionCode(初学者通用符号指令代码)的缩写,它是专门为初学者设计的高级语言。,1.2VisualBasic的发展和特点,.,7,VisualBasic是Microsoft公司于1991年推出的基于窗口的可视化程序设计语言。“Visual”是“可视化的”、“形象化的”的意思。VisualBasic的语法与BASIC语言的语法基本相同,因此VisualBasic也具有易学易用的特点,此外它还提供了一套可视化设计工具,大大简化了Windows程序界面的设计工作,同时其编程系统采用了面向对象、事件驱动机制,与传统BASIC有很大的不同。目前VisualBasic的最新版本是VisualBasic6.0(简称VB6.0),其功能十分强大,应用VisualBasic可以方便地完成从小的应用程序,到大型的数据库管理系统、多媒体信息处理、功能强大的Internet应用程序等各项任务。,.,8,学习版:使用一组工具来创建功能完备的Windows应用程序,(它包括所有的内部控件连同网络、数据绑定等控件)适用于初学者专业版:在学习版的基础上添加了一些专门的工具和一个报表编制工具。它主要针对计算机专业开发人员,(除了具有学习版的全部功能外,还包括ActiveX和Internet控件开发工具之类的高级特性)企业版:包括了用于客户/服务器应用程序的工具。(除了具有专业版的全部功能外,还包括了一些特殊的工具)VB6.0安装完成后,“MicrosoftVisualBasic6.0中文版”菜单选项即加入到“开始”菜单的“程序”组中。单击其中的“MicrosoftVisualBasic6.0中文版”即可启动VB6.0。,.,9,上一页,下一页,1.2.2VisualBasic功能特点,1引例例1.1简单的动画演示。一行文字“欢迎使用VisualBasic”在具有背景图案的窗体中上、下移动(稍改动也可左、右移动)。移动方法有两种:单击手动按钮,移动50单位;单击自动按钮,按时钟触发频率连续移动;当内容超出窗体范围时,进行反弹。,本章目录,.,10,上一页,下一页,2功能特点1)具有面向对象的可视化设计工具2)事件驱动的编程机制3)提供了易学易用的应用程序集成开发环境4)结构化的程序设计语言5)强大的数据库功能6)Active技术7)网络功能8)多个应用程序向导9)完备的Help联机帮助功能,本章目录,VB功能特点,.,11,上一页,下一页,1.3VB的安装和启动,1.3.1安装VB6.0是Windows下的一个应用程序,有学习版、专业版和企业版三种版本形式。VB6.0系统可以在一张CD盘上,也可以在VisualStudio产品的第一张CD盘上。一般都有一个VB自动安装程序,也可以执行VB6.0子目录下的Setup.exe,在安装程序的提示下进行,对初学者可采用典型安装方式。VB6.0联机帮助文件都使用MSDN文档的帮助方式,联机帮助文件不在VB6.0系统盘上,而与VisualStudio产品的帮助集合在两张CD盘上,在安装过程中,系统会提示插入MSDN盘。,本章目录,.,12,上一页,下一页,1.3.2启动,选择程序菜单中的MicrosoftVisualBasic6.0中文版程序,就可启动VB6.0。在VB6.0窗口列出了VB能够建立的应用程序类型,初学者只要选择默认标准.EXE。在该窗口中有三个按钮:新建:建立新工程现存:选择和打开现有的工程最新:列出最近使用过的工程单击新建按钮,就可创建该类型的应用程序。,本章目录,.,13,上一页,下一页,1.4集成开发环境,本章目录,.,14,上一页,下一页,1.主窗口应用程序窗口由标题栏、菜单栏和工具栏组成2.窗体(form)窗口设计vb程序的界面3.代码(code)窗口编辑窗体、标准模块中的代码4.属性(properties)窗口所有窗体或控件的属性设置5.工程资源管理器(projectexpror)窗口保存一个应用程序所有的文件6.工具箱(toolbox)窗口显示各种控件的制作工具,供用户在窗体上设计,本章目录,.,15,上一页,下一页,1.4.1窗体窗口,窗体是建立VB应用程序的主要部分,用户通过与窗体上的控制部件交互可得到结果。每个窗体窗口必须有一个惟一的窗体名字,建立窗体时默认名为Form1、Form2在设计状态的窗体由网格点构成,方便用户对控件的定位,网格点间距可以通过工具|选项命令,在通用标签的窗体设置网格中输入宽度和高度来改变;运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。一个应用程序至少有一个窗体窗口,用户可在应用程序中拥有多个窗体窗口。,本章目录,.,16,上一页,下一页,1.4.2属性窗口,所有窗体或控件的属性,如颜色、字体、大小等,可以通过属性窗口来修改。,本章目录,.,17,上一页,下一页,1.4.3工程资源管理器窗口,工程资源管理器窗口保存一个应用程序所有属性以及组成这个应用程序所有的文件。工程文件的扩展名为.VBP。,本章目录,.,18,上一页,下一页,1.4.4代码窗口,代码窗口用来显示和编辑程序代码。打开代码窗口方法:(1)从工程窗口中选择一个窗体或标准模块,并选择查看代码按钮;(2)从窗体窗口中打开代码窗口,可用鼠标双击一个控件或窗体本身;(3)从视图菜单中选择代码窗口命令。,本章目录,.,19,上一页,下一页,1.4.5工具箱窗口,工具箱窗口由21个被绘制成按钮形式的图标所构成,显示了各种控件的制作工具,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。用户也可通过工程|部件命令将来装入Windows中注册过的其他控件装入到工具箱。,本章目录,.,20,第二章简单的VB程序设计,2.1VB对象的概念2.2建立简单的应用程序2.3窗体和基本控件2.4工程的管理及环境的设置2.5使用帮助系统2.6程序调试,本书目录,.,21,上一页,下一页,2.1VisualBasic对象的概念,2.1.1对象和类1.对象可以把对象想象成日常生活中的某个实在的物体。例如,一个人、一辆汽车、一张桌子、一台电脑等都是一个个对象。任何对象都具有各自的特征(属性)、行为(方法)。人有身高、体重、视力、听力等特征;也具有起立、行走、说话、使用电脑、踢足球等行为。在VB中,将反映对象的属性和行为封装在一起,是面向对象编程的基本元素。,本章目录,.,22,上一页,下一页,2.类的概念,类是创建对象实例的模板,是同种对象的集合与抽象,它包含所创建对象的属性描述和行为特征的定义。例如,人类是人的抽象,一个个不同的人是人类的实例。各个人具有不同的身高、体重等属性值和不同的行为。在VB中,工具箱上的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,可以得到真正的控件对象,也就是当在窗体上画一个控件时,就将类转换为对象,即创建了一个控件对象,简称为控件。,本章目录,.,23,上一页,下一页,例:工具箱内的TextBox是类,它确定了TextBox的属性、方法和事件。窗体上显示的是两个Text对象。,本章目录,.,24,3.对象的建立和编辑,对象的建立(1)在工具箱中单击左键进行选择(2)在窗体上按下鼠标左键拖动到适当大小对象的选定单个对象:单击对象多个对象:(1)先选定一个对象,按CTRL键再单击其他对象(2)拖动鼠标,将欲选定的对象包围在一个虚线框内对象的复制和删除复制:选中对象-单击复制-单击粘贴-弹出的对话框中选“否”删除:选中对象,按DEL键,.,25,上一页,下一页,属性、事件和方法构成了对象的三要素。1.属性属性保存对象中的数据。例如,控件名称(Name)、标题(Caption)、颜色(Color)、字体(FontName)等属性决定了对象展现给用户的界面具有什么样的外观及功能。可以通过以下两种方法设置对象的属性:1)在设计阶段利用属性窗口直接设置对象的属性值2)在程序运行时间通过语句对象名.属性名=属性值实现例如:Command1.Caption=确定注意:有一些属性只能在设计阶段通过属性窗口设置,在程序运行阶段不可改变,称为只读属性。,2.1.2对象的属性、事件和方法,本章目录,.,26,上一页,下一页,2.事件、事件过程和事件驱动(1)事件事件就是发生在对象上的事情。同一事件,作用于不同的对象,就会引发不同的反应,产生不同的结果。例如,在学校,教室楼的铃声是一个事件,教师听到铃声就要准备开始讲课,向学生传授知识;学生听到铃声,就要准备听教师上课,接受知识;而行政人员对铃声可不于响应。在VB中,系统为每个对象预先定义好了一系列的事件。例如,单击(Click)、双击(DblClick)、改变(Change)、获取焦点(GotFocus)、键盘按下(KeyPress)等。,事件,本章目录,.,27,上一页,下一页,(2)事件过程应用程序处理事件的步骤就是事件过程。它是针对某一对象的过程,并与该对象的一个事件相联系。VB应用程序设计的主要工作就是为对象编写事件过程中的程序代码。事件过程的形式如下:Sub对象名_事件(参数列表)事件过程代码EndSub例如单击命令按钮Command1,使按钮的字体大小改为20磅:SubCommand1_Click()Command1.FontSize=20EndSub,本章目录,事件过程,.,28,上一页,下一页,(3)事件驱动程序设计程序执行的先后次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。VB程序的执行步骤如下:启动应用程序,装载和显示窗体;窗体(或窗体上的控件)等待事件的发生;事件发生时,执行对应的事件过程;重复执行步骤和。,本章目录,事件驱动,.,29,方法,上一页,下一页,3.方法面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数称为方法。因为方法是面向对象的,所以在调用时一定要用对象。对象方法的调用格式为:对象.方法参数名表若省略了对象,表示为当前对象,一般指窗体。例如:Form1.Print欢迎您使用VisualBasic6.0!使用Print方法在对象为Form1窗体中显示“欢迎您使用VisualBasic6.0!”的字符串。,本章目录,.,30,2.2建立简单的应用程序,上一页,下一页,例2.1编写一个人民币与美圆兑换的程序。建立一个应用程序分为以下几步进行:(1)建立用户界面的对象;(2)对象属性的设置;(3)对象事件过程及编程;(4)保存和运行程序。,本章目录,测验:在屏幕上显示“您好,朋友”,采用4个控件,文本控件用来显示信息,3个命令按纽分别用来执行显示、清除、结束操作。,.,31,2.3窗体和基本控件,上一页,下一页,2.3.1基本属性(1)Name名称属性所有对象都具有的属性,是所创建的对象名称。所有的控件在创建时由VB自动提供一个默认名称。在程序中,对象名称是作为对象的标识在程序中而引用。(2)Caption标题属性该属性决定了控件上显示的内容。(3)Height、Width、Top和Left属性Height和Width属性决定了控件的高度和宽度,Top和Left属性决定了控件在窗体中的位置。,本章目录,.,32,2.3.1基本属性之二,上一页,下一页,(4)Enabled属性决定控件是否允许操作True:允许用户进行操作,并对操作作出响应False:禁止用户进行操作,呈暗淡色(5)Visible属性决定控件是否可见True:程序运行时控件可见False:程序运行时控件隐含起来,但控件本身存在(6)Font属性组改变文本的外观,其中:FontName字体、FontSize字体大小、FontBold粗体、FontItalic斜体、FontStrikethru删除线、FontUnderline下划线,本章目录,例2.2在窗体是建立两个命令按钮,.,33,基本属性之三,上一页,下一页,(7)ForeColor属性设置或返回控件的前景颜色(8)BackColor属性正文以外的显示区域的颜色(9)MousePointer鼠标指针类型属性当鼠标移动到对象的一个特定部分时,被显示的鼠标指针的类型,设置值的范围为015。若值为99,由用户提供的图形文件定义鼠标指针形状。(10)MouseIcon属性设置自定义的鼠标图标,文件类型为.ico或.cur,图标库在Graphics目录下。该属性必须在MousePointer属性设为99时使用。,本章目录,.,34,基本属性之四,上一页,下一页,(11)TabIndex属性TabIndex属性决定了按Tab键时,焦点在各个控件移动的顺序。当对象具有焦点时,可接受用户的输入。Windows环境下,可同时运行多个应用程序,有多个窗口,但焦点只有一个。当窗体上有多个控件时,对大部分控件系统会分配一个Tab顺序。所谓Tab顺序,就是按Tab键时焦点在各个控件上移动的顺序。一般,其顺序与控件建立的顺序相同,若要改变顺序,可以设置控件的TabIndex属性,TabIndex属性决定了它在Tab中的位置。按默认值规定,第一个建立的控件的TabIndex属性值为0,第二个为1,依次类推。,本章目录,.,35,基本属性之五,上一页,下一页,(12)控件默认属性所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。,例如,下面两条语句是等价的:Text1.Text=VisualBASICText1=VisualBASIC,本章目录,.,36,2.3.2窗体,上一页,下一页,窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画界面。1.主要属性窗体属性决定了窗体的外观和操作。,本章目录,.,37,窗体-属性,上一页,下一页,(1)Caption属性决定窗体标题栏显示的内容(2)MaxButton和MinButton属性控制窗体右上角有最大化按钮和最小化按钮的显示(3)ControlBox属性控制窗体左上角有控制菜单框是否出现,当无控制菜单框,时,系统将MaxButton和MinButton自动设置为False。(4)Icon属性设置窗体最小化时显示图标(5)Picture属性设置窗体中要显示的图片(6)BorderStyle属性此属性决定窗体的边框类型(7)WindowsState属性窗体执行时显示状态,正常状态、最小化状态最大化状态,本章目录,.,38,窗体-事件,上一页,下一页,最常用的事件有Click、DblClick和Load。Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。例2.3使窗体无最大化按钮和最小化按钮,在窗体启动时,在标题栏显示“装入窗体”,并在窗体上装入一背景图;当用户单击窗体,在标题兰显示“鼠标单击”,在窗体中显示“欢迎使用VB”,双击窗体,在标题兰显示“鼠标双击”,并在窗体中显示“结束使用VB”。,本章目录,.,39,2.3.3标签-属性,上一页,下一页,除了Caption、Font、Left、Top等外,还有:(1)BackStyle属性控制控件是否透明(0透明,1不透明)(2)BorderStyle属性控件周围是否有边框(0无,1有)(3)Alignment属性决定Caption属性值内容的对齐方式。0-左对齐;1-右对齐;2-居中。(4)AutoSize属性AutoSize属性决定控件是否自动调整大小WordWrap属性决定标签内容超出标签宽度时,是否自动换行。例2.4标签-属性,本章目录,.,40,例2.4控件设置效果,.,41,2.3.3标签-事件,上一页,下一页,标签经常接收的事件有:单击(Click),双击(DblClick)和改变(Change)。但通常标签仅起到在窗体上显示文字作用,因此,一般不需编写事件过程。例2.5利用两个标签控件,显示具有浮雕效果的文字实现思路:浮雕效果可利用两种颜色的文字错位叠加来实现。为了实现错位,可使两个标签的Left、Top属性值有一点差距。为了避免叠加上去的标签覆盖原来标签显示的文字,要将标签的BackStyle背景样式属性设置为0,即透明的。,本章目录,.,42,2.3.4文本框-属性之一,上一页,下一页,文本框是一个文本编辑区域,用户可以在该区域输入、编辑、修改和显示正文内容。1.主要属性(1)Text文本属性文本框无Caption属性,显示的正文内容存放在Text属性中。当程序执行时,用户通过键盘输入、编辑正文。(2)Maxlength属性指明文本框中能够输入的正文内容的最大长度。0-任意长字符串;非零值-文本框中字符个数的最大值。注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。,本章目录,.,43,文本框属性之二,上一页,下一页,(3)MultiLine多行属性当MultiLine属性为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,即输入的正文超出显示框时,会自动换行。按Enter键可插入一空行。(4)ScrollBars滚动条属性当MultiLine属性为True时,ScrollBars属性才有效。0(vbNone)无滚动条;1(vbHorizontal)加水平滚动条;2(vbVertical)加垂直滚动条;3(vbBoth)同时加水平和垂直滚动条。注意:当加入了水平滚动条以后,文本框内的自动换行功能会自动消失,只有按Enter键才能回车换行。,本章目录,.,44,文本框属性之三,上一页,下一页,(5)Locked属性控制文本控件的内容是否可被编辑,当设置为True时,文本控件相当于标签的作用。(6)SelStart、SelLength和SelText属性在程序运行中,用来标识用户选中的正文。SelStart选定的正文的开始位置,第一个字符的位置是0。SelLength选定的正文长度。SelText选定的正文内容。设置了SelStart和SelLength属性后,VB会自动将设定的正文存入SelText。例2.6创建一个简单的文本编辑器,本章目录,.,45,2.3.4文本框-事件,上一页,下一页,(1)Change事件当Text属性值发生改变时会引发该事件。用户每输入一个字符就会引发一次Change事件。(2)KeyPress事件当按下并且释放键盘上的一个键时,就会引发焦点所在控件的KeyPress事件,参数KeyAscii指示按键的Ascii码值。事件中最常用于判断是否输入回车符(KeyAscii的值为13)(3)LostFocus事件此事件是在一个对象失去焦点时发生。(4)GotFocus事件当一个对象获得焦点时发生。,本章目录,.,46,2.3.4文本框-方法,上一页,下一页,文本框最有用的方法是SetFocus,该方法是把光标移到指定的文本框中。当在窗体上建立了多个文本框后,可以用该方法把光标置于所需要的文本框上。其形式如下:对象.SetFocus,本章目录,.,47,例2.7对输入的数据进行合法性检验,过滤不合法的数据。当输入结束时,对于输入正确的数据,显示正确信息;对输入的非数字数据显示错误信息、清除文本框中的内容,并使焦点重新回到文本框。分析:在文本框输入数据,可通过回车键或按Tab键表示输入结束,当然引发的事件也不同。按回车键,焦点没有离开,通过KeyPress事件来判断;按Tab键,焦点离开该控件,通过LostFocus事件来判断。本例以按Tab键表示输入结束。Text2_LostFocus当输入结束按Tab键时,该事件激发IsNumeric(Text2):判断是否输入非数字数据.Text2.SetFocus:使焦点重新回到文本框,文本框的应用数据过滤,.,48,2.3.5命令按钮,上一页,下一页,在程序运行时,当用户选中某个命令按扭时就会执行相应的事件过程。常用以下方法可以选中命令按钮:(1)用鼠标单击。(2)按Tab键将焦点移到相应按钮上,再按回车键。(3)快捷键(Alt+有下划线的字母)。1.主要属性(1)Caption属性如果某个字母前加入String(6-I,);Spc(6);String(I,)NextiEndSub考虑:若把Spc(6)换成Tab(6),效果如何?,.,54,常用方法,上一页,下一页,1)Cls方法形式:对象.Cls作用:清除运行时在窗体或图形框中显示的文本或图形。注意:不清除在设计时的文本和图形。2)Move方法形式:对象.Move左边距离,上边距离,宽度,高度作用:移动窗体或控件,并可改变其大小。对象:可以是窗体及除时钟、菜单外的所有控件例2.10移动图形示例,程序运行时在图像框装入一幅图,单击窗体使图像框移到窗体的中心,本章目录,.,55,2.4工程的管理及环境的设置,一.工程的组成一个工程包括各种类型的文件:工程文件(.Vbp):与该工程有关的全部文件和对象的清单窗体文件(.frm):控件及属性、事件过程和自定义过程窗体的二进制数据文件(.frx):当窗体上控件的数据属性含有二进制值时(如图片),将窗体保存时,系统自动产生同名.frx文件。标准模块文件(.bas):包含模块级的变量和外部过程的声明二.创建、打开和保存工程(略),本章目录,.,56,注意:1.窗体名和窗体文件名概念,窗体名:窗体的Name属性,在代码中用来引用该窗体,同一工程不能有相同的窗体名;窗体文件名:窗体存放在磁盘上的文件名,该文件包含了该窗体的所有控件属性和代码,同一文件夹不能有相同的文件名。2.在工程中添加现存的窗体时,只是将对该窗体文件的引用纳入工程,而不是添加该文件的复制件。因此,如果更改窗体并保存它,会影响包含此窗体文件的任何工程。3.在工程中删除窗体时,仅将此窗体从工程里删除掉,但是窗体文件仍存在于磁盘上。但是,如果在VB之外删除一个窗体文件,VB不能更新此工程文件,当打开此工程时,将显示一个文件丢失的错误信息。4.对窗体文件改名(P43),三.添加、删除和保存文件,.,57,2.5使用帮助系统,上一页,下一页,使用MSDNLibrary查阅器通过VB的帮助菜单,选择内容、索引或搜索菜单项,本章目录,.,58,2.6程序调试,.错误类型(1)编辑错误在编辑代码时,VB会对键入的代码直接进行语法检查。当发现代码存在打字错误,遗漏关键字或标点符等语法错误,VB在Form窗口中弹出一个子窗口,提示出错信息,出错的那一行变成红色。这时,用户必须单击“确定”按钮,关闭出错提示窗,然后对出错行进行修改。,本章目录,.,59,(2)编译错误编译错误指按了“启动”按钮,VB开始运行程序前,先编译执行的程序段时,产生的错误。此类错误由于用户未定义变量、遗漏关键字等原因产生。这时,VisualBasic也弹出一个子窗口,提示出错信息,出错的那一行被高亮度显示。,.,60,(3)运行错误运行时错误指VB在编译通过后,运行代码时发生的错误。这类错误往往是指令代码执行了一非法操作引起的。例如类型不匹配、试图打开一个不存在的文件等。,.,61,(4)逻辑错误程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。这类错误往往是程序存在逻辑上的缺陷所引起。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序以及调试。,.,62,2调试错误(1)VB的三种模式设计模式设计进行程序的界面设计、属性设置、代码编写等。运行模式运行执行“运行/启动”命令,可以查看程序代码,但不能修改。中断模式中断当在运行模式,按了“中断”命令或当程序出现运行时错误时进入中断模式。可以查看代码、修改代码、检查数据。,.,63,2设置断点和逐语句跟踪断点是告诉VB挂起程序执行的一个标记,当程序执行到断点处即暂停程序的运行,进入中断模式。设置或删除断点的步骤:中断模式下,直接查看某个变量的值,只要把鼠标指向所关心的变量处,稍停一下,就在鼠标下方显示该变量的值。,断点标记,当前行,.,64,1.使用中文标点符号系统产生“无效字符”,以红色显示2.字母和数字形状相似小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。3.对象名称(Name)写错Text1、Text2、Command1txtInput、txtOutput、cmdOk4.对象的属性名、方法名、标准函数名写错尽量使用自动列出成员功能。正确的系统按规定的大小写表示。5.无意形成控件数组建立控件时小心使用“复制”、“粘贴”按钮6.打开工程时找不到对应的文件保存文件时先保存窗体.frm文件、再保存.vbp文件,注意路径。,2.7常见错误,.,65,第三章VisualBasic语言基础,3.1数据类型3.2变量与常量3.3运算符和表达式3.4常用内部函数3.5编码规则,本书目录,.,66,3.1数据类型,上一页,下一页,本章目录,.,67,3.1VB中的数据类型,一数据类型在为计算机编程时,会使用各种各样的数据。因此,我们在编写程序代码时就必须事先说明所使用的数据类型,以便计算机能够正确识别.VB中提供了:数值型、字符型、布尔型、日期型、对象型、变体型等数据类型.1数值(Numeric)数值型包括:整型Integer(%)、长整型Long(若密码错,显示有关信息,选择“重试”按钮,清除原内容再输入,选择“取消”按钮,停止运行。密码3次有错,退出!分析:帐号6位,MaxLength为6,LostFocus判断数字IsNumeric函数密码PassWordChar为“*”,MsgBox函数设置密码错对话框.,.,117,课堂作业,从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。要求:(1)单击窗体,通过Inputbox函数输入数据。(2)在窗体上显示这4个数及数的和、平均值。程序运行界面如下图所示,.,118,上一页,下一页,4.2选择结构,计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。必须利用选择结构等来解决实际应用中的各种问题。VB中提供了多种形式的条件语句来实现选择结构,有If条件语句和Select情况语句等。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。,本章目录,.,119,上一页,下一页,4.2.1If条件语句,1.IfThen语句(单分支结构)IfThen语句块(可以是一句或多句语句)EndIf或IfThen表达式:关系表达式、逻辑表达式,算术表达式。表达式值按非零为True,零为False进行判断。该语句的作用是当表达式的值为True,执行Then后面的语句块,否则不做任何操作。,本章目录,.,120,上一页,下一页,单分支结构,例:已知两个数x和y,比较它们的大小,使得x大于y。IfxyThent=xx=yy=tEndIf或Ifx=AAndUcase(strC)=0AndstrC=9ThenPrintstrC+是数字字符ElsePrintstrC+其他字符EndIf,不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。.ElseIf不能写成ElseIf。,多分支结构例,本章目录,.,126,例已知百分制成绩mark,显示对应的五级制成绩哪些正确,哪些错误?,返回,.,127,上一页,下一页,If语句的嵌套是指If或Else后面的语句块中又包含If语句If表达式1ThenIf表达式11ThenEndIfEndIf,IfxyThent=x:x=y:y=tIfyz用一个IF语句和一个嵌套的IF语句实现,本章目录,.,128,上一页,下一页,4.2.2SelectCase语句,SelectCase变量或表达式Case表达式列表1语句块1Case表达式列表2语句块2CaseElse语句块n+1EndSelect,表达式列表与变量或表达式的类型必须相同,是下面4种形式之一:表达式例:A一组用逗号分隔的枚举值2,4,6,8表达式1To表达式260To100Is关系运算符表达式Is0Andy0ThenPrint在第一象限ElseIfx0ThenPrint在第二象限ElseIfx0Andy0Andy0Print在第一象限Casex0Print在第二象限Casex0Andyy,x,y)2)Choose函数Choose(数字型变量,值为1的返回值,值为2的返回值)例如,Nop是14的值,转换成+、-、运算符的语句如下:Op=Choose(Nop,+,-,)当值为1,返回字符串“+”,然后放入Op变量中,值为2,返回字符串“-”,依次类推;当Nop是14的非整数,系统自动取整再判断;若Nop不在14之间,函数返回Null值。,本章目录,.,134,常见错误1在选择结构中缺少配对的结束语句2.多分支选择ElseIf关键字的书写ElseIf不要写成ElseIf;3.条件表达式的表示多个条件表达式次序问题,见例3.SelectCase语句的使用SelectCase后不能出现多个变量;Case子句后不能出现变量见例,.,135,课堂作业,某航空公司规定:在旅游旺季79月份,如果订票超过20张,优惠票价的15%;20张以下的优惠5%;在旅游淡季15月份、10、11月份,订票超过20张,优惠票价的30%;20张以下的优惠20%;其它时间订票的一律优惠2%。(要求要对输入的数据进行判断),.,136,上一页,下一页,4.3循环结构,我们已经学习了顺序结构和分支结构,这种结构的特点是任何一条语句至多只执行一次,但是在处理实际问题的过程中,用这种结构来编写程序就长得不能忍受。,本章目录,引例:求1+2+3+100的和?S=0S=S+1S=S+2S=S+3共101条语句,实际上这就是一种重复循环操作,VB中提供了两种类型的循环语句:一种是计数循环语句;另一种是条件型循环语句。,.,137,上一页,下一页,4.3.1For循环语句,For循环语句用于控制循环次数预知的循环结构。For循环变量初值To终值Step步长语句块ExitFor语句块Next循环变量循环变量必须为数值型。循环次数,0初值终值=0死循环,步长,本章目录,.,138,上一页,下一页,For循环语句,循环流程:(1)循环变量被赋初值,它仅被赋值一次。(2)判断循环变量是否在终值内,如果是,执行循环体;如果否,结束循环,执行Next的下一语句。(3)循环变量加步长,转(2),继续循环,本章目录,.,139,循环执行次数输出I的值分别为:25811出了循环输出为:I=14,例:ForI=2To13Step3PrintI,NextIPrintPrint“I=“,I,例4.8计算1100的累加和问题:求1100中偶数和、奇数和,如何修改上例程序。,.,140,例题,例4.9求自然数15的阶乘,用图形框输出例4.10:利用随机数函数(RND)产生200个200600之间的整数,每行输出10个数,找出这些整数中最大数和最小数。P90例4.10(自学),.,141,上一页,下一页,4.3.2DoLoop循环语句,Do循环用于控制循环次数未知的循环结构。形式1:DoWhile|Until语句块ExitDo语句块Loop形式1为先判断后执行,有可能一次也不执行;形式2为先执行后判断,至少执行一次。,形式2:Do语句块ExitDo语句块LoopWhile|Until,本章目录,.,142,描述,1、在DO循环中都可以使用EXITDO退出循环。2、DOWHILE循环是首先判断条件是否为真(满足),为真执行循环体,执行完循环体再判断条件是否为真,为真重复执行,直至条件为假(不满足)时退出循环。先判断、后执行。3、DOUNTIL循环是首先判断条件是否为真(满足),若条件为真则退出循环,只有为假(条件不满足)时才执行循环。先判断、后执行。4、DOLOOPWHILE循环是首先执行循环体,再判断条件是否为真,若为真继续循环,条件为假(不满足)退出该循环,它是先执行、后判断。5、DOLOOPUNTIL循环是首先执行循环体,然后再判断条件,若条件为真(满足),则退出循环,若条件不满足,继续循环。直到条件满足(为真)才退出该循环,它是先执行、后判断。,.,143,上一页,下一页,DoLoop流程,本章目录,.,144,例题,DoWhileLoops=0:c=0DoWhilecLoops=1:c=2DoUntilc5s=s*cPrintc,sc=c+2Loop,.,145,测试,分别用DO循环的5种形式编写求自然数11000和的程序。,i=1:sum=0DoWhilei100sum=sum+ii=i+1LoopPrintsum,i=1:sum=0Dosum=sum+ii=i+1Ifi100ThenExitDoLoopPrintsum,.,146,上一页,下一页,循环例题,例4.11我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。,本章目录,x=13n=0DoWhilexn(2)m除以n得余数r(3)若r=0,则n为最大公约数,结束;否则执行(4)(4)mn,nr,再重复执行(2)最小公倍数:两数相乘除以最大公约数,例m=14n=6的最大公约数m=14,n=6r=2M=6,n=2r=0最大公约数为:2最小公倍数为:42,本章目录,Dor=mModnIfr=0ThenExitDoElsem=n:n=rEndIfLoopWhiler0,.,148,辗转相减法,DoIfmnThenr=m-nElser=n-mEndIfIfr=0ThenExitDom=IIf(mnn-mnm0m=n,1.对于已知m,n,计算,2.若r=0,则m或n为最大公约数,结束,否则,转33.m=min(m,n),n=r,再重复执行1,.,149,4.3.3循环的嵌套,例4.13:二重循环。PrivateSubCommand1_Click()Dimm%,n%Form=1To3Forn=1To2Printm,nNextnNextmEndSub在一个循环体内又包含了一个完整的循环结构称为循环的嵌套。循环嵌套对For循环语句和DoLoop语句均适用。FOR循环可以嵌套,但不能出现循环交叉。,.,150,4.3.3循环的嵌套,例4.14:打印如下图形,ss=:FontSize=16Fori=1To4Form1.PrintSpc(20-i*2);Forj=1To2*i-1Printss;NextjPrintNextiFori=3To1Step-1Form1.PrintSpc(20-i*2);Forj=1To2*i-1Printss;NextjPrintNexti,.,151,上一页,下一页,4.3.3循环的嵌套,例4.15打印九九乘法表,思考:打印上三角或下三角程序如何改动?,本章目录,.,152,上一页,下一页,4.4其他辅助控制语句,4.4.1GoTo语句作用:无条件地转移到标号或行号指定的那行语句。GoTo标号|行号注意:标号是字符序列,首字符必须为字母,标号后应有冒号;行号是一个数字序列;例4.16判断输入的数是否为素数。(P97)素数就是除1和本身以外,不能被其他任何整数整除的数。根据此定义,要判别某数m是否为素数最简单的方法就是依次用i=2m-1去除,只要有一个数能整除m,m就不是素数;否则m是素数。,本章目录,.,153,求100以内的素数Form=2To100Fori=2Tom-1If(mModi)=0ThenGoToNotNextMNextiPrintmNotNextM:Nextm,m是否为素数,求100以内的素数,.,154,上一页,下一页,4.4.2退出和结束语句,1.Exit语句在VB中,有多种形式的Exit语句,用于退出某种控制结构的执行。Exit的形式如下:ExitFor、ExitDo、ExitSub、ExitFunction等。2.End语句独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。在VB中,还有多种形式的End语句,用于结束一个过程或块,在控制语句或过程中经常使用。End语句的多种形式如下:EndIf、EndSelect、EndWith、EndType、EndSub、EndFunction等,它与对应的语句配对使用。,本章目录,.,155,“穷举法”也称为“枚举法”或“试凑法”,即将可能出现的各种情况一一测试,判断是否满足条件,一般采用循环来实现。例4.18百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。(P98)设母鸡、公鸡、小鸡各为x、y、z只,根据题目要求,列出方程为:x+y+z=1003x+2y+0.5z=100三个未知数,两个方程,此题有若干个解。解决此类问题采用“试凑法”,把每一种情况都考虑到。方法一:三个未知数利用三重循环来实现。方法二:从三个未知数的关系,利用两重循环来实现。,4.5综合应用-试凑法,.,156,常见错误1.不循环或死循环的问题主要是循环条件、循环初值、循环终值、循环步长的设置有问题。2循环结构中缺少配对的结束语句For少配对的Next3.循环嵌套时,内外循环交叉4累加、连乘时,存放累加、连乘结果的变量赋初值问题(1)一重循环在一重循环中,存放累加、连乘结果的变量初值设置应在循环语句前。(2)多重循环这要视具体问题分别对待。,.,157,第五章数组,5.1数组的概念5.2静态数组及声明5.3动态数组及声明5.4数组的基本操作5.5控件数组5.6自定义数据类型5.7综合应用,本书目录,.,158,5.1数组的概念,上一页,下一页,1.引例例5.1求100个学生的平均成绩,并统计高于平均分的人数。用简单变量和循环,求平均成绩程序段如下:aver=0Fori=1To100mark=InputBox(输入学生成绩)aver=aver+markNextiaver=aver/100由于循环体内变量mark只能放一个学生的成绩,无法统计高于平均分的人数。若用简单变量保存100个学生的成绩,则需定义100个变量和使用100句输入语句。已有知识解决方法:再重复输入成绩,带来两个问题:(1)输入数据的工作量成倍增加;(2)若本次输入的成绩与上次不同,则统计的结果不正确。解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用。,本章目录,.,159,数组的概念,上一页,下一页,用数组解决问题的程序如下:PrivateSubCommand1_Click()Dimmark(1To100)AsInteger声明有100个元素的数组markDimaver!,overn%,i%aver=0Fori=1To100输入成绩,求分数和mark(i)=InputBox(输入学生的成绩)aver=aver+mark(i)Nextiaver=aver/100求100人的平均分overn=0Fori=1To100统计高于平均分的人数Ifmark(i)averThenovern=overn+1NextiPrintaver,overnEndSub,本章目录,.,160,数组的概念,上一页,下一页,数组不是一种数据类型,而是一组相同类型的变量的集合。在程序中使用数组的最大好处是用一个数组名代表逻辑上相关的一批数据,用下标表示该数组中的各个元素,和循环语句结合使用,使得程序书写简洁。数组必须先声明后使用,数组声明后在内存可分配一块连续的区域。利用Dim语句可以声明数组名、类型、维数、数组大小;声明时下标的个数确定数组的维数,最多可达60维;按声明时的大小,数组分静态(定长)数组、动态(可变长)数组。,本章目录,.,161,5.2静态数组及声明,上一页,下一页,1.一维数组Dim数组名(下标)As类型下标:必须为常数,不可以为表达式或变量。下标的形式:下界To上界,下标下界最小可为-32768,最大上界为32767,省略下界,其默认值为0。一维数组的大小为:上界-下界+1As类型:缺省As类型,是变体数组。例如:Dima(10)AsInteger,声明了数组名为a的一维整型数组,有11个元素,下标范围010。,本章目录,.,162,上一页,下一页,Dimmark(1To100)AsInteger声明了一个一维定长数组,该数组的名字为mark,类型为整型;共有100个元素,下标范围为1To100;mark数组的各元素是ma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论