VB实验报告实验一、VB控制结构[实验目的]1.掌握选择语句的使用2.掌握循环语句的使用[实验内容]一、VB编程基础练习:在应用程序的代码窗口中分别输入以下四段代码,当程序运行时在窗体上单击,分别会发生什么情况,为什么?①Private Sub Form_Click()I = 10Print IEnd Sub②Private Sub Form_Click()Dim I%I = 10Print IEnd Sub③Option ExplicitPrivate Sub Form_Click()I = 10Print IEnd Sub④Option ExplicitPrivate Sub Form_Click()Dim I%I = 10Print IEnd Sub第一个程序运行的结果是:点击一次窗体便会出现一个“10”第二个程序的运行结果是:也是点击一次窗体出现一个“10”第三个程序运行的结果是:无法运行,显示变量未定义第四个程序运行的结果是:在应用程序的代码窗口中分别输入以下两段代码,当程序运行时在窗体上反复单击,分别会发生什么情况,为什么?Private Sub Form_Click()Dim n As Integern = n + 1Print nEnd SubPrivate Sub Form_Click()Static n As Integern = n + 1Print nEnd Sub第一个程序运行结果是:第二个程序运行的结果是:二、选择语句程序1:创建应用程序。
要求:单击窗体可弹出输入框,任意输入三个数,然后按从小到大的顺序输出到窗体上。
Private Sub Text1_Change()Dim X1 As Single, X2 As Single, X3 As Single, Temp As Single '定义x1,x2,x3,tempX1 = CSng(InputBox("请输入第1个数:", "输入数据")) '弹出请求输入数据x1的文本框X2 = CSng(InputBox("请输入第2个数:", "输入数据")) '弹出请求输入数据x2的文本框X3 = CSng(InputBox("请输入第3个数:", "输入数据")) '弹出请求输入数据x3的文本框If X1 > X2 ThenTemp = X1: X1 = X2: X2 = Temp '比较x1,x2,若x1大于x2将两值交换End IfIf X1 > X3 ThenTemp = X1: X1 = X3: X3 = Temp '比较x1,x3,若x1大于x3将两值交换End IfIf X2 > X3 ThenTemp = X3: X3 = X2: X2 = Temp '比较x2,x3,若x2大于x3将两值交换End IfPrint: PrintPrint "输出结果:" ’在屏幕上输出“输出结果:”PrintPrint x1,x2,x3 ’在屏幕上输出x1,x2,x3End Sub三、循环语句程序3:创建应用程序。
要求:单击窗体可显示一个由“*”组成的平行四边形图案Private Sub Form_Click()Dim m As Integer, n As Integer ’定义两个变量m,nClsPrintFor m = 1 To 6Print Tab(15 - m); For n = 1 To 8Print "*"; ’输出8个*Next nPrintNext m ’当m=1时输出14个空格之后进入下一个循环结构,当下一个循环终止的时候换行End Sub在运行程序并单击一次窗体后出现这样的结果:实验二、窗体和标准控件[实验目的]1.掌握命令按钮、标签及文本框控件的使用方法2.掌握复选框、单选按钮及框架控件的使用方法3.掌握列表框和组合框控件的使用方法4.掌握滚动条和定时器控件的使用方法[实验内容]一、命令按钮、标签及文本框控件的使用方法程序1:在窗体上建立两个标签、两个文本框和两个命令按钮,运行界面如左图所示。
要求在运行时,两个文本框中的内容均不允许用户编辑;如果用户在“原文”的文本框中选定所需的内容,单击“复制”命令按钮,则在“输出”文本框中输出选定的内容Private Sub Command1_Click()Text2.Text = Text1.SelText ’将text1中的内容复制到text2中End SubPrivate Sub Command2_Click()End '结束End SubPrivate Sub Form_Load()Text1.Text = "文本框是一个多功能控件,可以显示或者接收用户输入的文本信息。
" '在text1中输入内容"End Sub在选中一段话然后点command1键之后,出现这样的:程序2:建立如下图所示的窗体,要求程序能对输入的“性别”和“邮政编码”、“电话号码”进行校验(性别只允许输入“男”或“女”,邮政编码必须是6位数字,电话号码必须是8位数字)。
如果输入的数据不符号要求,则清空相应的文本框,并将插入点置于该框中。
所有的校验工作可以在单击“退出”按钮后进行,此时,程序检查所有文本框,如有空白或内容错误,要求继续输入,否则结束程序。
Private Sub Command1_Click()If Textxm = "" Then ‘如果框输入为空,则设置焦点重新输入Textxm.SetFocusExit SubEnd IfIf Textxb = "" Then ‘如果框输入为空,则设置焦点重新输入 Textxb.SetFocusExit SubEnd IfIf Textdz = "" Then ‘如果框输入为空,则设置焦点重新输入 Textdz.SetFocusExit SubEnd IfIf Textyb = "" Then ‘如果框输入为空,则设置焦点重新输入Textyb.SetFocusExit SubEnd IfIf Textdh = "" Then ‘如果框输入为空,则设置焦点重新输入Textdh.SetFocusExit SubEnd IfEndEnd SubPrivate Sub Text2_LostFocus()If Textxb.Text <> "" ThenIf Textxb.Text <> "男" And Textxb.Text <> "女" ThenTextxb.Text = ""Textxb.SetFocus ‘框中只能输入“男”或“女”否则设置焦点重新输入End IfEnd IfEnd SubPrivate Sub Text3_LostFocus()If Textyb.Text <> "" ThenIf Len(Textyb.Text) <> 6 Or Not IsNumeric(Textyb.Text) ThenTextyb.Text = ""Textyb.SetFocus ‘如果输入文本长度不是6或者不是数字,则设置焦点重新输入End IfEnd IfEnd SubPrivate Sub Text5_LostFocus()If Textdh.Text <> "" ThenIf Len(Textdh.Text) <> 8 Or Not IsNumeric(Textdh.Text) ThenTextdh.Text = ""Textdh.SetFocus ‘如果输入文本长度不是8或不是数字文本,则设置焦点重新输入End IfEnd IfEnd Sub运行程序,当文本框输入为空时,点退出键,会出现这样的界面:当性别、邮编、电话输入不符合要求文本框会自动清空最终输入正确时,才会有完整的表格like this->三、列表框和组合框控件的使用程序4:编写程序。
要求:程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,单击窗体中“右移”按钮,则左边列表框的10个数移动到右边的列表框中,并由大到小排列,此时“左移”按钮变为有效。
单击“左移”按钮,右边列表框中的数又被移到左边的列表框中。
单击“退出”按钮或按ESC键,可退出程序。
窗体示意图如下。
Private Sub Command1_Click() ‘点击按钮command1程序开始Dim i As Integer, Last As Integer ’定义两个整型变量Last = List1.ListCount - 1For i = 0 To LastList2.AddItem List1.List(Last - i)List1.RemoveItem Last – i ‘把列表框1中的随机数移动到列表框2中Next iCommand1.Enabled = FalseCommand2.Enabled = True ‘command1键无效command2键有效End SubPrivate Sub Command2_Click() ‘点击command2,程序开始Dim i As Integer, Last As IntegerLast = List2.ListCount - 1For i = 0 To LastList1.AddItem List2.List(Last - i)List2.RemoveItem Last – i ‘将列表框2中的内容移到列表框1中 Next iCommand1.Enabled = TrueCommand2.Enabled = False ‘设置command2键无效End SubPrivate Sub Command3_Click()Unload MeEnd Sub ‘退出程序Private Sub Form_Load()Dim i As Integer ‘定义i为整形变量For i = 0 To 9 ‘定义i为0到9RandomizeList1.AddItem Int((90 * Rnd) + 10) ‘显示从0到100中间的二位随机数在列表框1中Next iEnd Sub运行结果如下:列表框一中显示随机数按下右移键后-->程序5:建立应用程序,有一个简单组合框、三个命令按钮、一个文本框和一个标签。