《Visual Basic概述》-第4章 数据输入与输出_第1页
《Visual Basic概述》-第4章 数据输入与输出_第2页
《Visual Basic概述》-第4章 数据输入与输出_第3页
《Visual Basic概述》-第4章 数据输入与输出_第4页
《Visual Basic概述》-第4章 数据输入与输出_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

4.1数据的输入数据的输入方法大致有三种:使用赋值语句、使用控件和使用InputBox函数。其中赋值语句和使用控件的方法在前面几章中已经见过了,在这里简单的回顾一下吧。今天我们主要来学习如何利用一个函数InputBox来输入数据。InputBox函数是VisualBasic所提供的从键盘输入数据的函数,利用它可以产生一个对话框,提示用户输入数据。这个对话框也是一种界面,与上一章中我们设计的界面不同的是,这个对活框的样式是固定的,用户不能改变。用户能改变的是输入框的“提示”和“标题”的内容及对活框的显示位置。如图4-2所示。下一页返回4.1数据的输入下面我们对图4-1所示的登陆窗口进行修改,程序的功能不变:当输入正确的密码,单击“确定”按钮后,标签的文字显示“欢迎你使用本软件!”;当输入错误的密码,单击“确定”按钮后,标签的文字显示“密码输入出错,请重新输入”。不同的是,在窗口中,不再设置文本框控件,而是通过密码输入对话框进行密码的输入。让我们来动手做一做吧。(1)设计应用程序界面如图4-3所示。(2)各控件对象的属性设置参见表4-1.下一页返回上一页4.1数据的输入(3)编写程序代码。DimmimaAsStringPrivateSubCommand1Click()Ifmima=”123"ThenLabel1.Caption=”欢迎你使用本软件!”ElseLabel1.Caption=“密码输入出错,请重新输入”EndIfEndSub下一页返回上一页4.1数据的输入PrivateSubCommand2Click()EndEndSubPrivateSubFormLoad()mima=InputBox(“请输入密码:”,”密码输入框”)‘将输入对话框的值赋值给变量mimaEndSub其中InputBox(”请输入密码:”,”密码输入框”)利用InputBox函数生成了一个对话框,用以输入密码。下一页返回上一页4.1数据的输入语法格式为:InputBox(<提示>[,<标题>][<默认值>]

[,<x坐标位置>][<v坐标位置>])InputBox函数返回值的数据类型为字符串。当程序运行到该函数时,将显示一个输入对话框,提示用户输入数据,并将函数返回值赋给变量。说明:该函数的常用参数有5个。下一页返回上一页4.1数据的输入①“提示”。在对话框中作为提示信息出现,用于提示用户输入何种数据,常用字符串常量表示。显示多行信息时,可以自动换行;也可以用插入“回车Chr(13)”和“换行Chr(10)”控制符的方法,强制换行。②“标题”。用于设置对话框标题,一般用字符串常量表示,若省略该参数则把程序名放入标题栏中。③“默认值”。用于在对话框中显示默认信息,若对话框的输入区无输入数据时,则该默认值作为输入数据。若省略该参数,则输入区为空白,等待用户输入数据。下一页返回上一页4.1数据的输入④"x坐标位置,y坐标位置”。整型表达式,指定对话框左上角在屏幕上显示的位置。若省略该参数,则对话框显示在屏幕中心。注意:①各参数次序必须与前面函数格式中列出的次序一一对应,除了“提示”一项不能省略外,其余各项均可省略;②该函数的返回值是一个字符串。如果要将InputBox函数的值赋给一个数值型变量,通常采用Val函数进行转换。比如:x%=Val(InputBox(”请输入x的值:”));③输入的数据必须作为函数的返回值赋给一个变量,否则输入的数据不能保留。每执行一次InputBox函数,用户只能输入一个数据,如果需要输入多个值,则必须多次调用该函数。返回上一页4.2

MsgBox函数和MsgBox语句4.2.1MsgBox函数与InputBox函数相对应,VB中还提供了一个用于向用户传送消息的对话框函数MsgBox。通过这个对话框用户可以对应用程序的执行结果进行选择判断,并且应用程序也可以通过用户在对话框上的选择接收用户所做的响应,作为程序继续执行的依据。如图4-4所示,s=MsgBox(”进行密码验证?”,vbYesNo,“确认对话框”)。下一页返回4.2

MsgBox函数和MsgBox语句在“密码验证过程”的示例中,用户在输入对话框中输入密码后单击“磷定”按钮,可以弹出一个“确认对话框”。这样,用户可以进行选择是否要进石密码确认,单击“是”按钮则进入“登陆窗口新”窗口,单击“验证”按钮,验证密码,否则,退出应用程序。如图4-5所示。程序代码如下所示:PrivateSubFormLoad()mima=InputBox(”请输入密码:”,“密码输入框”)S=MsgBox(”进行密码验证?“,vbYesNo,“确认对话框”)’将消息框的值赋值给变量s下一页返回上一页4.2

MsgBox函数和MsgBox语句Ifs=6Then’如果s=6说明用户在消息框中选择了“是”按钮Form1.Show'进入验证窗口EndIfIfs=7Then’如果S=7说明用户在消息框中选择了“否”按钮End‘退出应用程序EndIfEndSubPrivateSubCommand1Click()下一页返回上一页4.2

MsgBox函数和MsgBox语句Ifmima=”123“ThenLabel1.Caption=”欢迎您使用本软件!”ElseLabel1.Caption=”密码输入出错,请重新输入”EndIfEndSubPrivateSubCommand2Click()EndEndSub下一页返回上一页4.2

MsgBox函数和MsgBox语句消息框的格式为:MsgBox(提示[,按钮值][,标题])。执行该函数时,将显示一消息对话框,在对话框中显示提示信息并等待用户单击按钮。单击后返回一个类型为Integer的数值,应用程序就以此判断用户单击的是哪一个按钮,并做出相应的处理。其中,(1)“提示”和“标题”。意义与InputBox函数中对应的参数相同。(2)“按钮值”。是整型数值,用以表示对话框中显示的按钮个数及图标样式,指定哪个按钮作为默认按钮,以及采用怎样的等待模式等。一般有4类参数:按钮类型+图表类型+默认按钮+等待模式。其取值及意义如表4-2所示。MsgBox函数的返回值是一个整数,这个整数与所选择的命令按钮有关,如表4-3所示。下一页返回上一页4.2

MsgBox函数和MsgBox语句4.2.2MsgBox语句MsgBox函数也可以写成语句形式,即:MsgBox提示[,按钮值][,标题]。说明:(1)各参数的含义及作用与MsgBox函数相同,由于MsgBox语句没有返回值,因而常用较简单的信息提示。(2)MsgBox函数和MsgBox语句强制显示的信息框为模态窗口。返回上一页4.3

数据输出4.3.1Print方法1.用Print方法输出数据Print是VisualBasic中的方法,在第三章介绍方法的时候大家应该知道了这个方法的功能就是用来输出数据的。格式为:[对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]说明:(1)“对象”。可以是窗体(Form)、图片框(PictureBox)或打印机(Printer)。如省略对象,则默认为窗体。下一页返回4.3

数据输出例如:Print"3*2=";3*2‘在当前窗体上输出3*2=6Picture1.Print“Good”

‘在图片框Picture1上输出GoodPrinter.Print“Morning“’在打印机上输出Morning注意:当文本出现在窗体时,文本成为窗体背景的一部分,将在所有的控件之下出现。所以,很少在应用程序的主窗体中用Print显示文本。如果输出的字符串比窗体或图片框的宽度还要长,超出的部分会自动被截断,而不会自动换行,也不会自动向下滚动。下一页返回上一页4.3

数据输出(2)“表达式列表”。要输出的数值或字符串表达式。若省略,则输出一个空行,多个表达式之间可用空格、逗号或分号分隔。用分号(或空格)时,表示光标定位在上一个显示的字符后,所有项目会并列显示,中间没有空格(也称紧凑输出格式)。用逗号时,则按标准输出格式(分区输出格式)显示数据项,在这种情况下,以14个字符位置为单位把一个输出行分为若干个区段,其长度由字体大小决定,逗号后面的表达式在下一个区段输出。无“;”或“,”则表示输出后换行。下一页返回上一页4.3

数据输出例如:Print”1234567890";”1234567890",”1234567890"Print”30+50=”,

Print30+50Print”80+100=”;Print80+100注意:当输出数值数据时,数值的前面有一个符号位,后面有一个空格,而字符串前后都没有空格。下一页返回上一页4.3

数据输出例如:x=5:y=10:z=15Printx,y,z,“ABCDEF”PrintPrintx,y,z,“ABCDEF”;”GHIJK"(3)Print方法具有计算和输出双重功能,对于表达式,它先计算后输出。例如:x=3:y=9Print(x+y)/3该例中先计算表达式(x+y)/3的值,然后输出。下一页返回上一页4.3

数据输出注意:Print没有赋值功能。例如:Printz=(x+y)/3。不能打印出z=4。为了使信息在输出时具有整齐的格式,VB提供了两个与Print配合使用的函数:Tab和Spc函数,它们可以作为Print方法的一部分。2.Tab(n)函数输出时定位于第n列,从这个位置开始输出信息,允许重复使用。要输出的表达式放在Tab函数的后面,并用分号隔开。例如:PrimTab(10);”张伟”;Tab(25);”你好”则”张伟”和”你好”分别从当前行的第10列和第25列开始输出。下一页返回上一页4.3

数据输出说明:(1)参数n为数值表达式,其值为一整数,它是下一个输出位置的列号,表示在输出前把光标(或打印头)移到该列。通常最左边的列号为1,如果当前的显示位置已经超过n,则自动下移一行;(2)在VB中,对参数n的取值范围没有具体限制。当n比行宽大时,显示位置为nmod行宽;如果n<1,则把输出位置移到第一列;(3)当在一个Print方法中有多个Tab函数时,每个Tab函数对应一个输出项,各输出项之间用分号隔开。下一页返回上一页4.3

数据输出例题:PrivateSubFormClick()Print”123456789012345678901234567890"PrintTab(1);”大家好!";Tab(10-2);"看明白了吗?”在第1列输出“大家好!”。此时当前位置为第9列(一个中文字符占两个符号位)。注意这里10-2<9(当前位置),故换行显示。PrintTab(1);”有趣吗”;Tab(10-3);”自己试一试吧!”;在第1列输出“有趣吗”。此时当前位置为第7列(一个中文字符占两个符号位)。注意这里10-3<7(当前位置),故同行显示。

EndSub如图4-6所示。下一页返回上一页4.3

数据输出3.Spc函数输出时插入n个空格,即从当前打印位置起空n个空格,允许重复使用。格式:Spc(n)(1)n为0~32767之I司的整数。Spc函数与输出项之间用分号隔开。如果n小于输出行的宽度,则下一个打印位置将紧接在数个已打印的空白之后。如果n大于输出行的宽度,则Spc利用下列公式计算下一个打印位置:当前位置+(nMod行宽)(2)Spc函数与Tab函数的作用类似,可以互相代替。但应注意,Tab函数从对象的左端开始记数,而Spc函数只表示两个输出项之间的间隔。下一页返回上一页4.3

数据输出除了以上介绍的两种函数外,还可以通过Space$(n)函数返回输出表达式之间的空格去间隔输出的数据。或者利用与Print有关的位置设置属性及方法精确地定位数据显示的位置坐标。①两个位置设置属性CurrentX,CurrentY:要精确地把文本输出到窗体、图片框上。②两个位置设置方法TextWidth,TextHeight:这两个方法用来辅助设置位置坐标。③两个表示对象位置的属性ScaleWidth,ScaleHeight:这两个属性分别用来表示对象的宽度和高度值。通过这些方法,可使数据在对象上输出的时候具有整齐的格式,从而使用户界面具有整齐统一的效果。下一页返回上一页4.3

数据输出4.3.2格式输出Print函数提供的命名格式,在运行时自动决定使用何种转换;命令格式输出的内容格式取决于计算机系统采用的(国家)语言格式,显示格式会因计算机上的“区域设置”(在“控制面板”的“区域和语言选项”中设置)不同而有所差异。如:Print#10/24/1997#在中国区域将显示为:1997-10-240若改变这种显示格式,可以使用Format函数。格式输出函数Format()可以使数值、日期按指定的格式输出表达式的值。格式:Format$(数值表达式,格式字符串)。下一页返回上一页4.3

数据输出说明:“格式字符串”是一个字符串常量或变量,由专门的格式说明字符组成,这些字符决定数据项的显示格式,并指定显示区段的长度。当格式字符串为常量时,必须放在双引号中。若省略“格式字符串”,则该函数的功能与Str$函数基本相同,唯一的差别是,当把正数转换成字符串时,Str$函数在字符串前面留有一个空格,而Format$函数则不留空格。如表4-4所示为格式说明字符。1.日期格式化输出如上例中,代码变为:下一页返回上一页4.3

数据输出PrivateSubFormClick()x=#10/24/1997#y=Format(x,“yy,mm,dd")Print

y

EndSub将显示为:97,10,24。甚至还可以添加汉字,如上面例子,若将y=Format(x,“yy,mm,dd”)变为y=Format(x,“yyyy年mm月dd日”),将显示为:1997年10月24日。下一页返回上一页4.3

数据输出为了增加灵活性,Format函数还提供了命名格式可以在运行时自动决定使用何种转换,包括General?date,longdate,mediumdate,shortdate和longTime。使用命名格式产生基于用户的系统区域的输出。例4-1PrivateSubFormpaint()Dimmydate,newdatel,newdate2,newdate3,newdate4AsDatanewdate=#8/22/19975:22:20PM#newdate1=Format(mydate,”mediumdate")下一页返回上一页4.3

数据输出newdate2=Format(mydate,”shortdate")newdate3=Format(mydate,”longdate")newdate4=Format(mydate,”Generaldate")Printnewdate1,newdate2,newdate3Debug.Printnewdate1,newdate2,newdate3,newdate4EndSub下一页返回上一页4.3

数据输出例4-2PrivateSubFormClick()PrintFormat(Time,”h点m分s秒ap/pm")EndSub其中Time是时间函数。功能是:返回系统的当前时间。中国区域系统本身格式为:(hh:mm:ss)。使用Format函数后可以改变这种格式。下一页返回上一页4.3

数据输出2.数字格式化输出例:Printformat$(12345,”########”)‘结果:12345Printformat$(12345,"00000000")’结果:00012345Printformat$(12345,”###”)‘结果:12345Printformat$(850.72,”####.###”)

‘结果:850.72Printformat$(7.876,“000.00”)

‘结果:007.88下一页返回上一页4.3

数据输出Printformat$(12345.67,”####,#.##”)

‘结果:12,345.67Printformat$(12345.67,”#,####.##”)’结果:12,345.67Printformat$(0.257,“00.0%”)

‘结果:25.7%Printformat$(123.4,”$###0.00“)

‘结果:$123.40Printformat$(-123.4,“+###0.00”)

‘结果:-+123.40Printformat$(3485.52,“0.00E-00”)

‘结果:3.49E03

注意:”,#####.##”,”#####,.##’’的格式是错误的返回上一页4.4

字形VisualBasic中可以输出各种英文字体和汉字字体,并可以通过设置字形的属性改变字体的大小、笔划的粗细和显示的方向,以及加删除线、下划线、重叠等。在VisualBasic中设置字体对话框窗口如图4-7所示。4.4.1字体类型和大小1.字体类型字体类型通过FontName属性设置。格式:[窗体.][控件.][Printer.FontName[=”字体类型”]下一页返回4.4

字形功能:FontName可作为窗体、控件或打印机的属性,用来设置在这些对象上输出的字体类型。说明:这里的“字体类型”指的是可以在VisualBasic中使用的英文字体或中文字体。对于中文来说,可以使用的字体数量取决于Windows的汉字环境。若省略=“字体类型”,系统返回当前的字体类型。例如:

FontNarne=”TimesNewRoman“

‘字体设置为TimesNewRomanFontName=”楷体”‘字体设置为楷体下一页返回上一页4.4

字形2.字体大小字体大小即字号,通过FontSize属性设置,在前面的例子中,曾使用过这种属性。格式:FontSize[=点数]。功能:用“点数”来设定字体的大小。说明:在默认情况下,系统使用最小的字体,“点数”为9。如果省略“=点数”,系统将采用在“字体设置窗口”中设置的大小。下一页返回上一页4.4

字形4.4.2其他属性除字体类型和字号大小外,VisualBasic还提供了其他一些属性,使文字的输出丰富多彩。1.粗体字粗体字由FontBold属性设置。格式:FontBold[=Boolean]功能:该属性可以取两个值,即True和False。当FontBold属性为True时,文本以粗体字输出,否则按正常字输出。默认为False。下一页返回上一页4.4

字形2.斜体字斜体字由FontItalic属性设置。格式:FontItalic[=Boolean]功能:当FontItalic属性被设置为True时,文本以斜体字输出。该属性的默认值为False。3.加删除线格式:FontStrikethru[=Boolean]功能:如果把FontStrikethru属性设置为True,则在输出的文本中部画一条直线,直线的长度与文本的长度相同。该属性的默认值为False。下一页返回上一页4.4

字形4.加下划线下划线即底线,用FontUnderline属性可以给输出的文本加上底线。格式:FontUnderline[=Boolean]功能:如果FontUnderline属性被设置为True,则可使输出的文本加下划线。该属性的默认值为False。在上面的各种属性中,可以省略方括号中的内容。在这种情况下,将输出的属性的当前值或默认值。下一页返回上一页4.4

字形5.重叠显示当以图形或文本作为背景显示新的信息时,有时候需要保留原来的背景,使新显示的信息与背景重叠,这可以通过FontTransparent属性来实现。格式:FontTransparent[=Boolean]功能:如果该属性被设置为True,则前景的图形或文本可以与背景重叠显示;如果被设置为False,则背景将被前景的图形或文本覆盖。在使用以上介绍的字形属性时,应注意以下两点:下一页返回上一页4.4

字形(1)除重叠显示属性只适合于窗体和图片框控件外,其他属性都适用于窗体、各种控件和打印机。省略对象名时则对象默认为当前窗体。(2)当设置一种属性后,该属性即开始起作用,并且不会自动撤销,只有在属性窗口或代码窗口重新设置后,才能改变该属性的值。例如:在窗体的单击事件过程中输入如下程序代码:PrivateSubFormClick()DimaAsStringa=”测试其他属性的设置”FontName=”隶书”下一页返回上一页4.4

字形FontSize=12Printa;”-

--类型为:隶书,”;”大小:12"FontItalic=TruePrinta;”---倾斜输出”FontStrikethru=TruePrinta;”---加删除线输出”FontUnderline=TruePrinta;”---加下划线输出”EndSub返回上一页4.5

打印机输出在编写程序的过程中,有时需要将数据在打印机上打印出来,在VisualBasic中有两种方式可以实现这一目的,一是直接将打印数据送到打印机上,称为“直接输出”;二是先将打印机数据送到窗体上,然后将窗体打印出来,称为“窗体输出”。如图4-8所示。4.5.1直接输出所谓直接输出,就是把信息直接送往打印机,是Print方法的对象改为Printer,其格式为:Printer.Print[表达式表]这里的Print及其“表达式表”的含义同前。执行上述语句后,就把“表达式表”的值在打印机上打印出来。下一页返回4.5

打印机输出1.Page属性Page属性用来设置页号。格式:Printer.Page功能:Printer.Page在打印时被设置成当前页号,并由VisualBasic解释程序保存。每当一个应用程序开始执行时,Page属性就被设置为1,打印完一页后,Page属性值自动增加1。在应用程序中,通常用Page属性打印页号。例如:Printer.Print”Page:”;Printer.Page下一页返回上一页4.5

打印机输出2.NewPage方法

温馨提示

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

评论

0/150

提交评论