第3章程序设计基础.ppt_第1页
第3章程序设计基础.ppt_第2页
第3章程序设计基础.ppt_第3页
第3章程序设计基础.ppt_第4页
第3章程序设计基础.ppt_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

,第3章VisualBasic程序设计基础,本章学习目标要求,VisualBasic系统中的数据类型。常量、变量的声明。常用的系统内部函数。运算符和表达式。利用Print方法实现数据输出。与Print方法有关的函数、方法及格式输出。利用InputBox函数实现数据输入。MsgBox函数的应用。字体的设定。,3.1工作场景导入,3.1工作场景导入,【引导问题】(1)如何通过设置属性值来建立如图所示的界面?(2)如何在程序设计中声明变量?(3)如何在程序设计中判断方程有没有解,怎样写判断表达式?(4)如何利用程序计算方程的解?,3.2数据类型,在不同的应用程序中,可能使用到不同的数据类型,不同的数据类型体现了数据结构的不同特点。VisualBasic为用户提供了多种数据类型,并允许用户定义自己所需的类型。,3.2.1基本数据类型,基本数据类型主要有字符串数据和数值型数据,此外还提供了字节、货币、对象、日期、布尔和变体数据类型。1.字符串型字符串(String)也称字符串型数据,它是由标准ASCII字符和扩展ASCII字符组成的。字符型数据必须用英文半角的双引号扩起来。例如:你好!sheisagoodstudent.13579VisualBasic中的字符串包括如下两种:变长字符串和定长字符串,3.2.1基本数据类型,2.数值型VisualBasic的数值型数据分为整型数和浮点型数两大类。1)整型数整型数包括两种,整数(Integer):整数以两个字节(16位)的二进制码表示和参与运算,其取值范围为-32768+32767;长整型(Long)是以四个字节(32位)的二进制码表示和参与运算,3.2.1基本数据类型,2)浮点型数浮点数也分为两种即单精度数(Single)和双精度数(Double)。它由3部分组成:符号、指数及尾数。在用科学计数法表示时,单精度数和双精度数的指数分别用E和D来表示。例如:123.45E+3,表示单精度数123.45乘以10的3次幂;123.4567D+3,表示双精度数123.4567乘以10的3次幂。其中123.45或123.4567是尾数部分,而E+3、D+3则是指数部分。,3.2.1基本数据类型,单精度数和双精度数的区别是:(1)单精度数(Single):1个单精度数占4个字节内存,有效数字精确到7位十进制数。(2)双精度数(Double):1个双精度数占8个字节内存,有效数字精确到15位或16位十进制数,3.2.1基本数据类型,3.货币型(Currency)货币型数据是专门用来表示货币数量的数据类型。其特点是小数点后的有效数位是确定的,固定为4位。计算的结果将小数点后4位以下的数字舍去。该数据类型的数据占用8个字节的内存4.字节型(Byte)字节实际上是一种数值类型,以1个字节的无符号二进制数存储,其取值范围为0255。,3.2.1基本数据类型,5.对象型(Object)对象型数据用来表示图形、OLE对象或其它对象,占用4个字节内存。6.布尔型(Boolean)布尔型数据,又称“逻辑型”数据,是经常用到的一种数据类型,占用两个字节的内存。其取值仅有两种,即True(真)、False(假)。把数值型数据转换为布尔型数据时,0会转换为False,其它非0值转换为True。反之,当把逻辑型数据转换为数值型时,False转换为0,True转换为-1,3.2.1基本数据类型,7.日期型(Date)日期型数据表示由年、月、日组成的日期信息或由时、分、秒组成的时间信息。日期型数据占用8个字节内存。日期型数据的书写格式为:mm/dd/yyyy或mm-dd-yyyy,或是可以辨认的文本日期日期数据必须用#号将数据括起来。例如:#12/26/2004#、#10:58:30#等都是合法的日期型数据。8.变体(Variant)可以表示任何值,包括数值、字符串、日期时间等。,3.2.2用户定义的数据类型,程序设计者可以使用Type语句声明自定义的数据类型。自定义的数据类型是由已存在的数据类型组合而成。其具体的定义格式为:Type成员名1As类型名成员名2As类型名.成员名nAs类型名EndType,例如:TypeStudentNumAsLongNameAsString*10SexAsString*5ScoreAsSingleEndType,3.2.2用户定义的数据类型,TypeStudentNumAsLongNameAsString*10SexAsString*5ScoreAsSingleEndType,3.2.2用户定义的数据类型,下面的事件过程使用了自定义类型Student声明了一个变量、并给它的每个成员赋值。PrivateSubCommand1_Click()DimintavsAsIntegerDimfirstAsStudentfirst.Num=12738434first.Name=张三first.Sex=男first.Score=90.4EndSub,3.2.3枚举类型,枚举类型主要用于取值情况只有若干种并且数值之间关系相对固定的数据。枚举类型数据用Enum语句开头,其定义的格式为:Public|PrivateEnum成员名1=常数表达式成员名2=常数表达式.成员名n=常数表达式EndEnum,例如:PublicEnumWeekDaysSundayMondayTuesdayWednesdayThursdayFridaySaturdayEndEnum这里定义了一个枚举类型WeekDays,它包括7个成员,都省略了“常数表达式”,因此常数Sunday的值为0,常数Monday的值为1,等等。,PrivateSubForm_Click()DimMydayAsWeekDaysForMyday=SundayToSaturdayPrintMydayNextMydayEndSub以上的事件的含义是:当单击窗口,屏幕上打印出0、1、2、3.。,3.3常量和变量,在程序中,不同类型的数据既可以以常量形式出现,也可以以变量形式出现。常量在程序执行过程中值是不变的,相反变量的值是可变的。,3.3.1常量,常量(常数)是指在程序运行过程中其值保持不变的数据,包括直接常量和符号常量。1.直接常量直接常量包括数值常量、字符串常量、日期常量和布尔常量。1)数值常量。数值常量包括以下4种:(1)整型数(2)长整型数(3)货币型常量(4)浮点数,3.3.1常量,2)字符串常量字符串常量由任何ASCII字符组成,但不包括双引号和回车符。表示字符串常量时,必须用双引号括起来。当用户需要特别指明一个常量属于哪种类型时,可以在常数的后面加上类型说明符。%整型。“对象名称”可以是窗体(Form)、图片框(PictureBox)、打印机(Printer)、立即窗口(Debug)。如果省略对象名称,则默认在当前窗体上输出。“表达式列表”是一个或多个表达式,可以是数值表达式或字符串。对于数值表达式,打印出表达式的值;而字符串则照原样输出。如果省略表达式列表,则输出一个空行。例如:Form1.Print”VisualBasic”Print”VisualBasic”Picture1.Print”VisualBasic”Print,3.6.1数据的输出,当输出多个表达式或字符串时,各表达式用分隔符(逗号、分号或空格)隔开。如果用逗号分隔,则按标准输出格式(分区输出格式)显示数据项。在这种情况下,以14个字符位置为单位把一个输出行分为若干个区段,逗号后面的表达式在下一个区段输出。如果各输出项之间用分号或空格作为分隔符,则按紧凑输出格式输出数据。当输出数值数据时,数值的前面有一个符号位,后面有一个空格,而字符串前后都没有空格。,3.6.1数据的输出,每执行一次Print方法会自动换行。为了能连在同一行上显示,可以在末尾加上一个分号或逗号。当使用分号时,下一个Print输出的内容将紧跟在当前Print所输出的信息的后面;如果使用逗号,则在同一行上跳到下一个显示区段显示下一个Print所输出的信息。例如:Print4+3=,Print4+3Print4+3=;Print4+3,注意:Print方法在Form_Load事件过程中不起作用。如果要在该事件中显示数据,必须在该过程内加上Form.Show方法或把窗体的AutoRedraw属性设置为True。,3.6.1数据的输出,(二)与Print方法有关的函数为了使信息按指定的格式输出,VisualBasic提供了几个与Print配合使用的函数,包括Tab、Spc、Space和Format,这些函数可以与Print方法配合使用。1.Tab函数该函数的应用格式为:Tab(n)其中,参数n为数值表达式,其值为一整数,它是下一个输出位置的列号,表示在输出前把光标(或打印头)移到该列。当在一个Print方法中有多个Tab函数时,每个Tab函数对应一个输出项,各输出项之间用分号隔开。,3.6.1数据的输出,PrivateSubCommand1_Click()Picture1.Print姓名;Tab(8);部门;Tab(16);职务Picture1.Print刘玲;Tab(8);护理部;Tab(16);护士Picture1.Print李刚;Tab(8);外科;Tab(16);医生EndSub,3.6.1数据的输出,2.Spc函数该函数的应用格式为:Spc(n)参数n为一个数值表达式,其值为一整数。Spc与输出项之间用分号隔开。应用这个函数可以使输出跳过n个列Spc函数与Tab函数的作用类似,可互相代替。但应注意,Tab函数需要从对象的左端开始计数,而Spc函数只表示两个输出项之间的间隔。Print“ABC”;Spc(8);”DEF”首先输出ABC,跳过8个格输出DEF,3.6.1数据的输出,3.Space函数该函数的应用格式为:Space(n)Space$函数返回n个空格。x$=ab+Space(8)+bcprintx$,Space和Spc的区别,3.6.1数据的输出,(三)格式输出输出函数Format$可以使数值或日期按指定的格式输出。函数Format$的一般格式为:Format$(数值表达式,格式字符串)该函数的功能是:按“格式字符串”指定的格式输出“数值表达式”的值。“格式字符串”是一个字符串常量或变量,它由专门的格式说明字符组成,当格式字符为常量时,必须放在双引号中。,3.6.1数据的输出,3.6.1数据的输出,各说明字符详细解释如下。(1)#表示一个数字位。如果要显示的数值的位数小于格式字符串指定的区段长度,则该数值靠区段的左端显示,多余的位不补0。如果要显示的数值的位数大于指定的区段长度,则数值照原样显示。(2)0与#功能相同,只是多余的位以0补齐。PrintFormat$(12,#)显示:12PrintFormat$(12,00000)显示:00012,3.6.1数据的输出,(3).表示显示小数点。小数点与#或0结合使用,可以控制小数位数。根据格式字串符的位置,小数部分多余的数字按四舍五入处理。例如:PrintFormat$(123.457,#.#)显示:123.46PrintFormat$(1.234,000.00)显示:001.23,3.6.1数据的输出,(4),表示显示逗号。在格式字符串中插入逗号起到“分位”的作用,即从小数点左边一位开始,每3位用一个逗号分开。例如:PrintFormat$(12345.67,“#,#.#”)(正确)显示:12,345.67PrintFormat$(12345.67,#.#)(错误)PrintFormat$(12345.67,#,.#)(错误)注意:逗号可以放在格式字符中小数点左边除头部和尾部的任何位置。如果放在头部或尾部,则不能得到正确的结果。,3.6.1数据的输出,(5)%表示输出百分号形式(数值乘以100再加百分号)。通常放在格式字符串的尾部,用来输出百分号。例如:PrintFormat$(0.123,00.0%)显示:12.3%PrintFormat$(0.123,00%)显示:12%(6)$表示输出美元符号。通常作为格式字符串的起始字符,在所显示的数值前加上一个$。例如:PrintFormat$(123.4,$#0.00)显示:$123.40,3.6.1数据的输出,(7)+正号使显示的正数带上符号,“+”通常放在格式字符串的头部。(8)-负号用来显示负数。例如:PrintFormat$(123.45,-#0.00)显示:-123.45PrintFormat$(-123.45,+#0.00)显示:-+123.45“+”和“-”用来在所要显示的数值前面强加上一个正号或负号。,3.6.1数据的输出,(9)E+(E-)用指数形式显示数值。两者作用基本相同。例如:PrintFormat$(123.45,0.00E+00)显示:1.23E+02PrintFormat$(123.45,0.00E-00)显示:1.23E02PrintFormat$(0.012345,0.00E+00)显示:1.23E-02PrintFormat$(0.012345,0.00E-00)显示:1.23E-02,3.6.1数据的输出,(四)其他方法和属性1.Cls方法该函数的应用格式为:对象.Cls其中对象可以是窗体或图片框,如果省略则代表窗体。它作用是清除由Print方法显示的文本或在图片框中显示的图形,并把光标移到对象的左上角。例如:Picture1.ClsForm1.ClsCls,注意:当窗体的背景是用Picture属性装入的图形时,不能用Cls方法清除,只能通过LoadPicture方法清除,3.6.1数据的输出,2.Move方法该函数的应用格式为:对象.Move左边距离,上边距离,宽度,高度“左边距离”,“上边距离”、“宽度”及“高度”均以twip为单位。如果“对象”是窗体,则“左边距离”和“上边距离”均以屏幕左边界和上边界为准;如果“对象”是控件,则以窗体的左边界和上边界为准。,3.6.1数据的输出,TextHeight和TextWidth方法该两个函数的应用格式为:对象.TextHeight(字符串)对象.TextWidth(字符串)这两个方法用来辅助设置坐标。其中TextHeight方法返回一个文本字符串的高度值,TextWidth方法则返回一个文本字符串的宽度值,它们的单位均为twip。,3.6.2数据输入(InputBox函数),执行InputBox函数可以产生一个对话框,作为输入数据的界面,等待用户输入数据,并返回所输入的内容。调用格式为:InputBox(prompt,title,default,xpos,ypos,helpfile,context),3.6.2数据输入(InputBox函数),其中含有7个参数,掌握下面三个参数:(1)prompt是一个字符串,它是在对话框内显示的信息,用来提示用户输入。可以自动换行,如果想按自己的要求换行,则须插入回车换行操作,即Chr(13)+Chr(10)或vbCrLf。(2)title是字符串,它是对话框的标题,显示在对话框顶部的标题区。(3)default为字符串,用来显示输入缓冲区的默认信息。如果省略该参数,则对话框的输入区为空白,等待用户键入信息。,3.6.2数据输入(InputBox函数),InputBox函数,DimStuIDAsStringStuID=InputBox(“请输入你的学号:”&vbCrLf&“有效学号是7位,学生登录,9712001),3.6.2数据输入(InputBox函数),使用InputBox函数时,应注意以下几点:第一个参数不能省略,如果中间的参数省略,中间的逗号不能省略。InputBox的返回值是一个字符串(不是变体类型)。需要输入的数值参加运算时,必须在进行运算前用Val函数(或其他转换函数)把它转换为相应类型的数值输入的数据必须作为函数的返回值赋给一个变量,否则输入的数据不能保留。,3.6.3MsgBox函数和MsgBox语句,MsgBox函数的功能是向用户传送信息,并可通过用户在对话框上的选择接收用户所做的响应,作为程序继续执行的依据。(一)MsgBox函数该函数的调用格式如下:MsgBox(msg,type,title,helpfile,context)该函数有5个参数,除第一个参数外,其余参数都是可选的。,3.6.3MsgBox函数和MsgBox语句,(1)msg是一个字符串,该字符串的内容将在产生的对话框内显示。(2)type是一个整数制或符号常量,用来控制在对话框内显示的按钮、图标的种类及数量。该参数的值由4类数值相加产生,这4类数值或符号常量分别表示按钮的类型、显示图标的种类、活动按钮的位置及强制返回,具体内容参见表3.12。(3)title是一个字符串,用来显示对话框的标题。,3.6.3MsgBox函数和MsgBox语句,一般type参数值=按钮设置值+图标设置值,值按钮的设置对应按钮名称0vbOKOnly-确定1vbOKCancel-确定、取消2vbAbortRetryIgnore-终止、重试、忽略3vbYesNoCancel-是、否、取消4vbYesNo-是、否5vbRetryCancel-重试、取消,type参数值=按钮设置值+图标设置值,Buttons参数值=1+64或vbOKCancel+vbInformation,3.6.3MsgBox函数和MsgBox语句,3.6.3MsgBox函数和MsgBox语句,MsgBox函数的返回值是一个整数,这个整数与所选择的按钮有关。,3.6.3MsgBox函数和MsgBox语句,【例3.4】编写程序,用MsgBox函数判断是否关闭计算机。设计的程序代码如下:PrivateSubCommand1_Click()Dimstr1AsStringDimstr2AsStringstr1=你确定要关闭计算机?str2=关闭x=MsgBox(str1,307,str2)Ifx=6Then判断是否单击“是”按钮End退出程序EndIfEndSub,

温馨提示

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

评论

0/150

提交评论