332-3.2 VB三种程序结构Visual Basic语言作为结构化程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

3.2VB三种程序结构VisualBasic语言作为结构化程序设计语言,提供了三种控制流来控制程序的流程:顺序,条件分支和循环语句。3.2.1顺序结构顺序结构程序中的语句依照其在程序中的位置依次顺序地执行。1、赋值语句格式:变量名/对象.属性名=表达式功能:将赋值号右边表达式的值赋给赋值号左边的变量或对象属性。举例:Form1.width=300Temp=20说明:1、当表达式为数值型且与变量的精度不相同时,强制转换成左边变量的精度。例如:DimAasintegerA=4.7ˊA是整型变量,A中的结果是5。2、当表达式是数字字符串,左边变量是数值类型时,自动转换成数值类型再赋值;但当表达式有非数字字符或空串时,则出错。例如;n=“123”‘n中的结果是123’n为整形n=“1a23”‘出现“类型不匹配”的错误3、当逻辑型赋值给数值型时,True转换为-1,False转换为0;反之,当数值型赋给逻辑型时,非0转换为True,0转换为False.2、MsgBox函数:向用户显示信息(输出)MsgBox语句:MsgBox(提示内容[,答复按钮+图标][,标题])MsgBox函数:DimxAsIntegerX=MsgBox(提示内容[,答复按钮+图标][,标题])功能:打开一个消息框,等待用户选择一个按钮。MsgBox函数返回所选按钮对应的整数值,其数值的意义见后表。若不需要返回值,则作为MsgBox语句。参数说明•提示内容:显示给用户的信息。最长1024字符。如果内容超过一行,则可以在每一行之间用回车符Chr(13))、换行符(Chr(10))或是回车与换行符的组合(Chr(13)&Chr(10))将各行分隔开来。•答复按钮+图标:确定在消息框中按钮的数目和类型,以及图标的类型。•标题:显示在消息框标题栏上的文本。分组内部常数按钮值描述按钮数目VbOkOnlyVbOkCancelVbAboutRetryIgnoreVbYesNoCancelVbYesNoVbRetryCancel012345只显示确定按钮显示确定、取消按钮显示终止、重试、忽略按钮显示是、否、取消按钮显示是、否显示重试、取消按钮图标类型VbCriticalVbQuestionVbExclamationVbInformation16324864关键信息图标,红色STOP标志询问信息图标?警告信息图标!信息图标I默认按钮VbDefaultButton1VbDefaultButton2VbDefaultButton30256512第1个按钮为默认第2个按钮为默认第3个按钮为默认模式VbApplicationModaleVbSystemModal04096应用模式系统模式按钮设置值及意义内部常数返回值被单击的按钮vbOkvbCancelvbAboutvbRetryvbIgnorevbYesvbNo1234567确定取消终止重试忽略是否•MsgBox函数返回所选按钮整数值的意义3、InputBox函数:从用户处获取信息(输入)功能:打开一个对话框,等待用户键入内容。当用户单击确定按钮或按回车键时,函数返回输入的值,其值的类型为字符串。(1)句法变量名=InputBox(提示[,标题][,默认值][横坐标,纵坐标])(2)参数说明•提示:提示信息,类型是字符串。•标题:是对话框窗口中的标题文本,类型是字符串。•默认值:在用户输入信息之前,输入框中显示的内容,类型是字符串。例:•bb=MsgBox(错误,重输吗?,vbYesNo+vbDefaultButton2+vbCritical,确认重输对话框)•Ifbb=vbNoThenEnd4、print语句格式1:对象.Print[表达式][{,|;}]功能:显示数据。对象可以是窗体(Form)、图形框(PictureBox)或打印机(Printer)。如果省略了对象,则在窗体上输出。说明:①表达式:可选项。可以是一个或多个表达式。当有多个表达式时,要用分隔符(逗号、分号)隔开。当表达式缺省时,则屏幕显示一个空行。②输出格式分为标准输出格式和紧凑输出格式。标准输出格式:以14个字符宽度划分为一个区段,每个数据项占一个区段的位置。(数据项之间用逗号隔开)紧凑输出格式:对于数值型数据,前面有一个符号位,后面有一个空格;对于每个字符串,各个数据项之间没有间隔。(各数据项之间用分号或空格作为分隔符)格式2:[对象.]Print[Spc(n)/Tab(n)][表达式表]Spc(n)函数:用于在输出时插入n个空格。Tab(n)函数:表示在第n列显示。3.2.2常用内部函数内部函数数学函数转换函数字符串函数日期函数函数名含义示例结果Abs(N)Exp(N)Log(N)Rnd[(N)]Sgn(N)Sqr(N)Sin(N)Cos(N)Tan(N)Round(x,n)取绝对值e为底的指数函数,即ex以e为底的自然对数产生随机数符号函数(1,0,-1)平方根正弦函数余弦函数正切函数四舍五入函数Abs(-3.5)Exp(3)Log(10)RndSgn(-3.5)Sqr(9)Sin(0)Cos(0)Tan(0)3.520.0862.30-1之间的数-13010一数学函数?Round(3.89456,3)结果:3.895说明:☆在三角函数中,以弧度表示;sqr的自变量不能是负数☆Rnd函数返回小于1,大于等于0的单精度随机数。VB用于产生随机数的公式取决于称为种子(seed)的初始值。默认情况下,每次运行一个应用程序,VB提供一相同的种子,即Rnd产生相同序列的随机数。为了每次运行时,产生不同序列的随机数,可执行Randomize语句,格式如下:Randomize[number]如果省略number,则用系统计时器返回的值作为新的种子Rnd(x):x=0:得到的相同的随机数结果。大于0:序列中的下一个。省略:序列中的下一个随机数。例子:int((b-a+1)*rnd)+a要产生30~50之间的随机数int(Rnd*21)+30二、字符串函数☆Len()函数格式:Len(String)功能:计算字符串的长度。例子:Len(Visual)函数返回值为6Mid()函数格式:Mid(String,n,m)功能:从String字符串中从第n个字符开始连续取m个字符。例子:Mid(VisualBasic6.0,7,5)函数返回值是Basic☆☆InStr()函数格式:InStr([n,]string1,string2)功能;在string1中从n开始查找string2,如果存在,函数值为string2在string1中的位置值;找不到时函数的值为0。n是可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。例子:PrintInStr(2,efabcdefg,ef)函数返回值为7删除前后空格函数格式:TRIM(字符表达式):去掉前后空格LTRIM(字符表达式):去掉前空格RTRIM(字符表达式):去掉后空格例:trim(“ab“)=“ab”ltrim(“ab“)=“ab”Rtrim(“ab“)=“ab”取子串函数格式:LEFT(字符表达式,长度)功能:从表达式值的左端取一个指定长度的子串格式:RIGHT(字符表达式,长度)功能:从表达式的右端取一个指定长度的子串。例子:LEFT(VisualBasic6.0,5)函数返回值是Visua“RIGHT(VisualBasic6.0,5)函数返回值是“ic6.0“4.Str()格式:Str(Number)功能:将数值型量转换成字符型量。说明:Number为一个数值型量,返回一个字符型量。示例:PrintStr(12345)值为字符“12345。说明:※Str函数将非负数值转换成字符类型后,会在转换后的字符串左边增加空格,即数值的符号位。如Str(123)的结果为“123,而不是123。PrintStr(123)三、日期函数1.Date格式:Date功能:提取计算机系统的当前日期。说明:该函数是无参函数,返回日期的格式为月-日-年示例:如果今天是2000年3月10日,则a=Date的值为“03-10-2000”PrintDate2.Now格式:Now功能:提取计算机系统的当前的时间和日期。示例:a=Nowa的值为00-3-610:08:34,表示当前系统日期为2000年3月6日,系统时间为10点8分34秒。PrintNow3.Time格式:Time功能:提取计算机系统的当前的时间。说明:该函数是无参函数,返回由当前系统时间组成的一个字符串。示例:a=Timea的值为10:08:34。4、格式:YEAR(日期表达式)MONTH(日期表达式)DAY(日期表达式)功能:返回年月日例:PrintDatePrintDay(#3/12/2006#)5、格式:HOUR(日期时间表达式)MINUTE(日期时间表达式)Second(日期时间表达式)功能:返回时、分、秒。例:PrintTimePrintHour(#1:34:24PM#)PrintMinute(Time)四、其他函数1.Asc()格式:Asc(String)功能:将字符串转换成ASCII值。示例:PrintAsc(C)值为67。2.Chr()格式:Chr(x)功能:将ASCII码值转换成字符串。示例:PrintChr(66)值为字符B。※Chr和Asc函数是一对互为反函数3.小写转换函数格式:Lcase(字符表达式)功能:将指定表达式值中的大写字母转换成小写字母,其他字符不变。例:?Lcase('BOOK')book4.大写转换函数格式:Ucase(字符表达式)功能:将指定表达式值中的小写字母转换成大写字母,其他字符不变。例:?Ucase(“work”)WORK5.Val()格式:Val(String)功能:将字符串量转换成数值量。示例:a=Val(-13.456)值为-13.456b=Val(13-456)值为13Val将数字字符串转换为数值,当字符串中出现非数值字符时,停止转换,函数返回的是停止转换前的结果。如Val(“–123.45ty”)结果为-123.45。6.str()功能:将数值转换成字符串。VisualBasic选择结构的实现:If…Then语句(单分支结构)If...Then…Else语句(双分支结构)SelectCase语句(多分支结构)3、2、2分支结构1.If…Then语句(单分支结构)格式1:If〈表达式〉Then语句格式2:If〈表达式〉Then语句块EndIfTF语句(块)表达式单分支结构功能:当条件表达式的值为“真”时,则执行Then后面的语句或语句块;否则不执行任何操作。说明:语句块可以是一条或多条语句。如果使用格式1的简单形式表示,则只能是一条语句;或用冒号隔开的多条语句,但这些语句必须书写在一行上。If...Then的单行格式不用EndIf语句。DimxAsIntegerPrivateSubCommand1_Click()x=90Ifx0ThenMsgBox正数:Printx=90EndSubPrivateSubCommand2_Click()x=90Ifx0ThenMsgBox正数Printx=90EndIfEndSub【例3-3】任意输入3个数,找出其中的最大值。编写的窗体单击事件过程代码如下:PrivateSubForm_Click()DimaAsSingle,bAsSingle,cAsSingle,maxAsSinglea=InputBox(请输入第一个数,输入框)b=InputBox(请输入第二个数,输入框)c=InputBox(请输入第三个数,输入框)max=aIfbmaxThenmax=bIfcmaxThenmax=cPrint三个数中最大的为:&maxEndSub2.If…Then…Else语句结构(双分支结构)格式1:If表达式Then语句块1Else语句块2EndIf格式2:If表达式Then语句1Else语句2功能

1 / 60
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功