1第三讲基本输入/输出2内容提要使用Print方法输出使用对话框输入/输出使用标签和文本框输入/输出3Print方法Print方法是输出文本和数据的主要方法,其一般格式为:[对象名称.]Print[表达式列表][;|,]窗体、图片框、立即窗口、打印机数值表达式、字符串表达式DimaAsInteger,bAsIntegera=10b=5Printa+bPrint'输出一个空行PrintHello“,”:按标准输出格式显示“;”或空格:按紧凑格式为使Print方法在Form_Load事件过程中起作用,必须设置窗体的AutoRedraw属性为True4Print方法Print1,2,3,Good,MorningPrint1;2;3;Good;MorningPrint123GoodMorningPrint12345678输出数值数据时,数值的前面有一个符号位,后面有一个空格,字符串的前面和后面都没有多余的空格Print当前日期:;PrintDatePrint当前时间:;PrintTimePrint当前日期:,PrintDatePrint当前时间:,PrintTime要使两条Print语句在一行上显示,可以在前一个语句的末尾加上一个逗号或分号(逗号:标准输出格式,分号:紧凑)5与Print方法有关的函数-Tab函数用来在指定的位置输出信息,其格式为:Tab[(n)]PrivateSubForm_Click()PrintPrintTab(20);通讯录PrintPrintTab(5);姓名;Tab(20);房间号;Tab(35);电话PrintTab(5);--------------------------------------PrintTab(5);张红;Tab(20);503;Tab(35);61234555PrintTab(5);李小刚;Tab(20);1102;Tab(35);89233876PrintTab(5);王建国;Tab(20);1306;Tab(35);81462091EndSubTab函数把光标移到由参数n指定的列数,从此列开始输出信息,要输出的信息放在Tab函数的后面,用分号隔开输出其后面信息的起始列号,省略时,移到下一个输出区的起点参数n的取值没有限制。当n大于行宽时,输出位置为:nMod行宽,当n1时,输出位置为第一列一个Tab函数对应一个输出项,各输出项之间用分号隔开6与Print方法有关的函数-Spc函数Spc函数用来指定两个输出项之间的间隔,其格式为:Spc(n)PrivateSubForm_Click()dimiasintegerPrintPrintFori=1To5PrintTab(i);String(6-i,☆);Spc(6);String(i,★)NextiEndSub其中String(number,character)函数返回指定长度重复字符的字符串。参数n表示两个输出项之间的间隔,n的取值范围为0到32767之间Spc函数与输出项之间用分号分隔7格式输出函数格式输出函数Format可以使数值、日期或字符串按指定的格式输出。Format(表达式,格式字符串)格式字符串是一个字符串常量或变量,由专门的格式字符组成,由这些字符决定数据项的显示格式和显示区域的长度。DimsAsSingle,bAsIntegers=12.345b=29PrintFormat(s,000.0000),Format(b,000.00)PrintFormat(s,###.####),Format(b,###.##)012.3450029.0012.34529.0#.,%$+-E+E-dddddddddd……8格式输出函数PrivateSubForm_Click()PrintFormat(13579,########)PrintFormat(13579,00000000)PrintFormat(123.4567,0000.000)PrintFormat(123456.78,###,###.###)PrintFormat(399.59,$000.000)PrintFormat(246.78,-####.##)PrintFormat(0.6955,00.00%)PrintFormat(1234.56,0.00E+00)PrintFormat(0.123456,0.00E-00)EndSub9Cls方法和Move方法Cls方法Cls方法清除运行时在窗体或图片框生成的图形和文本。其格式为:[对象名].Cls说明:对象名为窗体或图片框,当省略对象名时,则清除当前窗体上由Print方法和图形方法在运行时生成的文本和图形。Cls方法不能清除设计时产生的文本和图形Move方法Move方法用于移动窗体或控件,并可改变其大小,其形式为:[对象.]Move左边距离[,上边距离[,宽度[,高度]]]PrivateSubForm_Click()Form1.MoveForm1.Left-200,Form1.Top-200,Form1.Width-200,Form1.Height-200EndSub10输入对话框输入对话框使用InputBox函数实现。InputBox产生一个输入数据的界面,等待用户输入数据,并返回输入的内容。InputBox(信息内容[,对话框标题][,默认内容][,x坐标位置][,y坐标位置])缺省情况下,InputBox函数返回一个字符串,如果输入数值,并使用接收到的数值进行运算时,要先使用Val函数转换为数值型数据每次执行InputBox函数只能输入一个字符串或一个数值,多次调用InputBox函数时,用户输入的信息作为函数的返回值必须赋给一个变量,否则无法保留对话框中显示信息内容时,系统会根据对话框的大小自动换行。如果要按自己的要求换行,需要用回车符Chr(13)、换行符Chr(10)或其组合Chr(13)+Chr(10)来分隔。11InputBox函数举例编制计算水电费的程序,利用输入对话框输入用水量和用电量,在窗体输出要付的水电费。PrivateSubCommand1_Click()Dima!,b!,c!a=Val(InputBox(请输入用水量,计算水电费))b=Val(InputBox(请输入用电量,计算水电费))c=a*2.9+b*0.48Print本月用水量&a&吨,&水费为&a*2.9&元Print本月用电量&b&度,&电费为&b*0.48&元Print水电费共计&c&元EndSub12信息对话框实现系统和用户交互的功能。通过MsgBox函数或MsgBox语句实现。MsgBox(信息内容[,对话框类型][,对话框标题])信息内容:必选,是显示在对话框中的信息字符串。其长度不超过1024个字符,由所用字符的宽度决定。如果信息的内容超过一行,会自动换行,也可以用回车符Chr(13)、换行符Chr(10)或其组合Chr(13)+Chr(10)人工换行。对话框类型是一个整数值,指定对话框中显示的按钮、图标的数目及形式。该数值由表示按钮的类型、显示图标的种类、活动按钮的位置三类数值相加产生。13MsgBox函数分组内部常数值作用按钮数目vbOKOnly0只显示“确定”按钮VbOKCancel1显示“确定”和“取消”按钮VbAbortRetryIgnore2显示“终止”、“重试”及“忽略”按钮VbYesNoCancel3显示“是”、“否”及“取消”按钮VbYesNo4显示”是“、”否“按钮VbRetryCancel5显示”重试“、”取消“按钮图标类型VbCritical16关键信息图标,红色Stop标志VbQuestion32询问信息图标?VbExclamation48警告信息图标!VbInformation64信息图标i“对话框类型”参数的取值:14MsgBox函数分组内部常数值作用默认图标vbDefaultButton10第一个按钮是缺省值vbDefaultButton2256第二个按钮是缺省值vbDefaultButton3512第三个按钮是缺省值vbDefaultButton4768第四个按钮是缺省值模式vbApplicationModal0应用模式vbSystemModal4096系统模式20=4+16+0显示“是”、“否”按钮、暂停(X)图标,缺省按钮为“是”按钮51=3+48+0显示“是”、“否”、“取消”按钮、警告(!)图标,缺省按钮为“是”按钮对话框类型参数由上面四组值组成,从每组值中取用一个数值相加得到的和就是对话框类型参数的值15MsgBox函数的返回值MsgBox函数的返回值是一个整数,代表所选择的命令按钮。返回值内部常量被单击的按钮1vbOK“确定”按钮2vbCancel“取消”按钮3vbAbort“终止”按钮4vbRetry“重试”按钮5vbIgnore“忽略”按钮6vbYes“是”按钮7vbNo“否”按钮DimdAsIntegerd=MsgBox(“退出程序吗?”,36,“确认对话框)Ifd=6ThenEndEndIf36=4+32+0显示Yes及No按钮询问信息图标?16MsgBox函数举例PrivateSubCommand1_Click()Dimx%,a$,b%Dimy100%,y50%,y10%,y5%,y2%x=Val(Text1.Text)y100=x\100:x=xMod100y50=x\50:x=xMod50y10=x\10:x=xMod10y5=x\5:x=xMod5y2=x\2:x=xMod2Text1.SelStart=0Text1.SelLength=Len(Text1.Text)Text1.SetFocusa===============================&Chr(13)a=a&y100&张百元票,&y50&张50元票&Chr(13)a=a&y10&张10元票,&y5&张5元票&Chr(13)a=a&y2&张2元票,&x&张1元票&Chr(13)a=a&==============================&Chr(13)a=a&共计&Text1.Text&元b=MsgBox(a,0,实发工资)EndSub输出发工资时各种票额钞票的付款方案17MsgBox语句当不需要返回值时,可使用MsgBox语句。MsgBox信息内容[,对话框类型][,对话框标题]参数的作用和MsgBox函数相同由于没有返回值,常用于简单的信息显示MsgBox文件成功打开!18标签-1标签只能用来显示文本信息而不能用来输入信息。通常用来为没有Caption属性的控件标注信息或用于显示程序处理结果信息,标签中显示的信息只能用Caption属性设置。标签的常用属性Alignment:设置文本在标签中的对齐方式AutoSize:设置标签是否自动调整大小以显示所有文本内容BorderStyle:设置标签边框的样式19标签-2标签的常用属性Backstyle:设置标签的背景样式WordWrap:设置当标签中文本超过标签长度时,是否自动换行标签的常用事件有Click和DblClick由于标签主要用来说明和显示信息,一般不需要编写事件过程,也不需要其它的方法20标签-3PrivateSubForm_Load()Label1.Caption=现在时间是:Label2.BorderStyle=1Label2.Alignment=2Label2.Caption=Date&Chr(10)+Chr(13)&TimeEndSub例:使用标签显示时间日期信息21文本框-1文本框即能显示文本信息也能输入并编辑文本信息。文本框的属性Text:显示和输入文本框中的文本信息Maxlength:文本框能输入的最大字符数,0表示任意长度的字符串MultiLine:设置文本框中是否可以多行显示,有两个取值True和FalseScrollBars:文本框是否有滚动条,MultiLine为True时,该属性才有效,表示滚