![]() ![]() |
|||||||||||||||||||||||||
VB考试教程:print方法及相关的format函数、Tab和Spc函数 | |||||||||||||||||||||||||
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:46:38 文章录入:杜斌 责任编辑:杜斌 | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
一、print方法 print方法可以在窗体上显示文本字符串和表达式的值,并可在其它图形对象或打印机上输出信息。 1、语法说明 在vb中,print方法是用来输出信息的专用过程,显示的文本是作为图像来处理的,因此,print方法显示的文本字符串也往往作为图形文本。visual basic 允许在窗体、图形框和打印机用print方法显示文本字符串。 语法格式: [对象]·Print [Spc(n)|Tab(n) expression charpos] 说明: 对象——指定文本显示的地方,可取的值:窗体名称、图片框名称或Printer(打印机),也可以是立即窗口(Debug)。如果省略“对象”,则指在当前窗体上输出。 Spc(n)——可选的,用来在输出中插入空白字符,这里n为要插入的空白字符数。 Tab(n)——可选的,用来将插入点定位在绝对列号上,这里n为列号。 Expreesion(表达式)——可选的,表示要打印的数值表达式或字符串表达式,如果省略,则打印一空行。 charpos——可选的,指定下一个字符的插入点,可以是分号、逗号,也可以省略。
例如,在不同的对象上分别打印消息“This is a testing message”。 ★在名称为“MyForm”的窗体对象上显示; MyForm. Print “This is a testing message.” ★在名称为“PicMiniMsg”的图片框对象上显示; PicMiniMsg. Print “This is a testing message.” ★在当前窗体上显示; Print “This is a testing message.” '省略对象 ★在打印机上显示。 Printer. Print “This is a testingmessage.” 2、几种输出方法
注意:
3、Print方法示例 被显示或被打印的项,可包括属性值、常数和变量(字符串或数字),也可以有表达式计算。Print方法可打印数字项的值。正数数值具有前导和一个尾部空格;负数数值用负数符号替代一个前导空格。 ★如在窗体上显示字符串。 Private Sub Form_Paint() Dim myvar As String End Sub 注意:
如:打印"12345678901234567890abcdefghijklmnopqrst"较长: Private Sub Form_Paint() Print "12345678901234567890abcdefghijklmnopqrst" 则显示结果为:
如果要用Print方法来在单行上显示多个表达式或字符串时,可以用“;”号或“,”号分开,用分号(或空格)时,所有项目会并列显示,中间没有空格(也称紧凑输出格式)。用逗号时,则按标准输出格式(分区输出格式)显示数据项,在这种情况下,以14个字符位置为单位把一个输出行分为若干个区段,其长度由字体大小决定,逗号后面的表达式在下一个区段输出。 例1: Private Sub Form_Paint() Print "1234567890"; "1234567890", "1234567890" End Sub 结果: 在缺省的情况下,每执行一次Print方法要自动换行。如果没有项,Print只是简单的跳到下一行,所以一系列的Print语句,自动使用不同的行。
例2: Private Sub Form_Paint() 结果: 如果想将这两条语句放一行中,可在第一条语句后放分号或逗号。 结果:
例3: Private Sub Form_Paint() Print "12345678901234567890" End Sub 运行结果: ★Print指令中的表达式计算。 Print方法具有计算和输出双重功能,对于表达式,它先计算后输出。 例4: Print "The answer is";10/2+3 VB输出结果:The answer is 8。 但Print方法没有赋值功能,例如: x=5:y=10 Print z=(X+y)/3 不能打印出z=5。 二、format函数和区域识别 格式输出函数Format()可以使数值、日期按指定的格式输出。 一般格式: Format(表达式,格式字符串) 其中表达式可以是数值型、日期型或字符型的表达式。该函数的功能是:按“格式字符串”指定的格式输出“表达式”的值。如果省略“格式字符串”,则函数的功能与Str函数基本相同。唯一的差别是,当把正数转换成字符串时,Str函数在字符串前面留有一个空格,而Format函数则不留空格。 1、日期格式化输出 Print 函数提供的命名格式,在运行时自动决定使用何种转换;命令格式输出的内容格式取决于计算机系统采用的(国家)语言格式,其真正的显示格式会因计算机上的“区域设置”(在“控制面板”的“区域和语言选项”中设置)不同而有所差异。 如:Print #11/24/1997# 在中国区域将显示为:1997-11-24。 若改变这种显示格式,可以使用Format函数。 如上例中,代码变为: Private Sub Form_Click() 将显示为:97,11,24。 甚至还可以添加汉字,如上面例子,若将y = Format(x, "yy,mm,dd")变为y = Format(x, "yyyy年mm月dd日"),将显示为:1997年11月24日。 为了增加灵活性,Format函数还提供了命名格式可以在运行时自动决定使用何种转换,包括General date,long date,medium date,short date和long Time。使用命名格式产生基于用户的系统区域的输出。 例1: Private Sub Form_paint() Dim mydate, newdate1, newdate2, newdate3 ,newdate4 As Data End Sub 例2: Private Sub Form_Click() Print Format(Time, "h点m分s秒ap/pm") End Sub 其中Time是时间函数。功能是:返回系统的当前时间。 中国区域系统本身格式为:(hh:mm:ss)。使用Format函数后可以改变这种格式。 2、数字格式化输出 用Format函数可以使数值按“格式字符串”指定的格式输出。下面介绍这些字符(见下面的“格式说明字符”表格):
说明: (1)# 表示一个数字位。#的个数决定了显示区段的长度。如果要显示的数值的位数小于#的个数,多余的位不补0,如果要显示的数值的位数大于#的个数,则数值照原样显示。 (2)0与#功能相同,只是多余的位以0补齐。例如(在“立即”窗口中实验): Print format$(25634,"00000000") <CR> 00025634 Print format$(25634,"########") <CR> 25634 (3).显示小数点。小数点与#或0结合使用,可以放在显示区段的任何位置。根据格式字符串的位置,小数部分多余的数字按四舍五入处理。例如:
Print format$(850.72,"###.##") <CR> 850.72 Print format$(7.876,"000.00") <CR> 007.88 (4),插入逗号。在格式字符串中插入逗号,起到“分位”作用,即从小数点开始,每3位用一个逗号分开。逗号可以放在小数点左边(不要放在头部和紧靠在小数点的尾部)的任何位置。例如: Print format$(12345.67,"####,#.##") <CR>正确 12,345.67 Print format$(12345.67,"#,####.##") <CR>正确 12,345.67 Print format$(12345.67,",#####.##") <CR>错误 ,12345.67 Print format$(12345.67,"#####,.##") <CR>错误 12.35 (5)% 输出百分号。通常放在格式字符串的尾部,用来输出百分号。例如: Print format$(.257,"00.0%") <CR> 25.7% (6)$ 输出美元符号。通常作为格式字符串的起始字符,在所显示的数值前加上一个“$”。例如: Print format$(348.2,"$###0.00") <CR> $348.20 (7)+、- 分别在所要显示的数值前强加上正号或负号。使显示的数值为正、负数。通常放在格式字符串的头部。例如: Print format$(348.52,"-###0.00") <CR> -348.52 Print format$(348.52,"+###0.00") <CR> +348.52 Print format$(-348.52,"-###0.00") <CR> - -348.52 Print format$(-348.52,"+###0.00") <CR> - +348.52 (8)E+(E-) 用指数形式显示数值。两者作用基本相同。例如: Print format$(3485.52,"0.00E+00") <CR> 3.49E+03 Print format$(3485.52,"0.00E-00") <CR> 3.49E03 Print format$(0.0348552,"0.00E+00") <CR> 3.49E-02 Print format$(0.0348552,"0.00E-00") <CR> 3.49E-02 例: Private Sub Form_Click() 运行后,显示结果为: 三、Tab和Spc函数 使用tab和spc函数可以使用户得到整齐的输出格式。 1、Tab函数 tab函数使用语法: Tab(column) 其中column为数值表达式。 Tab函数使currentx的值增加到column参数所定义的列位置,即输出定位到第column列的位置。使用tab函数可以在指定的位置上显示出排列整齐的输出。 例:在第1列输出“姓名”,在第10列输出“性别”,在第20列输出“地址”。 Private Sub Form_Paint() Print "123456789012345678901234567890" End Sub 2、Spc函数 spc函数用于显示指定数量的空格。 它的语法如下: Spc(numspaces) 其中numspaces为0-32767之间的整数。 例1:在第一个字符串“姓名”后插入6个空格,在第二个字符串“性别”后插入6个空格并写上“地址”。 Private Sub Form_Paint() Print "123456789012345678901234567890" End Sub 例2:打印“数字金字塔”(作业1-11)。 Private Sub Form_Click() Dim i, j, k As Integer
Next Next End Sub 本题代码也可以为: Private Sub Form_Click() 四、其它方法和属性 1、Cls方法 格式:[对象.]Cls 功能:清除由Print方法显示的文本或在图片框中显示的图形,并把光标移到对象的左上角。这里的“对象”是窗体或图片框,如果省略“对象”,则清除当前窗体内的显示内容。 说明:当窗体的背景是用Picture属性输入的图形时,不能用Cls方法清除,只能通过LoadPicture方法清除。 2、Move方法 格式: [对象.]Move 左边距离 [,上边距离[,宽度[,高度]]] 功能:用来移动窗体和控件,并可改变其大小。其中“对象”是窗体及除计时器、采单之外的所有控件。如果省略“对象”,则默认为窗体。移动的单位是“twip”。 如果“对象”是窗体,则移动的标准是屏幕,如果“对象”是控件,则移动的基准是窗体。 例:在窗体上任意位置以任意大小放置一个文本框和图片框,编写程序移动它们的位置并改变大小。 Private Sub Form_Click() 3、TextHeight和TextWidth方法 格式: [对象.]TextHeight(字符串) [对象.]TextWidth(字符串) 功能:用来辅助设置坐标。其中TextHeight方法返回一个文本字符串的高度,而TextWidth方法用来返回一个文本字符串的宽度值,单位均为“twip”。当字符串的字体、大小不同时,所返回的值也不一样。 “对象”包括窗体和图片框,如果省略,则默认为当前窗体。 例: Private Sub Form_Click() 运行界面: 4、CurrentX和CurrentY属性 功能:返回或设置下一次输出位置的水平(CurrentX)或垂直(CurrentY)坐标。这个属性只能在代码中使用,不能在设计时使用。坐标从对象的左上角起算(0,0)。 当字符串中含有回车Chr(13)、换行Chr(10)字符时,字符串的高度也随之增加,且有几个回车换行,其高度就增加几倍。 5、ScaleWidth和ScaleHeight 属性 ScaleWidth和ScaleHeight分别用来表示对象的宽度和高度值,把它们与CurrentX和CurrentY属性结合使用,可以使字符串居中显示。 例: Private Sub Form_Click() 运行界面: 6、Height、Width、Left和Top属性 这些属性在前面已经介绍过,它们的一般格式如下: [窗体.][控件.]│Printer.│Screen.Height[=高度值] [窗体.][控件.]│Printer.│Screen.Width[=宽度值] [窗体.][控件.]Left[=距左边距离] [窗体.][控件.]Top[=距顶边距离] 说明: 上面4个属性的格式中,等号及其右边的部分可以省略,这种情况下,将返回各自当前的属性值。
Height和Width属性可以返回和设置窗体、控件、打印机及屏幕的高度和宽度,而Left和Top属性分别用来返回或设置窗体、控件与其左边界和顶边界的距离。单位为twip。 例:编写程序,使窗体位于屏幕中心显示,文本框位于窗体中心显示。 在窗体上画一个文本框,大小、位置任意,然后输入如下代码: Private Sub Form_Click() |
|||||||||||||||||||||||||
![]() ![]() |