VB程序设计第2版第4章.ppt

上传人:max****ui 文档编号:11498183 上传时间:2020-04-25 格式:PPT 页数:50 大小:486.50KB
返回 下载 相关 举报
VB程序设计第2版第4章.ppt_第1页
第1页 / 共50页
VB程序设计第2版第4章.ppt_第2页
第2页 / 共50页
VB程序设计第2版第4章.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
1,第4章,顺序结构程序设计,本章要点:赋值语句数据输入数据输出注释、暂停与程序结束语句,2,事件驱动:将代码划分成一些“子过程”过程结构:过程内部代码由三种基本结构组成即:顺序结构、选择结构、循环结构顺序结构:执行过程的次序从上到下,从左到右例:PrivateSubCommand1_Click()ConstPi=3.14H=Val(Text1.Text):R=Val(Text2.Text)Text3.Text=Pi*R2*HEndSub,3,4.1赋值语句,1.格式=或:.=2.功能计算表达式的值,再将此值赋给变量或对象属性。,3.说明(1):应符合VB变量命名约定。(2):常量、变量、表达式、属性。(3):缺省时为当前窗体。(4)赋值号“=”:与数学中的等号意义不同。例:X=X+1,4,(5)赋值号左边必须是变量或对象属性。例:X=1MyStr=GoodMorningCommand1.Caption=确定X+1=X错误,赋值号左边是表达式Y=5正确5=Y错误,赋值号左边是常量(6)变量名或对象属性名的类型应与表达式类型相容。类型相容:指变量名或对象属性名能够正确存取赋值号右边的表达式的值。,5,例:DimAAsInteger,BAsSingleDimCAsDouble,SAsStringA=100将整型数100赋给整型变量AS=123.45将字符串123.45赋给变量SA=S将数字字符串变量赋给整型变量,变量A中存放123S=AS中存放字符串123B=12345.67A=B高精度变量赋值给整型变量,先四舍五入后取整,A中存放12346C=123456.789B=C高精度变量赋值给低精度变量,变量B中存放123456.8。有效数字7位S=abcA=S错误,类型不匹配,6,(7)变量未赋值时,数值型变量值为0,字符串变量值为空串。(8)给可变类型的变量赋值后,变量的类型为赋值号右边表达式的类型。例:执行下列各赋值语句后,A的数据类型是什么?(设A没有定义数据类型)A=6=5A=5+3A=5+3A=#11/26/99#A=#11/26/1999#A=Not58,可用TypeName函数显示变量的数据类型。如:PrintTypeName(A),7,【例4-1】设变量A中存放5,变量B中存放8,交换两个变量的值,使变量A中存放8,变量B中存放5。,代码如下:A=5B=8C=AA=BB=C,8,4.2数据输入,把要加工的初始数据从某种外部设备(例如键盘)输入到计算机中,并把处理结果输出到指定设备(如显示器),这是程序设计语言所应具备的基本部分。,9,4.2.1用InputBox函数输入数据,1.InputBox函数的格式InputBox(,)2.功能提示一对话框,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。3.说明:字符串表达式。可用Chr(13)、Chr(10)、Chr(13)R;AREA=;AREAEndSub,单击“确定”,返回文本框中的文本到变量R中单击“取消”,返回一个零长度的字符串,11,用文本框输入数据时,也就是将文本框的Text属性的内容赋值给某个变量。例:将文本框Text1中输入的字符串赋给字符串变量MystrDimMyStrAsStringMyStr=Text1.Text例:将文本框Text1中输入的字符串作为数值赋给整型变量DimAAsIntegerA=Val(Text1.Text),4.2.2用TextBox控件输入数据,12,1.焦点当前可以接收用户输入的对象称为具有焦点。注意:并非所有控件都可以接收焦点。而且,只有Enabled和Visible属性为True时,才可以接收焦点。2.事件GotFocus发生在对象得到焦点时LostFocus发生在对象失去焦点时3.对象何时得到焦点运行时选择对象(鼠标、Tab键、访问键)在代码中使用SetFocus方法,4.2.3焦点和Tab键序,13,4.对象何时失去焦点运行时用Tab键移动、用访问键或用鼠标单击选择另一个对象。在代码中对另一个对象使用SetFocus方法改变焦点。5.Tab键序指按Tab键时光标在各个控件之间移动的顺序。每个窗体都有自己的Tab键序。默认键序与控件的建立次序一致。TabIndex属性:决定Tab键序改变TabIndex属性可以改变Tab键序TabStop属性:决定是否能够使用Tab键将焦点移动到当前对象。,14,【例4-2】设计如下图所示的界面,运行时,输入某学生三门课的成绩,计算平均成绩。按要求编程。,要求:单击“计算”按钮求平均成绩;当输入成绩的文本框获得焦点时,选中其中的文本;当输入成绩的文本框内容发生变化时,清除平均值;单击“清除”按钮清除所有内容,将焦点定位在Text1中;单击“退出”按钮结束程序的运行。,15,单击“计算”按钮求平均成绩PrivateSubCommand1_Click()A=Val(Text1.Text)B=Val(Text2.Text)C=Val(Text3.Text)Text4.Text=(A+B+C)/3EndSub,16,当输入成绩的文本框获得焦点时,选中其中的文本PrivateSubText1_GotFocus()Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSubPrivateSubText2_GotFocus()Text2.SelStart=0Text2.SelLength=Len(Text2.Text)EndSubPrivateSubText3_GotFocus()Text3.SelStart=0Text3.SelLength=Len(Text3.Text)EndSub,17,当输入成绩的文本框内容发生变化时,清除平均值PrivateSubText1_Change()Text4.Text=EndSubPrivateSubText2_Change()Text4.Text=EndSubPrivateSubText3_Change()Text4.Text=EndSub,18,单击“清除”按钮清除所有文本框的内容,并将焦点定位在文本框Text1中。PrivateSubCommand2_Click()Text1.Text=Text2.Text=Text3.Text=Text4.Text=Text1.SetFocusEndSub单击“退出”按钮结束程序的运行。PrivateSubCommand3_Click()EndEndSub,19,4.3数据输出,在程序设计中对输入的数据进行加工后,往往需要将处理结果、提示信息等呈现给用户,即输出。,20,用文本框输出数据时,也就是将数据赋给文本框的Text属性。例如输出一个字符串(或数值),输出多个字符串(或数值)例:用文本框Text1输出一个字符串Text1.Text=hello例:用文本框Text1输出一个数值型数据X=35Text1.Text=Str(X)Str可以省略或用Format例:用文本框Text1输出多个数,分多行输出。首先将文本框的MultiLine设置为True,必要时可以进一步设滚动条属性ScrollBars。X=35:Y=74Text1.Text=Str(X)设置三个文本框的Alignment属性为1-RightJustify;设置标签Label2的Caption属性为空;设置标签Label2的BorderStyle属性为1FixedSingle。,25,代码如下:,PrivateSubCommand1_Click()DimAAsSingle,BAsSingle,CAsSingleDimPAsSingle,SAsSingleA=Val(Text1.Text)B=Val(Text2.Text)C=Val(Text3.Text)P=(A+B+C)/2S=Sqr(P*(P-A)*(P-B)*(P-C)显示时保留两位小数Label2.Caption=Format(S,0.00)EndSub,26,消息框常用于在屏幕上显示一个对话框,给出一些提示或警告信息,并允许用户进行选择。程序可根据该选择确定进一步的操作。1.MsgBox函数的格式=MsgBox(,)或:MsgBox,2.功能在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮。3.说明:字符串表达式。可用换行符换行。:按钮类型+图标类型+默认按钮。P67:字符串表达式。返回值:由在对话框中按下哪种按钮决定。见P67,4.3.3用MsgBox函数输出数据,27,例:PrivateSubCommand1_Click()MsgBox提示信息EndSub,例:换行PrivateSubCommand1_Click()MsgBox第一行|,:窗体如Form1.PrintHello图片框如Picture1.PrintHello打印机如Printer.PrintHello立即窗口如Debug.PrintHello省略:默认为当前窗体。:多个表达式使用逗号或分号隔开。逗号:以14个字符位置为单位把一个输出行分成若干区段。分号:后一项紧跟前一项输出。,31,输出时,数值型数据前有一个符号位(正号不显),后面留一个空格位;字符串原样输出,前后无空格。,例:PrivateSubForm_Activate()Print12345678901234567890Print2+4=;2+4,Print2-4=;Print2-4EndSub,例:PrivateSubForm_Activate()Print12345678901234567890Print2+4=;2+4Print2-4=,2-4EndSub,32,例:PrivateSubForm_Load()Form1.ShowPrint12345678901234567890Print产生空行Print2+4=;2+4,Print取消上面一句末尾逗号的作用Print2-4=;Print2-4EndSub,输入Print时可用?代替,VB将其自动转换成Print,33,2.与Print方法有关的函数(1)Tab函数格式:Tab(n)功能:在指定的第n个位置上输出数据。参数n:n当前位置:打印位置为下一行的第n列n1:打印位置为第1列省略:打印位置为下一个打印区的起点(每14个字符为一个打印区),34,例:PrivateSubForm_Activate()Print12345678901234567890PrintHello;Tab(10);WorldPrintHello;Tab;WorldPrintHello;Tab(4);WorldPrintTab(-5);HelloEndSub,35,(2)Spc函数格式:Spc(n)功能:跳过n个空格。例:PrintHOW;Spc(3);ABOUT结果:HOWABOUT,注意:Spc函数与Space函数、Tab函数的区别Space函数:可以用在字符串允许出现的任何位置。Spc函数:只能用在打印语句中。Tab函数指定绝对位置;Space函数或Spc函数指定相对位置。,36,4.4注释、暂停与程序结束语句,1.注释语句格式:|Rem功能:给语句或程序段加上注释,以提高可读性。说明:Rem与之间至少空一个空格。例:PrivateSubForm_Activate()Rem本程序用于计算圆的面积DimRAsString,AREAAsSingleR为半径R=InputBox(请输入半径,1):Rem输入半径AREA=3.14*Val(R)2以下将半径和面积输出到窗体上PrintVal(R),AREAEndSub,37,2.暂停语句格式:Stop功能:暂停程序的执行。用于程序调试。类似于执行“运行”菜单中的“中断”命令3.结束语句格式:End功能:结束程序的执行。,38,4.5顺序结构程序应用举例,【例4-5】鸡兔同笼。已知笼中鸡兔总头数为h,总脚数为f,问鸡兔各有多少只?分析:设鸡有x只,兔有y只,则方程式如下:x+y=h2x+4y=f解方程。解出求x和y的具体公式为:x=(4h-f)/2y=(f-2h)/2,39,设计界面:,Label3、Label4的AutoSize属性设置为True,40,代码如下:,PrivateSubCommand1_Click()DimhAsInteger,fAsInteger,xAsInteger,yAsIntegerh=Val(Text1.Text)f=Val(Text2.Text)x=(4*h-f)/2y=(f-2*h)/2Label3.Caption=Label3.Caption&Str(x)&只Label4.Caption=Label4.Caption&Str(y)&只EndSub,41,PrivateSubText1_GotFocus()文本框Text1获得焦点时,选中其中的文本Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSubPrivateSubText2_GotFocus()文本框Text2获得焦点时,选中其中的文本Text2.SelStart=0Text2.SelLength=Len(Text2.Text)EndSub,42,【例4-6】设计如下图所示的界面。运行时,在文本框Text1和Text2中输入某一范围后,单击“随机抽号”按钮,在标签Label上产生指定范围内的随机整数,实现在任意指定的范围内随机抽取号码。,43,代码如下:,PrivateSubCommand1_Click()DimAAsInteger,BAsIntegerRandomizeA=Val(Text1.Text)B=Val(Text2.Text)产生A,B区间的随机整数Label4.Caption=Str(Int(Rnd*(B-A+1)+A)EndSub,44,在Text1获得焦点时,选中其中的文本PrivateSubText1_GotFocus()Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSub在Text2获得焦点时,选中其中的文本PrivateSubText2_GotFocus()Text2.SelStart=0Text2.SelLength=Len(Text2.Text)EndSub,45,【例4-7】求用十进制表示230有多少位。界面如下图所示。,分析:先求230的值,再用Str函数将其转换为字符串,用Trim函数去掉该字符前的空格,然后用Len函数求字符串长度(即其位数)。,46,代码如下:,PrivateSubForm_Load()DimMAsLong,TempAsStringShowM=230Temp=Str(M)将M转换成字符串Label3.Caption=Label3.Caption位EndSub,47,【例4-8】对文本框中所列单词进行相关操作。界面如下图所示。运行时,可以对鼠标选中的单词进行“首字母大写”操作、“全部小写”操作、“删除”操作,并可以向文本框中添加新单词。,48,代码如下:,将鼠标选中的单词首字母大写PrivateSubCommand1_Click()Text1.SelText=UCase(Left(Text1.SelText,1)&_Right(Text1.SelText,Len(Text1.SelText)-1)EndSub将鼠标选中的单词全部改为小写PrivateSubCommand2_Click()Text1.SelText=LCase(Text1.SelText)EndSub,49,输入新单词,添加到文本框尾部PrivateSubCommand3_Click()DimwordAsStringword=InputBox(请输入新单词)Text1.Text=Text1.Text&word&vbCrLfEndSub删除选中的单词PrivateSubCommand4_Click()Text1.Text=Left(Text1.Text,Text1.SelStart)&_Right(Text1.Text,Len(Text1.Text)-_Text1.SelStart-Text1.SelLength-1)EndSub,50,本章小结:,输入,计算、处理:,输出,赋值语句,文本框,IntputBox函数,赋值语句,标签,文本框,Print语句,MsgBox函数,顺序结构程序:,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!