为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

《Visual_Basic程序设计教程(第四版)龚沛增》完整课件

2021-05-21 326页 ppt 6MB 25阅读

用户头像 机构认证

夕夕资料

拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.

举报
《Visual_Basic程序设计教程(第四版)龚沛增》完整课件VisualBasic程序设计教程(第四版)龚沛增杨志强陆慰民编国家精品课程主讲教材普通高等教育“十一五”国家级规划教材高等教育百门精品课程教材章内容学时实验与学时第1章VisualBasic程序设计概述3实验A1第2章VB可视化编程基础5实验B1第3章VB语言基础5实验C2第4章VB控制结构6实验D2第5章数组和自定义类型6实验E4第6章过程6实验F4第7章用户界面设计6实验G4第8章数据文件5实验H3第9章图形操作4实验I3第10章数据库应用基础6实验J2合计5426教学安排见教学进度表第1章VisualBasic程序设计...
《Visual_Basic程序设计教程(第四版)龚沛增》完整课件
VisualBasic程序教程(第四版)龚沛增杨志强陆慰民编国家精品课程主讲教材普通高等教育“十一五”国家级规划教材高等教育百门精品课程教材章学时实验与学时第1章VisualBasic程序设计概述3实验A1第2章VB可视化编程基础5实验B1第3章VB语言基础5实验C2第4章VB控制结构6实验D2第5章数组和自定义类型6实验E4第6章过程6实验F4第7章用户界面设计6实验G4第8章数据文件5实验H3第9章图形操作4实验I3第10章数据库应用基础6实验J2合计5426教学安排见教学进度表第1章VisualBasic程序设计概述1.1VisualBasic简介1.2VB集成开发环境1.3创建应用程序过程1.4VB帮助系统1.1VisualBasic简介1.1.1VisualBasic的发展1.1.2VisualBasic的特点1.1.3如何学习VisualBasic1.1.1VisualBasic的发展BASIC(Beginner’sAll-purposeSymbolicInstructionCode)语言的发展概况(四阶段):1.初级Basic:64~74,Basic语言问世2.微机Basic:75~85,微机上固化Basic语言3.结构化Basic:86~90,结构化的Basic语言4.可视化Basic:91至今,VB(微软推出)VisualBasic的发展1991年Microsoft公司推出VisualBasic1.0,以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行。从1991年的VB1.0至1998年的VB6.0的多次版本升级,功能更强大、完善,应用面更广。2000年发布VisualBasic.NET,2005年发布VisualBasic2005版本。1.1.2VB的特点例1简单动画演示。一行文字在具有背景图案的窗体上进行上、下移动。单击手动按钮,移动50Twip;单击自动按钮,可以连续移动。当内容超出窗体底部时,又从顶部开始往下移动。设计思路:在窗体上使用标签Label对象来存放文字;利用Timer控件来自动触发移动;利用单击按钮来手动触发移动。当一个标签放在窗体上时,标签的左上角坐标(用Left、Top表示)就被指定了。如果改变标签的左上角坐标就可移动标签,即移动文字。例如:Label1.Top=Label1.Top+50可使标签Label1向下移动50单位。欢迎使用VBTopLeft0,0实现连续移动,可通过时钟对象Timer,在规定的时间间隔连续执行:Label1.Top=Label1.Top+50语句,就可使标签Label1连续向下移动。时钟对象的Interval可指定时间间隔,以毫秒单位。每隔0.2秒移动一次可设置Interval=200。程序进一步改进:连续循环移动,首先要能判断出标签是否超出窗体范围。该点在Top方向上的坐标为:窗体的高度Height如果标签的Top>窗体的高度,表示已越出窗体范围,可将标签移到窗体上方,此时标签的Top=?窗体欢迎使用VBHeight1.具有基于对象的可视化设计工具2.事件驱动的编程机制3.提供了易学易用的集成开发环境4.支持结构化程序设计语言5.强大的网络、数据库、多媒体功能6.完备的帮助功能VB功能特点如何学习VisualBasic两个方面:Visual可视化界面设计Basic程序设计VB系统的安装VB系统的启动VB集成开发环境的使用1.2VB集成开发环境1.2.1安装VB6.0有学习版(Learning)、专业版(Professional)和企业版(Enterprise)三种版本。执行VB6.0的Setup.exe,在安装程序的提示下进行,初学者可采用典型安装方式。VB6.0联机帮助文件使用MSDN文档格式,联机帮助文件不在VB6.0系统盘上,而与VisualStudio产品的帮助集合在两张CD盘上,安装过程中,系统会提示插入MSDN盘。1.2.2启动启动VB选择开始菜单中的MicrosoftVisualBasic6.0中文版程序。VB窗口列出了VB能够建立的应用程序类型,初学者只要选择默认.EXE。单击打开按钮,就可创建该类型的应用程序。1.2.3集成开发环境使用一、主窗口标题栏三种工作模式:设计模式:界面的设计和代码的编制运行模式:运行应用程序中断模式:暂时中断程序运行,调试程序2.菜单栏包括13个下拉菜单3.工具栏标准、编辑、窗体编辑器、调试等工具栏二、窗体设计窗口(Form)窗体是建立VB应用程序的主要部分,一个应用程序至少有一个窗体窗口。每个窗体必须有一个唯一的窗体名,默认名为Form1。设计状态的窗体由网格点构成,方便用户对控件的定位,网格点间距可以通过工具|选项|通用进入窗体网格设置。运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。利用Shift+F7组合键打开窗体窗口。三、代码(Code)设计窗口1.代码窗口作用编辑和显示窗体、标准模块中的代码。每个窗体都有各自的代码窗口。2.代码窗口的组成(1)“对象”下拉列表框(2)“过程”下拉列表框(3)“代码”框(4)“过程查看”按钮(5)“全模块”查看按钮。3.代码窗口的打开方法(4种)(1)热键F7(2)“视图”—>“代码窗口”(3)在窗体窗口中双击任一控件或窗体本身(4)从工程窗口中选择窗体或模块后单击“查看代码”按钮。四、属性(Properties)窗口1.作用:设置或查看窗体及控件的属性,如颜色、字体、大小等。2.属性窗口的组成:对象列表框、属性显示排列方式、属性列表框和属性含义说明。四、属性(Properties)窗口3.属性窗口的打开方法(4种)(1)热键F4(2)“视图”—>“属性窗口”(3)单击工具栏上的“属性窗口”按钮(4)右击对象,在快捷菜单中选择“属性窗口”命令1.工程资源管理器的作用:用层次化管理方式显示一个应用程序所有的文件。2.工程资源管理器的组成:“查看代码”按钮、“查看对象”按钮、“切换文件夹”按钮和一个列表窗口。列表窗口中显示了本工程文件(.vbp)中的所有窗体文件(.frm)和模块文件(标准模块文件.bas和类模块文件.cls)等。已存盘未存盘五、工程管理器(ProjectExplorer)窗口五、工程管理器(ProjectExplorer)窗口3.工程资源管理器的打开方式(3种)(1)单击工具栏上的“工程资源管理器”按钮(2)热键Ctrl+R(3)“视图”—>“工程资源管理器”六、工具箱(ToolBox)窗口由21个被绘制成按钮形式的图标构成,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。也可通过工程|部件命令将第3方开发的其他控件装入到工具箱。七、其他窗口1.立即(Immediate)窗口为调试程序提供的,可在此直接用Print方法输出表达式的值,也可以在程序代码中用Debug.print语句在立即窗口输出表达式的值。2.窗体布局(FormLayout)窗口用于指定程序运行时窗体的初始位置,主要应用于多窗体程序中。1.3创建应用程序的过程建立一个应用程序分为以下几步:(1)建立用户界面的对象(2)对象属性的设置(3)对象事件过程及编程(4)保存和运行程序例1.2编写一个人民币与美元兑换的程序。要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示兑换结果。设计思路:输入使用文本框TextBox;提示使用标签Label;按钮Command的Click事件执行处理命令。1.4使用帮助系统使用MSDNLibrary查阅器通过VB的帮助菜单,选择内容、索引或搜索菜单项本章小结VB的突出特点可视化的设计工具事件驱动的编程机制VB集成开发环境三种工作模式窗体窗口属性窗口代码窗口工程资源管理器窗口创建应用程序的过程建立界面、属性设置、编写代码、运行与保存程序第2章VB可视化编程基础2.1VB对象概念2.2窗体和基本控件2.3综合应用2.1VB对象的概念2.1.1对象和类1.对象指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。例如人具有身高、体重等特征,具有行走、说话等行为,外界作用在人对象上的各种活动,如下雨等。2.类的概念在现实中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。类是对同一种对象的集合与抽象。如人类是“人”的抽象。类是创建对象实例的模板,对象则是类的一个实例。类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。3.VB中的类和对象VB工具箱中的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。例如:工具箱内的TextBox是类(它确定了TextBox的属性、方法和事件),窗体上显示的是两个TextBox对象。VB中常用的对象是控件。此外,VB还提供了系统对象:打印机(Printer)、剪贴板(Clipboard)、屏幕(Screen)和应用程序(App)等。窗体是个特例,它既是类也是对象。当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。属性、事件和方法构成对象的三要素。1.属性:存放对象的数据(决定对象外观及功能)例如:控件名称、文本、大小等属性。对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值程序运行时,通过语句[对象名.]属性名=属性值例如:Command1.Caption="确定"注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。2.1.2对象的属性、事件和方法(1)事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应:2.事件教师_铃声()讲课EndSub学生_铃声()听讲EndSubVB为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus、按下键盘KeyPress等其他人员_铃声()可不于响应EndSub(2)事件过程:应用程序处理事件的步骤。应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下:PrivateSub对象名_事件([参数])…事件过程代码EndSub例:单击按钮,使Text1的字体为20磅。PrivateSubCommand1_Click()Text1.FontSize=20EndSub一个动作可能同时发生多个事件。例如单击鼠标同时发生了Click、MouseDown、MouseUp事件。编程时,只要对需要的事件过程编写代码。注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。VB程序的执行步骤如下:①启动应用程序,装载和显示窗体;②窗体(或窗体上的控件)等待事件的发生;③事件发生时,执行对应的事件过程;④重复执行步骤②和③。(3)事件驱动3.方法面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为:[对象.]方法[参数名表]若省略对象,表示当前对象,一般指窗体。例如:Text1.SetFocus此语句使Text1控件获得焦点,光标在本文框内闪烁。2.2窗体和基本控件2.2.1窗体和控件具有的基本属性(1)Name属性:名称所创建的对象名称,在程序中引用。(2)Caption属性:标题该属性决定了对象上显示的内容。(3)Height、Width、Top和Left属性决定对象的大小和位置。(4)Enabled属性:对象是否允许操作(5)Visible属性:对象是否可见(6)Font属性组:文本的外观FontName字体、FontSize大小FontBold粗体、FontItalic斜体FontStrikethru删除线FontUnderline下划线例2.1在窗体上建立两个命令按钮,分别设置其属性。(7)ForeColor属性:前景颜色(8)BackColor属性:背景颜色(9)MousePointer属性:鼠标指针类型,设置值范围0~15,由系统指定。若为99,由用户提供的图形文件定义鼠标指针形状。(10)MouseIcon属性:在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在Graphics目录下。控件默认属性:程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。控件默认属性控件默认属性文本框命令按钮单选按钮TextDefaultValue标签图形、图像框复选框CaptionPictureValue例如,下面两条语句是等价的:Text1.Text="VisualBasic"Text1="VisualBasic"2.2.2窗体窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画出程序的界面。窗体属性决定了窗体的外观和操作。1.窗体的主要属性(1)Caption标题(2)MaxButton、MinButton(3)Icon:窗体最小化时所显示的图标(4)ControlBox:控制菜单框的有无,值为False时,没有控制菜单框,也无最大化、最小化、关闭按钮,这时系统自动将MaxButton和MinButton设置为False。(5)BorderStyle:边框样式,取值为012345(6)Picture:窗体背景(7)AutoRedraw:决定窗体被隐藏或覆盖后重新显示时,是否重新还原原来的内容。(8)WindowState(0-正常、1-最小化、2-最大化)2.窗体的事件常用的事件有Click、DblClick、Resize、Load和Unload、Activate和DeActivate等。Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。例2.2窗体无最大化按钮和最小化按钮,窗体启动时,在标题栏显示“装入窗体”,并装入一背景图;单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字。3.窗体的方法使用方法的语法形式:[对象.]方法[参数列表](1)Print方法用来显示文本内容,格式:[对象.]print表达式(2)Cls方法清除运行时在窗体或图形框中产生的文本或图形,Cls方法不能清除窗体在设计时的文本和图形。格式:[对象.]cls(3)Move方法可移动窗体或控件,并可改变其大小。语法格式如下:[对象.]Move左边距离[,上边距离[,宽度[,高度]]]2.2.3标签作用:用于显示文本(输出)信息,不能作为输入信息的界面。其内容只能通过Caption属性设置或修改,不能直接编辑。主要属性:BackStyle、BorderStyle、AlignMent、AutoSize。事件:Click、DblClick、Change等,一般不需要编程。方法:Move例2.3标签属性演示例显示浮雕效果的文字,实现方法:字颜色、标签位置。2.2.4文本框文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。1.重要属性(1)Text显示或输入的正文内容(2)Maxlength设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。(3)MultiLine多行属性设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。(4)ScrollBars滚动条属性0-None无滚动条1-Horizontal水平滚动条2-Vertical垂直滚动条3-Both同时加水平和垂直滚动条注意:当MultiLine为True时,ScrollBars才有效(5)PassWordChar设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。当MultiLine为True时,该属性不起作用,密码不允许多行。(6)Locked指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。注意:Locked与Enabled的区别。(7)文本内容进行选择操作的三个属性SelStart选定的正文开始位置SelLength选定的正文长度SelText选定的正文内容这3个属性互相关联,例如设置SelStart、SelLength后,SelText自动存放指定的文本。注意:属性窗口中没有这三个属性,只能在程序代码中使用。例2.4利用属性实现文本信息的复制。2.文本框的事件(1)Change事件当Text属性值发生改变时引发该事件例在文本框每输入一个字符就引发一次事件(2)KeyPress事件按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中例对回车的判断KeyAscii=13(3)LostFocus事件对象失去焦点时发生LostFocus事件。该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。(4)GotFocus事件GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生。焦点转移的方法:在对象上单击或利用Tab键。此外,文本框还有Click、DblClick、KeyDown、KeyUp等。3.文本框的方法文本框最有用的方法是SetFocus,把光标移到指定的文本框中。其形式如下:[对象.]SetFocusSetFocus还可以用于如CheckBox、ListBox、CommandButton、ComboBox等控件。例2.5利用文本框,实现简单的两数加法运算。要求对输入的数据进行合法性检验,过滤不合法的数据。2.2.5命令按钮作用:用于程序运行时执行相应的事件。1.主要属性(1)Caption命令按钮上显示的文字。(2)Style按钮样式。0——Standard:默认,按钮上不能显示图形。1——Graphical:按钮上可以显示图形和文字。(3)Picture按钮可显示图片文件(.bmp和.Ico),当Style为1时有效。(4)ToolTipText设置工具提示文字,和Picture结合使用。(5)Value检查该按钮是否按下。该属性在设计时无效。(6)Default和Cancel多个按钮时使用。2.事件命令按钮可以接收Click、GotFocus、LostFocus、KeyDown、KeyUp等事件,没有DblClick事件。一般编写Click事件。2.3综合应用例2.6建立一个类似记事本的应用程序,提供:(1)剪切、复制和粘贴的编辑操作;(2)字体大小的格式设置。分析:(1)建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。(2)利用文本框的SelText属性实现“剪切、复制和粘贴”的编辑操作。(3)“格式”设置利用Font对象实现。本章小节1.VB中类和对象的概念:类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。2.对象三要素:属性、事件、方法。3.窗体是所有控件的容器,窗体的属性、事件和方法。4.基本控件:标签、文本框、命令按钮。第三章VB语言基础3.1数据类型3.2变量和常量3.3运算符和表达式3.4程序结构和编码规则3.5综合应用3.6常见错误1.数值型1)整数①整型(Integer,%):以带符号的两个字节表示②长整型(Long,&):长整型以带符号的4字节存储2)浮点数①单精度型(Single,!):以4个字节存储,符号占1位,指数占8位,其余23位表示尾数,精度为7位有效数字。②双精度型(Double,#):用8个字节存储,符号占1位,指数占11位,其余52位用来表示尾数,精度为15位有效数字。3.1数据类型3)货币型(Currency,@)为表示钱款而设置,定点实数或整数,以8个字节存储,精确到小数点后4位和小数点左边15位,取值范围为:-922337203685477.5808~922337203685477.58074)字节(Byte)1个字节的无符号二进制数存储,取值范围为0~255。2.字符串(String,$)是一除了回车和双引号的所有西文字符和汉字字符序列,用双引号括起。例如:"fghjhh""VisualBasic6.0程序设计"""(空字符串)VB的字符串分为两种:变长和定长字符串。4.变体型(Variant)变体型是一种可变的数据类型,又称为通用型。可以表示任何值,包括数值、字符串、日期/时间等。变体型也可以是Empty(空)、Null(无效)、Error(出错)、Nothing(无指向)4种特殊的数据。对于变体类型,可以用函数VarType()进行变量的类型,其返回值为整型。如:0为Empty,1为Null,2为整型,3为长整型,4为单精度,5为双精度,6为货币型,7为日期型,8为字符型,9为对象型等。也可以用函数TypeName()来获取变量的数据类型名称。如TypeName(a)结果为Long。5.其他数据类型布尔(Boolean)是一逻辑值True或False,用两个字节存储。日期(Date)存储为64位(8个字节)浮点数值形式,以符号“#”括起来。例如:#05-01-2009#,#2009-3-38:35:25#对象(Object)表示图形或OLE对象或其他对象,用4个字节存储。VB中11种标准数据类型和2种复合数据类型:3.2变量与常量3.2.1变量1.变量和常量的命名规则变量:在程序运行中其存储的值可以改变。常量:在程序运行中其值不可以改变。命名规则:1)变量名必须以字母或汉字开头,所有字母不分大小写。2)不能包含圆点“.”。3)字符总个数不得超过255个字符。4)在同一个范围内必须是惟一的。5)变量名要“见名知义”,变量名要便于记忆、有意义。6)不能用VisualBasic的关键字作为变量名,如print。7)变量名不能与过程名和符号常量名相同。2.变量声明1.用Dim语句显式声明变量形式:Dim变量名[AS类型]或Dim变量名类型符说明:(1)变量名与类型符之间不能有空格。例DimaAsinteger,bAssingle等价于Dima%,b!(2)一条Dim语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声明不能共用。若没有类型声明,则为变体类型。如:Dima,b,casinteger(3)对于字符型变量,可有定长和变长两种声明方式:Dim字符串变量名AsStringDim字符串变量名AsString*字符个数在VB中,一个汉字与一个西文字符一样都算作一个字符,占两个字节。(4)使用声明语句声明一个变量后,VB自动将数值型变量置初值0,字符型置初值空串,变体型置初值Empty,布尔型置初值False,对象型置初值Nothing,日期型置初值“0:00:00”。(5)除了使用Dim外,还可以使用Static、Public、Private等保留字进行声明变量。2.隐式声明未进行上述的声明而直接使用,其类型为Variant类型。建议不使用。3.强制显式声明(OptionExplicit语句)声明方法:①在模块的通用声明段中加入语句:OptionExplicit②在“工具”菜单中选取“选项”命令,然后在打开的对话框中单击“编辑器”选项卡,再复选“要求变量声明”。3.2.2常量1.直接常量以直接明显的形式给出的各种数据1)数值常量整数常量:十进制、八进制(&O)和十六进制(&H或&h)长整型常量:十进制、八进制和十六进制形式货币型常量(即定点数)、浮点数2)字符串常量由除双引号和回车符之外的ASCII字符组成的字符串3)布尔常量只有True和False两个值4)日期常量两个“#”符号把日期值括起来表示日期常量2.用户声明常量形式:Const常量名[AS类型]=表达式省略[AS类型],常量的类型由表达式值的类型决定。为使与变量名区分,一般常量名使用大写字母。例ConstPI=3.14159constPI%=3.14159常量一旦声明,在其后的代码中只能引用,不能改变。3.系统提供的常量系统定义常量位于对象库中,可通过“对象浏览器”查看。例:vbNormal、vbCrLf、vbRed等。3.3运算符和表达式VB有4种运算符:VB表达式:算术运算符算术表达式连接运算符字符串表达式关系运算符关系表达式逻辑运算符逻辑表达式3.3.1运算符1.算术运算符八种算术运算符:^、-、*、/、\、mod、+、-例:5+10mod10\9/3+2^2结果:注意:算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换为数值类型后再运算。如:30-True=31,‘True自动转换为-1,False转换为0。False+10+”4”=14True+12+”a”错误求余和整除运算时,若运算量不是整数,则先四舍五入为整数,再运算。求余运算结果的符号始终与第一个运算量符号相同。102.字符串运算符&两旁的操作数可任意,转换成字符型后再连接。+两旁的操作数应均为字符型,如果1)数值型则进行算术加运算;2)一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加;3)一个为非数字字符,另一个为数值型,出错。例如:操作结果操作结果"ab"&123"ab123""ab"+12出错"12"&456"12456""12"+456468"12"&True"12True""12"+True11“12”&100+1212112“12”+100&1211212注意:使用&运算时,变量与运算符之间应加一个空格,以示与长整型类型符的区别。3.关系运算符将两个操作数进行大小比较,结果为逻辑值。八种关系运算符:=、>、>=、<、<=、<>、Like、Is注意:字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。例:"ABCDE">"ABRA"结果为False常见的字符值的大小比较关系如下:“空格”<“0”<…<“9”<“A”<…<“Z”<“a”<…<“z”<所有汉字两个操作数都是数值型,按其大小比较;数值型与可转化为数值型的数据比较,按数值比较,如29>”189”,结果False;数值型与不能转换成数值型的字符型不能比较,如4>”12a”,出错。汉字之间按汉字的拼音字母比较。关系运算符的优先级相同。4.逻辑运算符将操作数进行逻辑运算,结果是逻辑值:条件表达式1And条件表达式2条件表达式均为T,结果为T;条件表达式1Or条件表达式2条件表达式有一个为T结果为T。3.3.2表达式1.组成由变量、常量、函数、运算符和圆括号按一定规则组成。2.书写规则(1)运算符不能相邻。例a+-b是错误的。(2)乘号不能省略。例x乘以y应写成:x*y。(3)括号必须成对出现,均使用配对的圆括号。(4)表达式从左到右在同一基准上书写,无高低、大小。3.不同数据类型的转换运算结果的数据类型向精度高的数据类型靠。Integer=字符运算符>关系运算符>逻辑运算表达式书写举例a*b*c*d/e/f/g或a*b*c*d/(e*f*g)例逻辑表达式书写,选拔优秀生的条件为:年龄(Age)小于19岁,三门课总分(Total)高于285分,其中有一门为100分,如果其表达式写为:Age<19AndTotal>285And(Mark1=100OrMark2=100OrMark3=100)如果取消括号有何问题?请读者考虑。sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)例:表示算术表达式:正确的VB表达式:3<=xAndx<=7错误的VB表达式:3<=x<=7或3<=xOrx<=7一、数学函数1.求绝对值函数Abs(x)函数格式:Abs(x)函数功能:求x的绝对值。举例:设c=9.56,d=-5.7,则Abs(d+c)的值为3.862.符号函数Sgn(x)函数格式:Sgn(x)函数功能:求x的符号,返回值1、-1、0举例:表达式Sgn(-6.7)结果为-13.求平方根函数Sqr(x)函数格式:Sqr(x)函数功能:求x的平方根,但x的值必须为非负数举例:表达式Sqr(2)的值为1.4142135623731。3.3.3VisualBasic的内部函数4.指数函数Exp(x)函数格式:Exp(x)函数功能:求以e为底,以x为指数的值,即求e的x次幂举例:表达式Exp(1)的值为2.718281828459055.对数函数Log(x)函数格式:Log(x)函数功能:求以e为底的对数值(即自然对数),x必须为正数举例:表达式Log(2)的值为0.6931471805599456.正弦函数Sin(x)函数格式:Sin(x)函数功能:求x的正弦函数值,x必须为以弧度为单位表示的角度7.余弦函数Cos(x)函数格式:Cos(x)函数功能:求x的余弦函数值,x必须为以弧度为单位表示的角度8.正切函数Tan(X)函数格式:Tan(x)函数功能:求x的正切函数值9.随机数函数Rnd(x)随机数函数Rnd(x)变量x可省略,可产生一个[0~l)之间的双精度随机数①当x<0或x=0时,则每次产生的随机数都相同②当x>0或省略时,产生下一个随机数Randomize语句:产生随机化因子语句格式:Randomize[(x)]例如:要产生1~100之间的随机整数:Int(Rnd*100+1)二、转换函数1.取整函数Int()函数格式:Int(x)功能:求不大于x的最大整数,返回值为整型数举例:设x=5.67,y=-5.67,则Int(x)=5,int(y)=-62.舍去小数部分函数Fix和四舍五入取整函数Round函数格式:Fix(x),Round(x)函数功能:去掉x的小数部分或四舍五入,返回值为整型数举例:设a=5.69,b=-5.88,Fix(a)=5,Round(b)=-63.十进制数转换为十六进制函数函数格式:Hex(x)或Hex$(x),转换后的结果为一字符串4.十进制数转换为八进制函数函数格式:Oct(x)或Oct$(x),转换后的结果为一字符串5.将字符串中的小写字母转换成大写字母函数函数格式:Ucase(字符串表达式)6.将字符串中的大写字母转换成小写字母函数函数格式:Lcase(字符串表达式)7.求字符的ASCII码函数函数格式:Asc(字符串表达式)求字符串表达式中的第一个字符的ASCII码值8.求ASCll码值对应的字符函数函数格式:Chr(表达式)表达式的值必须是一个合法的ASCII码值9.把数字字符串转换为数值的函数函数格式:Val(字符串)如果字符串是一个非数字字符串,则该函数的函数值为0,字母字符不转换,如:Val(“abcxyz”)的值为0,Val(“123.4+xyz”)的值为123.410.把数值转换为数字字符串的函数函数格式:Str(数值表达式)举例:Str(23.56)的值为字符串“23.56”数据类型转换函数1.转换为整型数据的函数函数格式:CInt(数值表达式)小数部分的第1位进行四舍五入如CInt(34.5)=352.转换为货币类型数据的函数函数格式:CCur(数值表达式)保留4位小数且自动将第5位小数进行四舍五入3.转换为双精度类型数据的函数函数格式:CDbl(数值表达式)4.转换为长整型数据的函数函数格式:CLng(数值表达式)5.转换为单精度类型数据的函数函数格式:CSng(数值表达式)6.转换为变体类型数据的函数函数格式:CVar(数值表达式)7.转换为字符串类型数据的函数函数格式:CStr(表达式)8.转换为日期类型数据的函数函数格式:CDate(表达式)三、字符串处理函数1.删除字符串两端空格字符函数函数格式:Trim(字符串表达式)举例:Trim("abc")&"xyz"的值为“abcxyz”。2.删除字符串左端的空格字符函数函数格式:LTrim(字符串表达式)举例;LTrim("abc")&"xyz"的值为“abcxyz”。3.删除字符串右端空格字符函数函数格式:RTrim(字符串表达式)举例:RTrim("abc")&"xyz"的值为“abcxyz”。4.从字符串的左端截取字符函数函数格式:Left(字符串表达式,n)举例:Left("abcdefgh",3)的值为“abc”。5.从字符串的中部截取字符函数函数格式:Mid(字符串表达式,n[,m])举例:Mid(“abcdefgh”,3,5)的值为“cdefg”。Mid("abcdefgh",3)的值为“cdefgh”。6.从字符串的右端截取字符函数函数格式:Right(字符串表达式,n)举例:Right("abcdefgh",4)的值为“efgh”。7.求字符串的长度函数函数格式:Len(字符串表达式)或Len(变量名)举例:Len(“abcd科学家123”)的值为10也可以求出某个变量所占的存储空间PrivateSubCommand1_Click()DimxAsInteger,yAsSingle,DimzAsDoublePrintLen(x),Len(y),Len(z)EndSub8.求字符串所占字节数函数函数格式:LenB(字符串表达式)或LenB(变量名)举例:LenB(“abed科学家123”)的值为209.产生字符串函数函数格式:String(n,字符)或String(n,ASCII码)举例:String(10,"a")的值为“aaaaaaaaaa”,String(5,65)的值为“AAAAA”10.产生空格字符串函数函数格式:Space(n)举例;"abcd"&space(5)&"xyz"的值为“abcdxyz”11.字符串查找函数函数格式:InStr([首字符位置,]字符串1,字符串2[,n])如果找到了则返回“字符串2”在“字符串1”中第一次出现时第一个字符在“字符串1”中的位置,找不到时返回值为0。12.在C字符串中从1或N1开始将C2替代C1的函数函数格式:Replace(C,C1,C2[,N1][,N2][,M])有N2替代N2次,没有则全部替代。省略M为区分大小写。例如:Replace(“abcdabcd”,”cd”,”123”)=“ab123ab123”13.将字符串反序的函数函数格式:StrReverse(字符串)举例:StrReverse(“abcxyz”)的值为”zyxcba”14.将数组A各元素按D或空格连接成字符串的函数函数格式:Join(A[,D])举例:A=array(“123”,”ab”,”c”)Join(A,“”)的值为字符串“123abc”15.将字符串C按分隔符D或空格分隔成字符数组的函数函数格式:Split(C[,D])举例:S=Split(“123,ab,456”,”,”)则S(0)=“123”S(1)=“ab”S(2)=“456”3.4.6日期和时间函数1.返回系统当前的日期和时间函数函数格式:Now或Now()返回格式为yy-mm-ddhh:mm:ss2.读取或设置系统当前的日期函数函数格式:Date或Date(),Date$或Date$()可以设置系统当前的日期:Date=日期字符串3.读取或设置系统当前的时间函数函数格式:Time或Time(),Time$或Time$()可以设置系统当前的时间:Time=时间字符串4.求日期中的年份函数函数格式:Year(日期字符串),结果为一整型数5.求日期中的月份函数函数格式:Month(日期字符串)6.求日期中的日子函数函数格式:Day(日期字符串)7.求当前日期是星期几的函数函数格式:Weekday(日期字符串)结果为一整型数,1代表星期日,…,7代表星期六8.求时间中的小时函数函数格式:Hour(时间字符串)Hour("21:09:10")=219.求时间中的分钟函数函数格式:Minute(时间字符串)10.求时间中的秒函数函数格式:Second(时间字符串)11.计算从午夜起经过的秒数函数函数格式:Timer或Timer()视系统当时的时间而定12.对要增减的日期变量按日期形式做增减的函数形式:DateAdd(增减日期形式,增减量,日期变量)例如:DateAdd(“m”,3,#3/10/2009#)结果是#6/10/2009#13.两个指定的日期按日期形式求差额的函数形式:DateDiff(要间隔日期形式,日期1,日期2)例如:DateDiff(“d”,now,#2009/5/1#)日期形式的意义:yyyy——年q——季m——月y——一年的天数d——日w——一周的天数ww——星期h——时n——分s——秒四、Shell函数Shell函数负责执行一个可执行文件,返回一个任务标识,如果成功,代表这个程序的进程ID,若不成功,则会返回0。形式:Shell(命令字符串,窗口类型)窗口类型值为1表示正常窗口,缺省为窗口最小化为图标。例如:i=Shell("c:\windows\calc.exe")j=Shell("c:\command.com",1)3.4程序结构和编码规则本章目录编码规则1.编码规则VB代码中不区分字母的大小写同一行可书写多条语句,但要用冒号“:”分隔换行时需在行后加入续行符,即1个空格加下划线一行最多允许255个字符注释以Rem或“‘”开头,出现在语句前面或后面程序转向时用标号,标号以字母开始加一冒号2.约定关键字的首字母大写。若关键字由多个英文单词组成,则每个单词的首字母都大写,如StudType等。注释有利于程序的维护和调试,因此要养成注释的习惯。设置注释或取消注释的方法:选中要加注释块的语句行或单击编辑工具栏的“设置/取消注释块”按钮。3.5综合应用例3.1模仿字处理软件中字符串替换功能。设计思路:利用Shell函数调用winword.exe执行Word程序实现替换功能;利用查找(InStr)、取子串(Left、Mid)等函数实现替换功能;利用替换(Replace)函数实现替换功能。本章目录3.6常见错误1.逻辑表达式书写错,在VB没有造成语法错而形成逻辑错例如,数学表达式3≤x<10VB表达式写为3<=x<10。问题在于VB中的逻辑量与数值量可相互转换。2.同时给多个变量赋值,在VB没有造成语法错而形成逻辑错例如:Dimx%,y%,z%x=y=z=13.标准函数名写错4.变量名写错检查方法:在通用声明段加OptionExplicit5.语句书写位置错在通用声明段只能有Dim语句,不能有赋值等其他语句本章小节1.VB提供的数据类型2.变量3.常量4.常用运算符及优先级算术运算符:^、-(取负)、*、/、Mod、\、+、-高到低字符运算符:+、&同级关系运算符:=、>、>=、<、<=、<>、Is、Like同级逻辑运算符:Not、And、Or高到低5.表达式书写及值的类型6.常用函数要掌握的数学函数有:Rnd、Sgn、Abs等;要掌握的字符串函数有:Instr、Left、Right、Mid、Len、LenB、String等;要掌握的转换函数有:Int、Round、Fix、Lcase、Ucase、Asc、Chr、Val、Str等;要掌握的日期和时间函数有:Date、Time、Now等。7.VB程序的书写规则本章目录第四章基本的控制结构4.1顺序结构4.2选择结构4.3循环结构4.4其他辅助控制语句4.5综合应用4.6程序调试4.7常见错误4.1顺序结构顺序结构就是各语句按出现的先后次序执行。一般的程序设计语言中,顺序结构的语句主要是赋值语句、输入/输出语句等。在VB中也有赋值语句;而输入/输出可以通过文本框控件、标签控件、InputBox函数、MsgBox函数或过程及Print方法等来实现。本章目录4.1.1赋值语句形式:[LET]变量名=表达式或者[对象.]属性=属性值作用:将表达式的值赋值给变量名或属性名。一般用于给变量赋值或对控件设定属性值。例:sum!=sum+xText1.Text="欢迎使用VisualBasic6.0"注意:当表达式值的精度与变量的精度不一致时,强制转换成左边的精度,如m%=10/3,则m中的结果为3当表达式是数字字符串,左边变量是数值类型,自动转换为数值类型再赋值,但表达式有非数字字符时,则出错。例如:n%=“123”n%=“12a3”当逻辑型赋值给数值型时,True转换为-1,False转换为0;反之当数值型赋值给逻辑型时,非0转换为True,0转换为False。任何非字符类型赋值给字符类型,自动转换为字符类型。虽然赋值号与关系运算符等于号都用“=”表示,VB系统会根据所处的位置自动判断是何种意义的符号。如语句x=y=z=1赋值号左边只能是变量,不能是常量、常数符号或表达式。如:x+y=3,sin(x)=x+z理解n=n+1与s=s+x语句的含义。4.1.2数据的输入与输出1.标签和文本框控件标签可以输出信息,文本框即可输入也可输出信息。2.输入对话框InputBox函数InputBox[$](Prompt,[Tiltle],[Default],[Xpos],[Ypos])其中:1)Prompt:字符串,长度不超过1024个字符,用来提示用户输入。文本可自动换行。如想强制插入回车换行则用:Chr$(13)+Chr$(10)或常数vbCrLf。2)Title:字符串,对话框标题,显示在对话框顶部的标题区。3)Default:字符串,用来显示输入缓冲区的默认信息。4)Xpos,Ypos:是两个整数值,确定对话框在屏幕上的位置;如果省略,则对话框显示在屏幕中心线向下约1/3处。使用InputBox函数时的注意事项:1)Default表示输入的初始默认值,如果直接按下回车键或单击“确定”按钮,函数的返回值(函数值)为该默认值。2)变量名=InputBox(参数表)函数值默认为字符类型。输入数值时,函数值可以利用Val函数转换为数值后,再参加运算。如果变量已被正确地定义了类型时,则不必进行类型转换。3)输入数据后,按回车键或单击“确定”按钮表示确认,并返回在文本框中输入的数据;如果单击“取消”按钮(或按Esc键)时,则取消当前的输入,此时该函数返回一个空字符串。4)需要输入多个值,则必须多次执行或调用InputBox函数。例4.1利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。PrivateSubForm_Click()Dimsfgz!,jbgz!,yAsSinglejbgz=Val(InputBox("输入基本工资","计算工资",300))y=Val(InputBox("输入本月营业额"))sfgz=jbgz+y*0.05Label1="本月营业额为:"&y&"基本工资为:"&_jbgz&vbCrLfLabel1=Label1&"本月实发工资为:"&sfgzEndSub作用:打开一个信息框,等待用户选择一个按钮。MsgBox函数返回所选按钮的值,MsgBox过程不返回值。MsgBox函数形式:MsgBox(提示,[按钮],[标题])MsgBox过程形式:MsgBox提示,[按钮],[标题]其中:按钮项是一整型表达式,决定信息框按钮的数目、类型及出现在信息框上的图标形式。3.消息对话框MsgBox函数和MsgBox过程MsgBox按钮设置第3个按钮为默认512vbDefaultButton3第2个按钮为默认56vbDefaultButton2第1个按钮为默认0vbDefaultButton1默认按钮信息图标64vbInformation警告信息图标48vbExclamation询问信息图标32vbQuestion关键信息图标16vbCritical图标类型重试、取消按钮5vbRetryCancel是、否按钮4vbYesNo是、否、取消按钮3vbYesNoCancel终止、重试、忽略按钮2vbAboutRetryIgnore确定、取消按钮1vbOkCancel确定按钮0vbOkOnly按钮数目描述值内部常数分组MsgBox所选按钮返回值内部常数返回值被单击的按钮vbOk1确定vbCancel2取消vbAbort3终止vbRetry4重试vbIgnore5忽略vbYes6是vbNo7否例4.2编一帐号和密码检验程序。要求:帐号不超过6位数字,有错,清除原内容再输入。密码输入时在屏幕上以“*”代替;若密码错,显示有关信息,选择“重试”按钮,清除原内容再输入,选择“取消”按钮,停止运行。分析:帐号6位,MaxLength为6,LostFocus判断数字IsNumeric函数;密码PassWordChar为“*”,MsgBox函数设置密码错对话框。4.Print方法作用:在对象上计算并输出表达式的信息。格式:[对象.]Print[Spc(n)|Tab(n);][输出列表][;|,]说明:对象:窗体、图形框或打印机,缺省为窗体;Spc(n)函数:从当前位置起空n个空格;Tab(n)函数:从最左端开始的第n列上输出;分号:紧凑格式,定位在上一个被显示的字符之后;逗号:标准格式,定位在下一个打印区开始处(每区14列);Print语句尾无分号或逗号,输出后换行。例4.3Print方法输出图形5.Format格式输出函数形式:Format(表达式[,"格式字符串"])常用数值格式化符及举例1.23E-01"0.00E+00"1234.567用指数表示E+$1234.57"$###.##"1234.567在数字前强加$$123456.7%"####.##%"1234.567数值乘以100,加百分号%1,234.567"##,##0.000"1234.567千分位,1234.567"#####.####"1234.567位置不足时不填充0#01234.5670"00000.0000"1234.567用0填充不足的位置0显示结果格式字符串表达式作用符号例4.4利用Format函数显示数值。4.2选择结构计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。必须利用选择结构等来解决实际应用中的各种问题。VB中提供了多种形式的条件语句来实现选择结构,有If条件语句和Select情况语句等。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。本章目录1.If…Then语句(单分支结构)If<表达式>Then语句块EndIf或If<表达式>Then<语句>例4.5已知两个数x和y,比较它们的大小,使得x大于y.IfxThen<语句块1>Else<语句块2>EndIfIf<表达式>Then<语句1>Else<语句2>例4.6计算分段函数:单分支结构实现:y=cos(x)-x^3+3*xIfx<>0Theny=sin(x)+sqr(x*x+1)双分支结构实现:Ifx<>0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)-x^3+3*xEndIf3.If…Then…ElseIf语句(多分支结构)形式:If<表达式1>Then<语句块1>ElseIf<表达式2>Then<语句块2>…[Else语句块n+1]EndIf注意:1)此处Else和If之间不能有空
/
本文档为【《Visual_Basic程序设计教程(第四版)龚沛增》完整课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索