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

上传人:小飞机 文档编号:5451951 上传时间:2023-07-08 格式:PPT 页数:50 大小:432.50KB
返回 下载 相关 举报
VB程序设计第2版第4章.ppt_第1页
第1页 / 共50页
VB程序设计第2版第4章.ppt_第2页
第2页 / 共50页
VB程序设计第2版第4章.ppt_第3页
第3页 / 共50页
VB程序设计第2版第4章.ppt_第4页
第4页 / 共50页
VB程序设计第2版第4章.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《VB程序设计第2版第4章.ppt》由会员分享,可在线阅读,更多相关《VB程序设计第2版第4章.ppt(50页珍藏版)》请在三一办公上搜索。

1、1,第4章,顺序结构程序设计,本章要点:赋值语句数据输入数据输出注释、暂停与程序结束语句,2,事件驱动:将代码划分成一些“子过程”过程结构:过程内部代码由三种基本结构组成 即:顺序结构、选择结构、循环结构顺序结构:执行过程的次序从上到下,从左到右例:Private Sub Command1_Click()Const Pi=3.14 H=Val(Text1.Text):R=Val(Text2.Text)Text3.Text=Pi*R 2*H End Sub,3,4.1 赋值语句,1.格式=或:.=2.功能 计算表达式的值,再将此值赋给变量或对象属性。,3.说明(1):应符合VB变量命名约定。(2

2、):常量、变量、表达式、属性。(3):缺省时为当前窗体。(4)赋值号“=”:与数学中的等号意义不同。例:X=X+1,4,(5)赋值号左边必须是变量或对象属性。例:X=1 MyStr=Good Morning Command1.Caption=确定 X+1=X 错误,赋值号左边是表达式 Y=5 正确 5=Y 错误,赋值号左边是常量(6)变量名或对象属性名的类型应与表达式类型相容。类型相容:指变量名或对象属性名能够正确存取赋值号右边的表达式的值。,5,例:Dim A As Integer,B As Single Dim C As Double,S As String A=100 将整型数100赋给

3、整型变量A S=123.45 将字符串123.45赋给变量S A=S 将数字字符串变量赋给整型变量,变量A中存放123 S=A S中存放字符串123 B=12345.67 A=B 高精度变量赋值给整型变量,先四舍五入后取整,A中存放12346 C=123456.789 B=C 高精度变量赋值给低精度变量,变量B中存放123456.8。有效数字7位 S=abc A=S 错误,类型不匹配,6,(7)变量未赋值时,数值型变量值为0,字符串变量值为空串。(8)给可变类型的变量赋值后,变量的类型为赋值号右边表达式的类型。例:执行下列各赋值语句后,A的数据类型是什么?(设A没有定义数据类型)A=6=5 A

4、=5+3 A=5+3 A=#11/26/99#A=#11/26/1999#A=Not 5 8,可用TypeName函数显示变量的数据类型。如:Print TypeName(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.功能 提示

5、一对话框,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。3.说明:字符串表达式。可用Chr(13)、Chr(10)、Chr(13)&Chr(10)、vbCrLf换行。:字符串表达式,省略时默认为应用程序名。:字符串表达式,省略时默认为空。返回值:字符串(在对话框中单击取消则返回),10,例:Private Sub Form_Activate()Dim R As Single,AREA As Single R=Val(InputBox(“请输入半径”,“计算面积”,“1”)AREA=3.14*R 2 Print R=;R;AREA=;AREA End Sub,单击“确定”,返回文本框

6、中的文本到变量R中单击“取消”,返回一个零长度的字符串,11,用文本框输入数据时,也就是将文本框的Text属性的内容赋值给某个变量。例:将文本框Text1中输入的字符串赋给字符串变量Mystr Dim MyStr As String MyStr=Text1.Text 例:将文本框Text1中输入的字符串作为数值赋给整型变量 Dim A As Integer A=Val(Text1.Text),4.2.2 用TextBox控件输入数据,12,1.焦点 当前可以接收用户输入的对象称为具有焦点。注意:并非所有控件都可以接收焦点。而且,只有Enabled和Visible属性为True时,才可以接收焦点

7、。2.事件 GotFocus 发生在对象得到焦点时 LostFocus 发生在对象失去焦点时3.对象何时得到焦点运行时选择对象(鼠标、Tab键、访问键)在代码中使用SetFocus方法,4.2.3 焦点和Tab键序,13,4.对象何时失去焦点运行时用Tab键移动、用访问键或用鼠标单击选择另一个对象。在代码中对另一个对象使用SetFocus方法改变焦点。5.Tab键序指按Tab键时光标在各个控件之间移动的顺序。每个窗体都有自己的Tab键序。默认键序与控件的建立次序一致。TabIndex属性:决定Tab键序 改变TabIndex属性可以改变Tab键序 TabStop属性:决定是否能够使用 Tab

8、键将焦点移动到当前对象。,14,【例4-2】设计如下图所示的界面,运行时,输入某学生三门课的成绩,计算平均成绩。按要求编程。,要求:单击“计算”按钮求平均成绩;当输入成绩的文本框获得焦点时,选中其中的文本;当输入成绩的文本框内容发生变化时,清除平均值;单击“清除”按钮清除所有内容,将焦点定位在Text1中;单击“退出”按钮结束程序的运行。,15,单击“计算”按钮求平均成绩 Private Sub Command1_Click()A=Val(Text1.Text)B=Val(Text2.Text)C=Val(Text3.Text)Text4.Text=(A+B+C)/3 End Sub,16,当

9、输入成绩的文本框获得焦点时,选中其中的文本 Private Sub Text1_GotFocus()Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End Sub Private Sub Text2_GotFocus()Text2.SelStart=0 Text2.SelLength=Len(Text2.Text)End Sub Private Sub Text3_GotFocus()Text3.SelStart=0 Text3.SelLength=Len(Text3.Text)End Sub,17,当输入成绩的文本框内容发生变化时,清除平均值

10、Private Sub Text1_Change()Text4.Text=End Sub Private Sub Text2_Change()Text4.Text=End Sub Private Sub Text3_Change()Text4.Text=End Sub,18,单击“清除”按钮清除所有文本框的内容,并将焦点定位在文本框Text1中。Private Sub Command2_Click()Text1.Text=Text2.Text=Text3.Text=Text4.Text=Text1.SetFocus End Sub单击“退出”按钮结束程序的运行。Private Sub Comm

11、and3_Click()End End Sub,19,4.3 数据输出,在程序设计中对输入的数据进行加工后,往往需要将处理结果、提示信息等呈现给用户,即输出。,20,用文本框输出数据时,也就是将数据赋给文本框的Text属性。例如输出一个字符串(或数值),输出多个字符串(或数值)例:用文本框Text1输出一个字符串 Text1.Text=hello例:用文本框Text1输出一个数值型数据 X=3 5 Text1.Text=Str(X)Str可以省略或用Format例:用文本框Text1输出多个数,分多行输出。首先将文本框的MultiLine设置为True,必要时可以进一步设滚动条属性Scroll

12、Bars。X=3 5:Y=7 4 Text1.Text=Str(X)&vbCrLf&Str(Y),4.3.1 用TextBox控件输出数据,21,【例4-3】在Text1中输入任一英文字母,在Text2中显示该英文字母及其ASCII码值。要求在文本框Text2中显示出所有输入的英文字母及其ASCII码值。,22,Private Sub Command1_Click()Dim Char As String*1 Char=Trim(Text1.Text)Text2.Text=Text2.Text&Space(5)&Char&_ Space(10)&Str(Asc(Char)&vbCrLf Text

13、1.SetFocus Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End Sub,Chr(13)&Chr(10),23,4.3.2 用Label控件输出数据,用标签输出数据时,也就是将数据赋给标签的Caption属性。也可以输出多个数据。例:用标签Label1输出一个字符串 Label1.Caption=hello例:用标签Label1输出一个数值型数据 X=3 5 Label1.Caption=Str(X)例:用标签Label1输出多个数,分多行输出。通常要先设置标签的AutoSize属性和WordWrap属性为True。X=3 5:y=7

14、 4 Label1.Caption=x=&Str(X)&vbCrLf _&y=&Str(y),24,【例4-4】已知三角形的三条边a、b、c的长度,用海伦公式求三角形的面积S。海伦公式:,将文本框Text1、Text2、Text3的内容清空;设置三个文本框的Alignment属性为1-Right Justify;设置标签Label2的Caption属性为空;设置标签Label2的BorderStyle属性为1 Fixed Single。,25,代码如下:,Private Sub Command1_Click()Dim A As Single,B As Single,C As Single Di

15、m P As Single,S As Single A=Val(Text1.Text)B=Val(Text2.Text)C=Val(Text3.Text)P=(A+B+C)/2 S=Sqr(P*(P-A)*(P-B)*(P-C)显示时保留两位小数 Label2.Caption=Format(S,0.00)End Sub,26,消息框常用于在屏幕上显示一个对话框,给出一些提示或警告信息,并允许用户进行选择。程序可根据该选择确定进一步的操作。1.MsgBox函数的格式=MsgBox(,)或:MsgBox,2.功能 在对话框中显示消息,等待用户单击按钮,并返回一个整数告诉用户单击了哪个按钮。3.说明

16、:字符串表达式。可用换行符换行。:按钮类型+图标类型+默认按钮。P67:字符串表达式。返回值:由在对话框中按下哪种按钮决定。见P67,4.3.3 用MsgBox函数输出数据,27,例:Private Sub Command1_Click()MsgBox 提示信息 End Sub,例:换行 Private Sub Command1_Click()MsgBox 第一行&Chr(13)&第二行 End Sub,28,例:Private Sub Command1_Click()A=MsgBox(提示信息,标题内容)End Sub,例:按钮类型0到5或符号常量 见P65 Private Sub Comm

17、and1_Click()A=MsgBox(提示信息,1,标题内容)End Sub,29,例:图标类型16、32、48、64或符号常量 见P65 Private Sub Command1_Click()A=MsgBox(提示信息,16,标题内容)End Sub,例:默认按钮0,256,512 见P58 Private Sub Command1_Click()a=MsgBox(提示信息,2+256,标题内容)Print a End Sub,按回车打印4,30,4.3.4 用Print方法输出数据,1.Print方法 格式:.Print;|,:窗体 如 Form1.Print Hello 图片框 如

18、 Picture1.Print Hello 打印机 如 Printer.Print Hello 立即窗口 如 Debug.Print Hello 省略:默认为当前窗体。:多个表达式使用逗号或分号隔开。逗号:以14个字符位置为单位把一个输出行分成若干区段。分号:后一项紧跟前一项输出。,31,输出时,数值型数据前有一个符号位(正号不显),后面留一个空格位;字符串原样输出,前后无空格。,例:Private Sub Form_Activate()Print 2+4=;2+4,Print 2-4=;Print 2-4 End Sub,例:Private Sub Form_Activate()Print

19、2+4=;2+4 Print 2-4=,2-4 End Sub,32,例:Private Sub Form_Load()Form1.Show Print 产生空行 Print 2+4=;2+4,Print 取消上面一句末尾逗号的作用 Print 2-4=;Print 2-4 End Sub,输入Print时可用?代替,VB将其自动转换成Print,33,2.与Print方法有关的函数(1)Tab函数 格式:Tab(n)功能:在指定的第n个位置上输出数据。参数n:n当前位置:打印位置为下一行的第n列 n1:打印位置为第1列 省略:打印位置为下一个打印区的起点(每14个字符为一个打印区),34,例

20、:Private Sub Form_Activate()Print Hello;Tab(10);World Print Hello;Tab;World Print Hello;Tab(4);World Print Tab(-5);Hello End Sub,35,(2)Spc函数 格式:Spc(n)功能:跳过n个空格。例:Print HOW;Spc(3);ABOUT 结果:HOWABOUT,注意:Spc函数与Space函数、Tab函数的区别Space函数:可以用在字符串允许出现的任何位置。Spc函数:只能用在打印语句中。Tab函数指定绝对位置;Space函数或Spc函数指定相对位置。,36,4

21、.4 注释、暂停与程序结束语句,1.注释语句 格式:|Rem 功能:给语句或程序段加上注释,以提高可读性。说明:Rem与 之间至少空一个空格。例:Private Sub Form_Activate()Rem 本程序用于计算圆的面积 Dim R As String,AREA As Single R为半径 R=InputBox(请输入半径,1):Rem 输入半径 AREA=3.14*Val(R)2 以下将半径和面积输出到窗体上 Print Val(R),AREAEnd Sub,37,2.暂停语句 格式:Stop 功能:暂停程序的执行。用于程序调试。类似于执行“运行”菜单中的“中断”命令3.结束语句

22、 格式:End 功能:结束程序的执行。,38,4.5 顺序结构程序应用举例,【例4-5】鸡兔同笼。已知笼中鸡兔总头数为h,总脚数为f,问鸡兔各有多少只?分析:设鸡有x只,兔有y只,则方程式如下:x+y=h 2x+4y=f解方程。解出求x和y的具体公式为:x=(4h-f)/2 y=(f-2h)/2,39,设计界面:,Label3、Label4的AutoSize属性设置为True,40,代码如下:,Private Sub Command1_Click()Dim h As Integer,f As Integer,x As Integer,y As Integer h=Val(Text1.Text)

23、f=Val(Text2.Text)x=(4*h-f)/2 y=(f-2*h)/2 Label3.Caption=Label3.Caption&Str(x)&只 Label4.Caption=Label4.Caption&Str(y)&只End Sub,41,Private Sub Text1_GotFocus()文本框Text1获得焦点时,选中其中的文本 Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End SubPrivate Sub Text2_GotFocus()文本框Text2获得焦点时,选中其中的文本 Text2.SelStart=0

24、 Text2.SelLength=Len(Text2.Text)End Sub,42,【例4-6】设计如下图所示的界面。运行时,在文本框Text1和Text2中输入某一范围后,单击“随机抽号”按钮,在标签Label上产生指定范围内的随机整数,实现在任意指定的范围内随机抽取号码。,43,代码如下:,Private Sub Command1_Click()Dim A As Integer,B As Integer Randomize A=Val(Text1.Text)B=Val(Text2.Text)产生A,B区间的随机整数 Label4.Caption=Str(Int(Rnd*(B-A+1)+A

25、)End Sub,44,在Text1获得焦点时,选中其中的文本Private Sub Text1_GotFocus()Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End Sub 在Text2获得焦点时,选中其中的文本Private Sub Text2_GotFocus()Text2.SelStart=0 Text2.SelLength=Len(Text2.Text)End Sub,45,【例4-7】求用十进制表示230有多少位。界面如下图所示。,分析:先求230的值,再用Str函数将其转换为字符串,用Trim函数去掉该字符前的空格,然后用Le

26、n函数求字符串长度(即其位数)。,46,代码如下:,Private Sub Form_Load()Dim M As Long,Temp As String Show M=2 30 Temp=Str(M)将M转换成字符串 Label3.Caption=Label3.Caption 位End Sub,47,【例4-8】对文本框中所列单词进行相关操作。界面如下图所示。运行时,可以对鼠标选中的单词进行“首字母大写”操作、“全部小写”操作、“删除”操作,并可以向文本框中添加新单词。,48,代码如下:,将鼠标选中的单词首字母大写Private Sub Command1_Click()Text1.SelTe

27、xt=UCase(Left(Text1.SelText,1)&_ Right(Text1.SelText,Len(Text1.SelText)-1)End Sub 将鼠标选中的单词全部改为小写Private Sub Command2_Click()Text1.SelText=LCase(Text1.SelText)End Sub,49,输入新单词,添加到文本框尾部Private Sub Command3_Click()Dim word As String word=InputBox(请输入新单词)Text1.Text=Text1.Text&word&vbCrLfEnd Sub 删除选中的单词Private Sub Command4_Click()Text1.Text=Left(Text1.Text,Text1.SelStart)&_ Right(Text1.Text,Len(Text1.Text)-_ Text1.SelStart-Text1.SelLength-1)End Sub,50,本章小结:,输入,计算、处理:,输出,赋值语句,文本框,IntputBox函数,赋值语句,标签,文本框,Print语句,MsgBox函数,顺序结构程序:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号