第五章vb 数据的输入输出.doc_第1页
第五章vb 数据的输入输出.doc_第2页
第五章vb 数据的输入输出.doc_第3页
第五章vb 数据的输入输出.doc_第4页
第五章vb 数据的输入输出.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

例:单击窗体,在窗体上显示“职业技术学院”,黑体,粗体,36号。程序为:Private Sub Form_Click()Form1.FontName = 黑体Form1.FontSize = 36Form1.FontBold = TruePrint 职业技术学院End Sub如何将显示内容放在窗体中央?程序中,Print 的功能是什么?它如何应用?第五章 数据的输入输出除界面外,一个计算机程序通常可分为3部分,即输入、处理和输出。计算机通过输入操作接收数据,然后对数据进行处理,并将处理完的数据以完整有效的方式提供给用户,即输出。这一章专门研究输入输出。Print 语句就是输出语句,它属于对象的方法。5.1数据输出Print方法一、Print方法1.Print方法的功能在窗体上显示文本字符串和表达式的值,并可在其它图形对象或打印机上输出信息。2.格式对象名称.Print表达式表,|; 其中:(1) 对象名称可以是窗体(Form),图片框(PictureBox)或打印机(Printer),也可以是立即窗口Debug。如果省略“对象名称”,则在当前窗体中输出。 例如:Form1.Print visual basicForm1 是当前窗体。 可简写成:Print visual basic 例如:Picture1.Print visual basic (在图片框中显示字符串) Printer.Print visual basic (在打印机上打印字符串) Debug.Print visual basic (在立即窗口显示字符串)练习:在窗体上画一个按钮Command1,一个图片框Picture1,双击按钮输入以下程序:Picture1.Print visual basicDebug.Print visual basic先打开立即窗口,执行程序,观察图片框和立即窗口的显示内容。(2)“表达式表”是一个或多个表达式,可以是数值表达式、字符串。对于数值表达式,Print将输出它的值;而字符串则“原样输出”。每个Print的显示内容单独占一行。如果Print后没有任何表达式,则输出一个空行。例如:a=10 : b=20 print a=;a, b=,b print a+b=;a+b 输出表达式的值 print 输出空行 print Good morning 输出字符串练习:去掉窗体上的按钮、图片框,双击窗体输入以下程序:(去掉原程序)Form1.FontName = 黑体Form1.FontSize = 25Form1.FontBold = Truea=10 : b=20 print a=;a, b=;b print a+b=;a+b 输出表达式的值 print 输出空行 print Good morning 输出字符串执行程序,观察窗口的显示内容。(3) 当输出多个表达式或字符串时,各表达式用分隔符(逗号,分号或空格)隔开。l 如果各表达式之间用逗号分隔,则按标准输出格式显示数据项。(14个字符位置)例如: a = 10 Print a=, al 如果各输出项之间用分号或空格隔开,按紧凑输出格式输出。例如: a = 10 Print a=; a常用它们的混合形式为:a = 10 : b = 20Print a=; a, b=; bPrint a+b=; a+b, a-b=; a-b即先“原样显示”说明信息,在紧凑输出结果。(4) Print输出数值时在前面加一个符号位,个数值之间还要加一个空格作为隔离位,故个正数之间隔个空格。输出字符串则不加符号位,也不加隔离位。例如:Print 10;20;30Print -10;-20;-30Print 10;20;30Print -10;-20;-30执行程序,观察结果。(5) Print具有计算和输出双重功能,对于表达式,先计算后输出。(赋值语句也有双重功能)例如:x=5: y=10print s=; x*x+y*y 原样显示 先计算后输出改为:print s=x*x+y*y行不行?!注意:Print 没有赋值功能应该如何解决?可以分成个语句。如何分?(6) 一般情况下,每执行一个Print方法要自动换行。也就是说,执行下一个Print时将在新的一行显示信息。如果2个Print想在同一行显示,可在头一个Print末尾加一个分号或逗号。 问题:末尾加分号与末尾加逗号有何区别? 例: print a+b=, print 20 print a+b=; print 20推测一下,执行结果会是什么样的?与下列语句比较,结果是不是一样?print a+b=, 20 print a+b=; 20小结:上面是用分号、逗号控制Print的输出位置,也可以用一些函数控制Print的输出位置。二、Print方法有关的函数1 Tab函数格式:Tab(n)功能:光标移到整数n指定的位置。 例: print tab(25);800 表示在第25格的位置输出800函数说明:(1) 参数n为数值表达式,其值取整数。(2) 对参数n的取值没有限制。(3) 当一个Print中有多个Tab函数时,每个Tab对应一个输出项,Tab和输出项之间用分号隔开,不要用逗号隔开。练习:在窗体显示如下名册:学号姓名年龄籍贯0501李美18湖南0502王强19上海要求当单击窗体时,显示以上表格,设置字体为隶书,25号,蓝色。可编写如下事件过程:Private Sub Form_Click()? : ?FontName = 隶书FontSize = 25? 学号;Tab(8);姓名;Tab(16);年龄;Tab(24);籍贯? 0501;Tab(8);李美;Tab(16);18;Tab(24);湖南? 0502;Tab(8);王强;Tab(16);19;Tab(24);上海End Sub请解释每一个语句的作用?每一个Tab的作用?2. Spc函数格式:Spc(n)功能:产生n个空格。说明:参数n也是一个整数表达式,取值范围为032767,Spc(n)与输出项之间也是用分号隔开。 例如:? Welcome ; spc(6); to you! 此语句的执行结果是什么?可以用spc函数替代上面程序的Tab函数显示名册:Private Sub Form_Click()Print: PrintFontName = 隶书FontSize = 25? 学号;Spc(4);姓名;Spc(4);年龄;Spc(4);籍贯? 0501;Spc(4);李美;Spc(4); 18; Spc(4); 湖南? 0502;Spc(4);王强;Spc(4); 19; Spc(4); 上海End Sub实际上这个程序可以不用任何控制函数:(去掉下面程序中的函数进行改造)Private Sub Form_Click()Print: PrintFontName = 隶书FontSize = 25? 学号;Spc(4);姓名;Spc(4);年龄;Spc(4);籍贯? 0501;Spc(4);李美;Spc(4); 18; Spc(4); 湖南? 0502;Spc(4);王强;Spc(4); 19; Spc(4); 上海End Sub问题?spc函数与tab函数有何不同?Tab函数从对象的左端开始计数,而spc函数只表示两个输出项之间的距离。3.空格函数格式:Space$(n)功能:产生n个空格的字符串,与Spc(n)一样。 例如:上面的语句? Welcome ; spc(6); to you! 下列语句哪些可以替代?? Welcome ; space(6); to you! ? Welcome + space(6) + to you! ? Welcome + spc(6) + to you! ? Welcome to you! 三、格式输出函数用“格式输出函数”可使数值按指定的格式输出。 1函数格式Format$(数值表达式,格式字符串)2函数功能按格式字符串指定的格式输出数值表达式的值。3格式说明字符“格式字符串”是一字符串,它由专门的格式说明字符组成。“格式字符串”的形式可以是变量、常量。(1)“#”:表示一位数字,要用几位数字就用几个#号。如果要显示的位数少于 # 的个数,则该数靠左显示,多余的#位作废,不补。如果要显示的位数多于 # 的个数,则数值照原样输出,即“不够补到够”。例:Print format(1234,#)显示结果为:?例:Print format(1234,#)显示结果为:?(2)“0”:与#功能相同,只是多余位在前面以0补齐。例:Print format(1234,000000)显示结果为:?例:Print format(1234,00)显示结果为:? (3)“.”:显示小数位。小数位与#或0结合使用。小数太长四舍五入,多余的小数位#作废、0则后补0。 例1:Print format(12345.67,#.#)显示结果为:? 例2:Print format(12345.67,#.#)显示结果为:? 例3:Print format(12.34567,#.#)显示结果为:? 例4:Print format(12345.67,00000.00)显示结果为:? 例5:Print format(12345.67,000.0000)显示结果为:? 例6:Print format(12.34567,0000.000)显示结果为:?(4)“,”:逗号。起千位分位作用,即从小数点左边第一位开始,每3位整数用一个逗号分开,小数不分位。例1:? format(1234567.12345,#,#.#)显示结果为:?例2:? format(1234.3456,000000,0.000)显示结果为:?注意:逗号必须放在整数部分中间,但不能放在整数部分的开头、结尾,更不能放在小数部分。以下的用法是错误的。 Print format(12345.67,#.#) Print format(12345.67,#,.#) Print format(12345.67,#.,#) Print format(12345.67,#.#,#)(5)“%”:显示百分号。通常放在格式字符串的尾部,输出百分号。例:Print format(0.123,00.00%)显示结果为:?(6)“$”:显示美元符号。放在格式字符串的最开头。例:Print format(123.4,$#00.000)显示结果为:?(7)“+”:显示正号。通常放在格式字符串的开头。(8)“-”:显示负号。通常放在格式字符串的开头。例:Print format(123.45,-#0.000)显示结果为:?Print format(123.45,+#0.000)显示结果为:?Print format(-123.45,+#0.000)显示结果为:?(9)“E+(E-)”:用指数形式显示数值。例:Print format(1234.56,0.00E+00)显示结果为:?Print format(0.012345,0.00E-00)显示结果为:?四、其它方法和属性1Cls方法格式:对象.Cls功能:清除对象中显示的文字或图形,并把光标移到对象的左上角(0,0)。适用对象:对象只能是窗体或图片框,如果省略“对象”则默认为当前窗体。 例: Picture1.cls 清除图片框picture1内的图形和文本 Cls 清除当前窗体内显示的内容注意:(1) 当窗体的背景是用Picture属性装入图形时,不能用Cls清除,只能通过Loadpicture方法清除。(2) 文本框中的显示内容也不能用Cls清除,必须用Text.Text=,即用空格替代原内容。练习:画如下程序界面。输入以下程序:Private Sub Form_Click()Print: PrintFontName = 隶书FontSize = 25Print 学号; Spc(4); 姓名; Spc(4); 年龄; Spc(4); 籍贯Print 0501; Spc(4); 李美; Spc(4); 18; Spc(4); 湖南Print 0502; Spc(4); 王强; Spc(4); 19; Spc(4); 上海End SubPrivate Sub Command1_Click()Text1.Text = 不能用ClsEnd SubPrivate Sub Command2_Click() Form1.Cls 可以用ClsEnd Sub2Move方法格式:对象.Move 左边距离,上边距离,宽度,高度功能:用来移动窗体和控件,并可改变大小。适用对象:大部分对象(计时器、菜单除外)。如果省略对象,则表示要移动的是窗体。练习:在窗体的任意位置画一个文本框和一个图片框(大小任意)。编写程序移动它们的位置并改变其大小。编写事件如下:Private sub form_click( )Move 800,800,3990,2600Text1.move 200,200,1500,1000Picture1.move 1800,200,1500,1000Picture1.print”hello”End sub 5.2数据输入inputbox函数从前面可知,窗体的输出主要通过print方法完成,那么输入通过什么操作来完成呢?一、Inputbox函数1功能:产生一个输入对话框,等待用户输入数据,并返回所输入内容。2格式:InputBox(prompt,title,default,xpos,ypos,helpfile,context)一般用前个参数。(1) prompt:是一个字符串,它是在对话框内显示的提示信息。(2) Title:是一个字符串,它是对话框的标题,显示在对话框顶部的标题栏。(3) Default:是一个字符串,显示输入处的初始信息。如果不要初始信息,可在输入区重新输入。如果省略该参数,则输入区的初始信息为空白。下面就是输入对话框:例:在立即窗口输入:x=InputBox(请输入x(0),输入正数,100)回车将出现以下窗口:练习:编写程序,试验Inputbox的函数的功能。Private Sub form_click( )Dim name As Stringc1$ = Chr$(13) + Chr$(10) cl$起换行作用s1$ = 输入学生名称:s2$ = 输入后按回车键s3$ = 或单击确定s$ = s1$ + c1$ + s2$ + c1$ + s3$name$ = InputBox(s$, 学生登记表, John)s$显示3行提示信息,第二个参数是对话框标题,第三个参数是默认输入值。Print name$End sub二、InputBox函数的有关问题默认情况下,Inputbox的返回值是一字符串。问题:如果输入数字1000,这1000是作为整数呢?还是作为字符串?例1:将上面程序中最后一句改为:Print name$+1000问题:程序运行后输入1000,窗体上将显示:(A)1000(B)2000(C)10001000(4)出错例2:将上面程序中最后一句改为:Print name$+1000问题:程序运行后输入1000,窗体上将显示: (A)1000(B)2000(C)10001000(4)出错例3:将上面程序整个改为:Private Sub Form_Click()x = InputBox(请输入整数:, input)y = InputBox(请输入整数:, input)Print x + yEnd Sub问题1:运行后输入2个1000,窗体上将显示:(A)1000(B)2000(C)10001000(4)出错问题2:每个InputBox函数可输入几个数据:(A)个(B)个(C)最多10个(4)任意问题3:输入2个1000,要得到2000,Print语句应该如何更改?以上情况这说明什么?(1) 用InputBox输入数字后,既可以作为数值型,也可以作为字符串。而且VB会根据情况自动归类。当然,必要时,可以用Val函数转回数值型。如例1的Print name$+1000可以改为Print Val(name$)+1000如例3的Print x+y必须改为Print Val(x)+ Val(y)才能进行数值的计算。(2) 每执行一次InputBox函数只能输入一个值,如果需要输入多个值,必须多次调用InputBox函数。例:编写程序,用InputBox函数输入一个学生的“姓名、年龄、性别、籍贯”等数据,再显示出来。 Private Sub Form_Click()Dim Name As StringDim sex As StringDim home As StringTitle$ = 学生情况登记name = InputBox(请输入姓名:, title$)age = InputBox(请输入年龄:, title$)sex = InputBox(请输入性别:, title$)home = InputBox(请输入籍贯:, title$)ClsPrint name; ,; sex; ,现年;Print age; 岁; ,; home; 人 End sub问题:像下面这样的Windows对话框是怎么产生的?在VB中,它是用Msgbox函数或语句产生的!下面研究这样的问题。5.6 Msgbox函数和Msgbox语句一、Msgbox(信息框)函数1功能产生一个对话框,向用户传送信息,并可通过用户在对话框上的选择,接收用户所做的响应,作为程序继续执行的依据。2格式Msgbox(msg,type,title,helpfile,context)该函数有5个参数,只有第一个msg是必须的,其它参数均可省略。title:就是对话框的标题。helpfile,context:显示帮助按纽。msg:为字符串,它的内容在函数所产生的对话框内显示,它是主体显示内容。内容太长时会自动换行。type:是一个整数或符号常量,用来控制在对话框中显示的按钮和图标的种类。下表列出了几种常用的符号常量。 符号常量值作用VbOkOnly0只显示“确定”按钮,是默认值VbOkCancel1显示“确定”“取消”按钮vbAbortRetryIgnore2显示“终止”“重试”“忽略”按钮vbYesNoCancel3显示“是”“否”“取消”按钮VbYesNo4显示“是”“否”按钮vbRetryCancel5显示“重试”“取消”按钮VbCritical16显示暂停图标VbQuestion32显示“?”图标vbExclamation48显示“!”图标vbInformation64显示“i”图标vbDefaultButton10第一个按钮是默认值vbDefaultButton2256第二个按钮是默认值type参数由上表中的三类数值组成。每一类取一个值,再相加。例1: 16=0+16+0含义:只显示“确定”按钮,“暂停”图标,默认按钮是“确定”。练习:a=MsgBox(程序运行完毕,16,暂停)结果如下:按“确定”后,返回值a=?例2: 33=1+32+0含义:显示“确定、取消”按钮,“?”图标,默认按钮是“确定”。 练习:a=MsgBox(程序是否继续,33,问题)结果如下:按“取消”后,返回值a=

温馨提示

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

评论

0/150

提交评论