第4章VisualBasic基本语句与结构赋值语句与注释语句暂停语句与结束语句数据输出——Print方法交互函数选择结构循环语句与循环结构GoTo型控制结构上机实验4.1赋值语句与注释语句4.1.1语句书写规则在VB中,进行程序的语句输入时,一般情况是一行一句。但VB允许使用复合语句行,即把几个语句(特别是短语句)放在一行中,各语句之间用冒号(:)隔开。一个语句行的长度最多不能超过1023个字符(ASCII码)。在输入过程中,可以通过续行符把程序分别放在几行中。VisualBasic6.0中所使用的续行符是下划线(_)。如果一个语句行的末尾是下划线,则下一行与该行属于同一个语句行。注意:续行符前要求有一个空格。4.1.2赋值语句用赋值语句可以把指定的值赋给某个变量或某个带有属性的对象,其一般格式为:[Let]变量名=表达式其中,“=”被称为“赋值号”(与等号概念不同)。它的功能是:先计算表达式的值,然后把它的值赋给赋值号左边的变量。所以赋值语句含有双重功能,即计算和赋值。变量名为变量或属性的名称,表达式是任何数据类型的表达式,但两者的类型必须相同或兼容4.1.2赋值语句例4.1赋值语句示例。本例的前3个赋值语句分别是数值型、字符型和逻辑型,而后3个语句给对象的属性赋值。DimABCAsInteger,StrAsString,LgAsBooleanABC=3456Str=”程序设计”Lg=TrueText1.Text=”欢迎使用”Label1.Caption=Str+Text1.TextForm1.Visible=False4.1.3注释语句注释语句用来给程序或语句添加注释,以提高程序的可读性,其格式为:Rem|’字符串注释语句可单独占用一行或与语句行同行(即直接在语句的后面)。若在其他语句行后面使用Rem命令,则必须使用冒号(:)与语句隔开;若在其他语句行后使用单引号,不必加冒号。这里特别提醒:单引号是英文情况下的符号4.2暂停语句与结束语句4.2.1暂停语句(Stop)Stop语句用来暂停程序的执行,其作用类似执行“运行”/“中断”命令。当执行Stop语句时,将中断程序的运行并自动打开立即窗口。Stop语句的主要作用是把解释程序设置为中断(Break)模式,以便对程序进行检查和调试。一旦VB应用程序通过编译并能运行,则不再需要解释程序的辅助,也不需要进入中断模式。因此,程序调试结束后,生成可执行文件之前,应删去代码中的所有Stop语句。4.2.2结束语句(End)End语句结束的是一个过程或块。它提供了一种强迫中止程序的方法。End语句可放在程序中的任何位置,执行到End语句时将退出程序。4.3数据输出——Print方法VisualBasic用Print方法实现数据输出该方法可用于窗体,也可用于其他对象。实际上,用于窗体的方法有的也可以用于其他多种对象。在这一节中,将主要介绍如何在窗体中使用这种方法。4.3.1Print方法Print方法可以在窗体上显示文本字符串和表达式的值,并可在其他图形对象或打印机上输出信息。其一般格式为:[对象名称.]Print[表达式表][,|;]4.3.1Print方法(1)“对象名称”可以是窗体(Form)、图片框(PictureBox)或打印机(Printer),也可以是立即窗口(Debug)。如果省略“对象名称”,则在当前窗体上输出(2)“表达式表”是一个或多个表达式,可以是数值表达式或字符串。对于数值表达式,打印出表达式的值;而字符串则照原样输出。如果省略“表达式表”,则输出一个空行。(3)当输出多个表达式或字符串时,各表达式用分隔符(逗号、分号或空格)隔开。如果输出的各表达式之间用逗号分隔,则按标准输出格式(分区输出格式)显示数据项。如果各输出项之间用分号或空格作为分隔符,则按紧凑输出格式输出数据。(4)Print方法具有计算和输出双重功能,对于表达式,它先计算后输出。(5)在一般情况下,每执行一次Print方法要自动换行(6)Print方法在Form_Load事件过程中不起作用。4.3.2与Print方法有关的函数1.Tab函数格式:Tab(n)Tab函数把光标移到由参数n指定的列,从这个位置开始输出信息。要输出的内容放在Tab函数的后面,并用分号隔开。(1)参数n为数值表达式,其值为一整数,它是下一个输出位置的列号,表示在输出前把光标(或打印头)移到该列(2)对参数n的取值范围没有具体限制。当n比行宽大时,显示位置为nMod行宽(3)当在第一个Print方法中有多个Tab函数时,每个Tab函数对应一个输出项,各输出项之间用分号隔开。4.3.2与Print方法有关的函数例4.2打印如下的人员名册4.3.2与Print方法有关的函数例4.2代码:PrivateSubForm_Click()FontName=隶书'字体类型为“宋体”FontSize=16'字体大小为12FontBold=True'字体为粗体Print姓名;Tab(8)Print部门;Tab(16);职务;Tab(16)PrintPrint张三;Tab(8);科研室;Tab(16);科长;Tab(16)Print李四;Tab(8);人力部;Tab(16);部长;Tab(16)EndSub4.3.2与Print方法有关的函数2.Spc函数格式:Spc(n)在Print的输出中,用Spc函数可以跳过n个空格。(1)参数n是一个数值表达式,其取值范围为0~32767的整数。Spc函数与输出项之间用分号隔开(2)Spc函数和Tab函数作用类似,而且可以互相代替。但应注意,Tab函数需要从对象的左端开始计数,而Spc函数只表示两个输出项之间的间隔。4.3.2与Print方法有关的函数3.空格函数格式:Space$Space$函数返回n个空格。例如(在“立即”窗口中试验):x$=ab+Space(8)+bc“printx$显示abbc4.3.3格式输出用格式输出函数Format$可以使数值或日期按指定的格式输出。一般格式为:Format$(数值表达式,格式字符串)该函数的功能是:按“格式字符串”指定的格式输出“数值表达式”的值。4.3.3格式输出用Format$函数可以使数值按“格式字符串”指定格式输出,包括在输出字符串前加$、字符串前或后补充0及加千位分隔符等。格式说明字符4.3.4其他方法和属性1.Cls方法格式:[对象.]ClsCls清除由Print方法显示的文本或在图片框中显示的图形,并把光标移到对象的左上角(0,0)。这里的“对象”可以是窗体或图片框,如果省略“对象”则清除当前窗体内的显示内容。4.3.4其他方法和属性2.Move方法格式:[对象.]Move左边距离[,上边距离[,宽度[,高度]]]Move方法用来移动窗体和控件,并可改变其大小。其中“对象”可以是窗体及除计时器(Timer)、菜单(Menu)之外的所有控件,如果省略“对象”,则表示要移动的是窗体。“左边距离”,“上边距离”、“宽度”及“高度”均以twip为单位。如果“对象”是窗体,则“左边距离”和“上边距离”均以屏幕左边界和上边界为准;如果“对象”是控件,则以窗体的左边界和上边界为准4.3.4其他方法和属性例4.3在窗体的任意位置画一个文本框和一个图片框(大小任意)。编写程序移动它们的位置并改变其大小。4.3.4其他方法和属性例4.3代码PrivateSubForm_Click()Move400,500,4000,2000Text1.Move100,200,1000,1500Picture1.Move1200,200,1000,2000Picture1.PrintPicture1EndSub4.3.4其他方法和属性3.TextHeight和TextWidth方法格式:[对象.]TextHeight(字符串)[对象.]TextWidth(字符串)这两个方法用来辅助设置坐标。其中TextHeight方法返回一个文本字符串的高度值,而TextWidth方法则返回一个文本字符串的宽度值,它们的单位均为twip。当字符串的字形和大小不同时,所返回的值也不一样。“对象”包括窗体和图片框,如果省略“对象”,则用来测试当前窗体中的字符串。4.3.4其他方法和属性例4.4编写程序,试验TextHeight方法。PrivateSubForm_Click()PrintVisualBasicCurrentY=TextHeight(Visual)*8'下一个输出位置的Y坐标CurrentX=0'下一个输出位置的X坐标PrintVisualBasicPrintText$=VBPrintText$PrintTextHeight(Text$),TextWidth(Text$)FontSize=16’设置字体大小PrintPrintText$PrintTextHeight(Text$),TextWidth(Text$)EndSub4.3.4其他方法和属性例4.5编写程序,使字符串居中显示。PrivateSubForm_Click()FontSize=24Sample$=VisualBasic程序设计x=(ScaleWidth-TextWidth(Sample$))/2y=(ScaleHeight-TextHeight(Sample$))/2CurrentX=xCurrentY=yPrintSample$EndSub4.4交互函数4.4.1InputBox函数InputBox函数可以产生一个对话框,作为输入数据的界面,等待用户输入数据,并返回所输入的内容。其格式为:InputBox(prompt[,title][,default][,xpos,ypos][,helpfile,context])4.4.1InputBox函数该函数有7个参数,其含义如下:(1)prompt:是一个字符串,其长度不得超过1024个字符,它是在对话框内显示的信息,用来提示用户输入。(2)title:字符串,它是对话框的标题,显示在对话框顶部的标题区。(3)default:字符串,用来显示输入缓冲区的默认信息。(4)xpos,ypos:是两个整数值,分别用来确定对话框与屏幕左边的距离(xpos)和上边的距离(ypos),它们的单位均为twip。这两个参数必须全部给出,或者全部省略。如果省略这一对位置参数,则对话框显示在屏幕中心线向下约三分之一处。(5)helpfile,context:helpfile是一个字符串变量或字符串表达式,用来表示帮助文件的名字;context是一个数值变量或表达式,用来表示相关帮助主题的帮助目录号。这两个参数必须同时提供或同时省略。4.4.1InputBox函数在使用InputBox函数时,应注意以下几点。(1)执行InputBox函数后,产生一个对话框,提示用户输入数据,光标位于对话框底部的输入区中。(2)在默认情况下,InputBox的返回值是一个字符串(不是变体类型)。(3)在执行InputBox函数所产生的对话框中,有两个按钮,一个是“确定”,另一个是“取消”。在输入区输入数据后,单击“确定”按钮(或按回车键)表示确认,并返回在输入区中输入的数据;而如果单击“取消”按钮(或按Esc键),则使当前的输入作废,在这种情况下,将返回一个空字符串。(4)每执行一次InputBox函数只能输入一个值,如果需要输入多个值,则必须多次调用InputBox函数。(5)和其他返回字符串的函数一样,InputBox函数也可以写成InputBox$的形式,这两种形式完全等价。4.4.1InputBox函数例4.6编写程序,用InputBox函数输入数据。PrivateSubForm_Click()m1$=请输入姓名:mtitle$=员工简历m2$=请输入年龄:m3$=请输入性别:m4$=请输入籍贯:workername$=InputBox(m1$,mt