收藏 分享(赏)

VisualBasic第3章数据的输入与输出PPT课件.ppt

上传人:oil007 文档编号:3835073 上传时间:2018-11-20 格式:PPT 页数:57 大小:357.50KB
下载 相关 举报
VisualBasic第3章数据的输入与输出PPT课件.ppt_第1页
第1页 / 共57页
VisualBasic第3章数据的输入与输出PPT课件.ppt_第2页
第2页 / 共57页
VisualBasic第3章数据的输入与输出PPT课件.ppt_第3页
第3页 / 共57页
VisualBasic第3章数据的输入与输出PPT课件.ppt_第4页
第4页 / 共57页
VisualBasic第3章数据的输入与输出PPT课件.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、第3章 数据的输入与输出,第3章 数据的输入与输出,输入与输出是程序设计中的重要环节。没有输出操作的程序不会有什么实用价值,而没有输入的程序则缺乏灵活性。VB提供了多种手段使输入输出操作灵活、多样、方便和直观。本章介绍VB的输入、输出操作,以及与之有关的控件。,3.1 数据输出VB的输出操作包括文本信息的输出和图形图像的输出,本章主要介绍文本信息的输出。 3.1.1 Print方法在早期版本的BASIC语言中,数据的输出主要通过Print语句来实现。在VB中Print是作为对象的方法来使用的。,1. 使用Print方法使用Print方法可以在窗体上输出文本字符串或表达式的值,其语法格式为:对象

2、名称. Print 表达式列表 , | ;其中,对象名称可以是窗体(Form)、图片框(PictureBox)或打印机(Printer)。如果省略“对象名称”,则在窗体上直接输出。表达式列表是一个或多个表达式,可以是数值表达式或字符串。对于数值表达式,将输出表达式的值;对于字符串,则照原样输出。如果省略“表达式列表”,则输出一个空行。,【例3-1】使用Print方法在窗体中直接输出字符串或数值表达式的值,如图3-1所示。图3-1 使用Print方法,【例3-1】使用Print方法在窗体中直接输出字符串或数值表达式的值,如图3-1所示。 命令按钮Command1的Click事件代码:Privat

3、e Sub Command1_Click()PrintPrint “2 * 3 + 4 =“; 2 * 3 + 4 使用“;”分割符Print 输出一个空行Print “欢迎学习“Print , “Visual“ 使用“,”分割符Print , , “Baisc“ 使用两个“,”分割符PrintPrint “ 欢迎学习“, 在行末使用“,”分割符Print “Visual“; “ Baisc“End Sub,(2) Spc函数在Print方法中,还可以使用Spc函数来对输出进行定位。与Tab函数不同,Spc函数提供若干空格。其格式为:Spc( n )其中n为数值表达式,其值为一整数,表示在显示

4、或打印时下一个表达式之前插入的空格数。Spc函数与输出项之间用分号隔开。例如:Print “ABC“;Spc(5);“DEF“ 输出:ABC DFE当Print方法与不同大小的字体一起使用时,使用Spc函数打印的空格字符的宽度总是等于选用字体内以磅数为单位的所有字符的平均宽度。,【例3-2】在上例中使用Tab函数与Spc函数,只需改写命令按钮的Click事件代码:Private Sub Command1_Click()PrintPrint Tab(5); “2 * 3 + 4 =“; 2 * 3 + 4PrintPrint Tab(6); “欢迎学习“; Tab(17); “Visual Ba

5、isc“PrintPrint Tab(7); “欢迎学习“; Spc(3); “Visual“; Spc(2); “Baisc“End Sub,3. Print方法的精确定位要精确地把文本输出到窗体、图片框或打印页上,可以使用位置属性(CurrentX和CurrentY)与文本的高度宽度方法(TextHeight和TextWidth)。CurrentX和CurrentY属性分别用来返回或设置当前输出位置的横坐标与纵坐标,TextHeight和TextWidth方法则分别可以返回一个字符串文本的高度值和宽度值。其单位均为Twip。TextHeight和TextWidth方法的格式为:对象名称.

6、TextHeight(字符串)对象名称.TextWidth(字符串) 其中,对象名称可以是窗体、图片框或打印机对象。,【例3-3】下面程序把字符串文本“计算机等级考试”输出到窗体的中间,如图3-3所示。只需编写窗体的Click事件代码:Private Sub Form_Click ()Dim textW As Integer, textH As IntegerPrintText$ = “计算机等级考试“textW = TextWidth(Text) / 2 文本的宽度TextWidth(Text)textH = TextHeight(Text) / 2CurrentX = ScaleWidth

7、 / 2 - textW 窗体的宽度属性ScaleWidthCurrentY = ScaleHeight / 2 - textH 设置垂直位置Print TextEnd Sub,4. 字形与字体如果要控制所显示或打印文本的大小和外观,可以用FontName、FontSize、FontItalic、FontBold、FontStrikeThru、FontTransparent和FontUnderline属性。这些属性既可以在属性窗口设置(设置窗体的Font属性),也可以在代码中通过“赋值”语句进行设置。,图3-4 使用字体属性 【例3-4】下面程序按指定尺寸、颜色和外观,把文本输出到窗体的中间(

8、图3-4)。,命令按钮的Click事件代码:Private Sub Command1_Click()Dim a As String, textW As Integer, textH As IntegerFontName = “隶书“ 输出文本的字体FontSize = 60 输出字体的大小ForeColor = QBColor(15) 输出文本的前景色,即字体的颜色BackColor = QBColor(8) 输出文本的背景色,即窗体的颜色text = “你好“ 输出文本的内容textW = TextWidth(text) / 2 文本的宽度TextWidth(text)textH = Tex

9、tHeight(text) - Command1.Height / 2CurrentX = ScaleWidth / 2 - textW 设置输出的水平位置CurrentY = ScaleHeight / 2 - textH 设置输出的垂直位置Print text 输出文本End Sub说明:属性ScaleWidth与ScaleHeight分别表示窗体内的宽度与高度。,5. 清除方法CLSCls方法可以清除Form或PictureBox中由Print方法和图形方法在运行时所生成的文本或图形,清除后的区域以背景色填充。设计时使用Picture属性设置的背景位图和放置的控件不受Cls影响。Cls方

10、法的语法为:对象名称. Cls其中“对象名称”可以是窗体(Form)或图片框(PictureBox),如果省略“对象名称”,则清除窗体上由Print方法和图形方法在运行时所生成的文本或图形。,【例3-5】在上例中使用Cls方法清除窗体中由Print方法所生成的文本,如图3-5所示。图3-5 使用Cls方法只需在上例中增加命令按钮Command2(清除),并且编写其Click事件代码:Private Sub Command2_Click()ClsEnd Sub,6. 输出文本到图片框图片框(PictureBox)控件可以输出图形、图像和文本,还可以像窗体一样作容器包含其他的控件。不仅如此,图片框

11、控件具有窗体的上述属性和方法,因此前面的例子完全适用于图片框。 【例3-6】使用Print方法在图片框中输出字符串或数值表达式的值,如图3-6所示。图3-6 在图片框中输出字符串或数值表达式的值,编写窗体的Activate事件代码:Private Sub Form_Activate()Dim a As String, textW As Integer, textH As IntegerPicture1.FontName = “隶书“Picture1.FontSize = 40Picture1.ForeColor = QBColor(15)Picture1.BackColor = QBColor

12、(8)a = “你好“textW = Picture1.TextWidth(a) / 2textH = Picture1.TextHeight(a) / 2Picture1.CurrentX = Picture1.Width / 2 - textWPicture1.CurrentY = Picture1.Height / 2 - textH Picture1.Print aEnd Sub,编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()Picture1.FontName = “宋体“Picture1.FontSize = 11Pictu

13、re1.ForeColor = QBColor(0)Picture1.BackColor = QBColor(15)Picture1.ClsPicture1.PrintPicture1.Print Tab(2); “2 * 3 + 4 =“; 2 * 3 + 4Picture1.PrintPicture1.Print Tab(3); “欢迎学习“; Tab(17); “Visual Baisc“Picture1.PrintPicture1.Print Tab(4); “欢迎学习“; Spc(3); “Visual“; Spc(2); “Baisc“End Sub,编写命令按钮Command2的

14、Click事件代码:Private Sub Command2_Click()Picture1.ClsEnd Sub,3.1.2 信息框函数MsgBoxMsgBox函数在对话框中显示信息,等待用户单击按钮,并返回一个整数以标明用户单击了哪个按钮。其语法格式为:变量 = MsgBox(信息内容,对话框类型,对话框标题 ) 其中,信息内容指定在对话框中出现的文本,在信息内容中使用硬回车符(CHR(13))可以使文本换行。对话框的高度和宽度随着信息内容的增加而增加,最多可有1024个字符。,对话框类型指定对话框中出现的按钮和图标,一般有三个参数。其取值和含义见表3-3、表3-4、表3-5。 表3-3

15、参数1出现按钮,表3-4 参数2图标类型,表3-5 参数3默认按钮值 常量 说明0 vbDefaultButton1 指定默认按钮为第一按钮256 vbDefaultButton2 指定默认按钮为第二按钮512 vbDefaultButton3 指定默认按钮为第三按钮 上述三种参数值可以相加以达到所需要的样式。3) 对话框标题指定对话框的标题。下述代码将显示如图3-8所示的对话框:msg = MsgBox(“请确认输入的数据是否正确!“, 3 + 48 + 0, “数据检查“)图3-8 信息对话框,4) Msgbox( )返回的值指明了在对话框中选择哪一个按钮,见表3-6。 表3-6 函数的返

16、回值返回值 常量 按钮1 vbOK 确定按钮2 vbCancel 取消按钮3 vbAbort 终止按钮4 vbRetry 重试按钮5 vbIgnore 忽略按钮6 vbYes 是7 vbNo 否5) 代码中的值可以是数值,也可以是数值常量。6) 如果省略了某些可选项,必须加入相应的逗号分隔符。,7) 若不需要返回值,则可以使用MsgBox的命令形式:MsgBox 信息内容,对话框类型,对话框标题在程序运行的过程中,有时需要显示一些简单的信息如警告或错误等,此时可以利用“信息对话框”来显示这些内容。当用户接收到信息后,可以单击按钮来关闭对话框,并返回单击的按钮值。,3.1.3 使用标签控件Lab

17、el控件显示的文本用户不能直接修改。有些没有自己的标题(Caption)属性的控件(如TextBox)可以用Label标识。,1. 标签的属性在标签中显示的文本是由Caption属性控制的,该属性可以在设计时通过“属性”窗口设置或在运行时用代码赋值。标签具备控件的一些共有属性,如Name、Height、Width、Top、Left、Enabled、Visible、Font等,同时也具有一些自身的特殊属性,它们分别是:1) Alignment属性:该属性用于设置标签文本的对齐方式。2) Autosize属性:该属性决定控件是否能自动调整大小以显示所有的文本内容。若属性设置为True,则自动调整标

18、签的大小,以适应标签文本;若设置为False,则标签保持设计时所绘制的大小,不会自动调整大小。,3) Backstyle属性:该属性用于设置标签的背景是透明还是不透明,其取值有0和1两种,分别是:0 透明,1 不透明。4) Borderstyle属性:该属性用于设置标签的边框风格。其取值有0和1两种,分别是:0 - None(标签无边框) 1 - Fixed Single(标签有单线边框)5) WordWrap属性:自动换行。为使标签控件能够自动调整以适应内容多少,必须将AutoSize属性设置为True可水平扩充以适应Caption属性内容。为使Caption属性的内容自动换行并垂直扩充,则

19、要将WordWrap属性设置为True。,2. 标签的事件与方法虽然标签能响应绝大多数的事件,但在实际编程中不常使用。标签常用的方法是Move方法,以便用代码实现标签的移动和缩放。其语法格式为:对象名. Move left, top, width, height其中对象名.可以是窗体、或其他大多数的控件,如果省略对象名.,则表示带有焦点的窗体。 3. 标签的使用标签可用于显示静态的、不允许用户修改的文本信息。由于标签可很方便地进行输出定位,设置文本字体及颜色等,故比Print方法要灵活方便得多,是Visual Basic中显示文本信息的主要控件。利用标签透明的特点,还可用来设计动态文字。,【例

20、3-7】有框和无框的标签,可在运行时改变标签的尺寸和内容,如图3-9所示。图3-9 有框和无框的标签编写命令按钮Command1的单击(Click)事件代码:Private Sub Command1_Click()Label1.Caption = “运行时改变标签的标题“Label2.Caption = “ 对于一个较长的或在运行时可能变化的标题,“ & _“标签控件提供了两种属性:AutoSize和WordWrap来改变“ & _“控件尺寸以适应较长或较短的标题。“End Sub,【例3-8】利用标签制作阴影文字效果,如图3-11所示。单击“效果1”按钮后文字的阴影效果如图3-12(左)所示

21、。单击“效果2”按钮后文字阴影的间距加大,如图3-12(右)所示。图3-11 阴影文字效果,编写Command1的Click事件代码:Private Sub Command1_Click()Label1.Top = Label2.Top + 20 设置阴影较文字向下偏移20Label1.Left = Label2.Left + 20 设置阴影较文字向右偏移20End Sub编写Command2的Click事件代码:Private Sub Command2_Click()Label1.Top = Label2.Top + 40 设置阴影较文字向下偏移40Label1.Left = Label2.

22、Left + 40 设置阴影较文字向右偏移40End Sub,3.2 数据输入在VB中,允许用户输入文本信息的最直接的方法是使用文本框。另外,还可以通过输入框,来实现信息的交流。 3.2.1 使用“文本框”控件文本框(TextBox)是一种通用控件,可以由用户输入或显示文本。缺省时,文本框只能输入单行文本,并且输入的字符最多为2048个。若将控件的MultiLine属性设置为True,则可以输入多行文本,并且文本的内容可多达32KB。,1. 文本框的属性文本框的主要属性见表3-10。 表3-10 文本框的属性,【例3-9】输入球体的半径,然后计算并输出球体的体积和表面积,如图3-14所示。图3

23、-14 计算球的体积和表面积分析:设球的半径为r,球体积和球表面积分别为:v和f,依题义可得计算公式:,、,编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()Dim r As Single, v As Single, f As SingleConst pi = 3.14159r = Val(Text1.Text)v = 4 / 3 * pi * r 3 : f = 4 * pi * r 2Text2.Text = v : Text3.Text = fEnd Sub编写命令按钮Command2的Click事件代码:Private Sub C

24、ommand2_Click()Unload MeEnd Sub说明:代码r = Val(Text1.Text)中使用了转换函数Val()将文本框中的内容转换为数值型数据,以便处理。如果不转换,可能出现数据类型不匹配的情况。,2. 文本框的事件文本框可以接受许多事件,其中最常用的是Change(改变)事件和GotFocus(得到焦点)事件。Change事件当用户改变正文或通过代码改变Text属性的设置时发生;而当控件接收焦点时,会引发GotFocus事件,当控件失去焦点时,会引发LostFocus(失去焦点)事件。,【例3-10】单位发工资,设某职工应发工资x元,试求各种票额钞票总张数最少的付款

25、方案。分析:可以从最大的票额(100元)开始,算出所需的张数,然后在剩下的部分算出较小票额的张数,直到最小票额(1元)。图3-15 求各种票额的付款方案,编写命令按钮Command1的Click事件代码:Private Sub Command1_Click()x = Val(Text1.Text) x为实发工资数y = x 100 : Text2.Text = y 求百元票张数并显示x = x - 100 * y 求剩余款项y = x 50 : Text3.Text = y 求五十元票张数并显示x = x - 50 * y 求剩余款项y = x 10 : Text4.Text = y 求十元票

26、张数并显示x = x - 10 * y 求剩余款项y = x 5 : Text5.Text = y 求五元票张数并显示x = x - 5 * y 求剩余款项y = x 2 : Text6.Text = y 求二元票张数并显示x = x - 2 * y : Text7.Text = x 求一元票张数并显示End Sub,编写文本框Text1的Change事件代码:Private Sub Text1_Change()Text2.Text = “Text3.Text = “Text4.Text = “Text5.Text = “Text6.Text = “Text7.Text = “End Sub说

27、明:当在输入框中输入工资数的时候,Change事件发生,此时将清除其他各文本框中的内容。,3. 使用焦点焦点(Focus)就是光标,当对象具有“焦点”时才能响应用户的输入,因此也是对象接收用户鼠标单击或键盘输入的能力。在Windows环境中,在同一时间只有一个窗口、窗体或控件具有这种能力。具有焦点的对象通常会以突出显示标题或标题栏来表示。当文本框具有焦点时,用户输入的数据才会出现在文本框中。仅当控件的Visible和Enabled属性被设置为真(True)时,控件才能接收焦点。某些控件不具有焦点,如标签、框架、计时器等。当控件接收焦点时,会引发GotFocus事件,当控件失去焦点时,会引发Lo

28、stFocus事件。,可以用SetFocus方法在代码中设置焦点。如在例3-10中,编写窗体的Activate事件代码,其中调用SetFocus方法,使得程序开始时光标(焦点)位于输入框Text1中:Private Sub Form_Activate()Text1.SetFocusEnd Sub另外,在“计算”按钮的Click事件代码中调用SetFocus方法,可以使光标重新回到输入框Text1。在程序运行的时候,可以按下列方法之一改变焦点: 用鼠标单击对象。1) 按Tab键或Shift+Tab在当前窗体的各对象之间巡回移动焦点。2) 按热键选择对象。,3.2.2 输入框函数InputBoxI

29、nputBox函数显示一个能接受用户输入的对话框,并返回用户在对话框中输入的信息。其语法格式为:变量 = InputBox(信息内容,对话框标题,默认内容 ) 说明:1) 信息内容指定在对话框中出现的文本。在信息内容中使用硬回车符(CHR(13))可以使文本换行。对话框的高度和宽度随着信息内容而增加,最多可有1024个字符。2) 对话框标题指定对话框的标题。,3.2.2 输入框函数InputBoxInputBox函数显示一个能接受用户输入的对话框,并返回用户在对话框中输入的信息。其语法格式为:变量 = InputBox(信息内容,对话框标题,默认内容 ) 说明:3) 默认内容可以指定输入框的文

30、本框中显示的默认文本。如果用户单击“确定”按钮,文本框中的文本(字符串)将返回到变量中,若用户单击“取消”按钮,返回的将是一个零长度的字符串。注意:如果省略了某些可选项,必须加入相应的逗号分隔符。4) InputBox函数返回包含文本框内容的字符串(String类型)。,【例3-11】华氏温度和摄氏温度相互转换的程序。输入一个华氏温度可以得到相应的摄氏温度,而输入一个摄氏温度则可以得到相应的华氏温度,如图3-16所示。利用输入框输入温度(如图3-17所示)。图3-16 温度的转换 图3-17 输入温度值分析:设C为摄氏温度,F为华氏温度,则有:因此可以得到:,编写“摄氏转华氏”命令按钮Comm

31、and1的Click事件代码:Private Sub Command1_Click()c = Val(InputBox(“请输入摄氏温度值:“, “摄氏转华氏“, 0)f = 32 + 9 * c / 5Label1.Caption = “摄氏“ & c & “度 = 华氏“ & Format(f, “#.#“) & “度“End Sub编写“华氏转摄氏”命令按钮Command2的Click事件代码:Private Sub Command2_Click()f = Val(InputBox(“请输入华氏温度值:“, “华氏转摄氏“, 0)c = 5 * (f - 32) / 9Label1.Ca

32、ption = “华氏“ & f & “度 = 摄氏“ & Format(c, “#.#“) & “度“End Sub,3.3 打印机输出在基于Windows的应用程序操作中,打印是最复杂的任务之一。VB应用程序的打印输出有两种方式:直接输出与窗体输出。所谓直接输出,就是将输出内容直接送往打印机。而窗体输出则是先将内容输出在窗体中,然后将窗体上所显示的内容通过打印机输出。 3.3.1 直接输出使用Printer对象的Print方法,可以直接输出。与窗体或图片框一样,Printer对象是一个与设备无关的图片空间,支持用Print、PSet、Line、PaintPicture和Circle方法来创

33、建文本和图形。窗体或图片框中几乎所有与文本和图形有关的属性、方法,Printer对象都可以使用。,【例3-12】下述代码将在打印机中直接打印出信息:Private Sub Form_Click()Printer.FontName = “system“Printer.FontSize = 24Printer.FontItalic = TruePrinter.FontUnderline = TruePrinter.Print “计算机等级考试“Printer.Print “Visual Basic 语言“Printer.EndDocEnd Sub上述过程中的属性、方法在前面大都已作介绍,只是加上了

34、对象名Printer。因此属性的设置针对打印机,而Print方法中的字符串也是送往打印机的。代码中的EndDoc方法以及其他Printer对象特有的属性和方法介绍如下。,1. Printer对象的属性1) 刻度(Scale)属性,见表3-13。 表3-13 刻度属性,1. Printer对象的属性2) 定位属性:就像为窗体和图形框设置属性一样,可为Printer对象设置CurrentX和CurrentY属性。这两个属性决定Printer对象当前页中的输出位置。3) Copies属性:返回或设置需要打印的份数。在设计时不可用。4) Duplex属性:返回或设置一个值,以决定是否要双面打印(若打印

35、机支持该功能)。在设计时不可用。5) Page属性:返回当前页号。VB保持一个已打印页数的计数器,它从应用程序开始或从在Printer对象上上次使用EndDoc语句起计数。,6) PaperSize属性:返回或设置一个值,该值指出当前打印机的纸张大小。在设计时是不可用。7) PrintQuality属性:返回或设置一个值,该值指示打印机的分辨率。设计时不可用。8) Zoom属性:该属性定义按原来的百分之多少输出。默认值为100,指定输出将按实际尺寸的百分之百来打印。可利用Zoom属性使打印页比实际纸页大一些或小一些。例如,将Zoom属性设置为50,可使打印页看起来只是实际打印纸页长和宽的一半。

36、也可用TextHeight和TextWidt方法在Printer对象中定位文本。,2. Printer对象的方法1) EndDoc方法:用于终止发送给Printer对象的打印操作,将文档释放到打印设备或后台打印程序。2) KillDoc方法:用于立即终止当前打印作业。3) NewPage方法:用以结束Printer对象中的当前页并前进到下一页。说明:调用NewPage时,它将Printer对象的Page属性加1。,3.3.2 窗体输出使用窗体的PrintForm方法可以将窗体中的所有信息传送到打印机。要用PrintForm方法打印应用程序中的信息,需先将该信息显示在窗体中,然后再用PrintF

37、orm打印窗体。语法如下:窗体名.PrintForm若省略窗体名称,则Visual Basic打印当前窗体。PrintForm打印窗体的全部内容,即使窗体的某部分在屏幕上见不到。打印结束后,PrintForm调用EndDoc方法清空打印机。,3.4 使用框架控件如同图片框一样,框架(Frame)控件是一种容器控件,在框架控件内部的控件可以随控件一起移动,并且受到框架控件某些属性(Visible、Enabled)的控制。在多数情况下只需使用框架控件将其他控件分成可标识的控件组,而不必响应框架控件的事件。需要修改的可能是框架控件的Name、Caption或Font属性。使用Frame控件将其他控件

38、分组时,应该首先绘制Frame控件,然后激活Frame控件,再绘制其中的控件,这样才能使框架及其上的控件一起移动。如果要用框架将现有的控件分组,则可先选定所有控件,将它们剪切到剪贴板,然后选定Frame控件并将剪贴板上的控件粘贴到Frame控件上。,图3-19 利用“框架”修饰窗体 【例3-14】利用“框架”修饰例3-10中的窗体,如图3-19所示。下面在例3-10的基础上修改原窗体,首先将欲放入框架中的控件多重选定(图3-20左),按Ctrl+X组合键或常用工具栏中的“剪切”按钮,将其剪切到剪贴板中。然后在窗体中画出框架控件,选中后(图3-20中),按Ctrl+V组合键或常用工具栏中的“粘贴”按钮,将原有控件移回“框架”中,调整其位置(图3-20右),并将“框架”的Caption属性设为空。,也可以先在空白窗体中画出框架控件后,逐一添加其他控件,但要注意,每次添加都要首先选中框架。 说明:框架控件除了能够修饰窗体外,还有一个重要的功能,就是用来对选项按钮进行分组,参见4.6。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报