还剩26页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
湖北文理学院VB程序设计课程实验报告学院物电学院专业自动化班级1211学号2012118064姓名王亮任课教师王福林实验
一、VB控制结构
一、实验目的
1.掌握选择语句的使用
2.掌握循环语句的使用
二、实验内容
1、选择语句程序1创建应用程序要求单击窗体可弹出输入框,任意输入三个数,然后按从小到大的顺序输出到窗体上程序2创建应用程序要求单击窗体可弹出一输入框,任意输入一个正整数,在窗体上显示该整数是否为素数的字样
2、循环语句程序3创建应用程序要求单击窗体可显示一个由“*”组成的平行四边形图案程序4创建应用程序,其功能是显示所有的水仙花数
三、实验记录程序1如下PrivateSubCom__nd1_ClickDimaAsIntegerbAsIntegercAsIntegertAsInteger定义abct为整形变量Cls清屏a=ValInputBox请输入第1个数给a赋值b=ValInputBox请输入第2个数给b赋值c=ValInputBox请输入第3个数给c赋值IfabThent=a:a=b:b=t如果ab,把a的值赋给t,b的值赋给a,t的值赋给bIfbcThen嵌套,如果bct=b:b=c:c=t把b的值赋给t,b的值赋给c,t的值赋给cIfabThen再次嵌套,如果abt=a把a的值赋给ta=bb的值赋给ab=tt的值赋给bEndIfEndIfPrinta;、;b;、;c输出a、b;、;cEndSubPrivateSubCom__nd2_ClickEnd退出程序EndSub程序2如下PrivateSubCom__nd1_ClickDimiAsIntegerkAsIntegernAsInteger定义整形变量iknn=ValInputBox任意输入一个整数给n输入值i=2i初始值为2k=Intn/2为整形的二分之一n的值赋给kDoWhilei=k当i小于且等于kIfnModi=0Then如果n模除i为0ExitDo退出循环Elsei=i+1否则i加1EndIfLoopIfikThenPrintn;是素数ElsePrintn;不是素数如果i大于k,输出n的值是素数,否则输出n的值不是素数EndSubPrivateSubCom__nd2_ClickEnd退出程序EndSub程序3如下PrivateSubForm_ClickDimmAsIntegernAsInteger定义整形变量mnCls清屏PrintForm=1To6m赋初始值为1,当m大于6停止PrintTab15-m;第15-m列开始输出Forn=1To8n赋初始值为1,当n大于6停止Print*;输出*NextnPrint输出空格NextmEndSub程序4如下PrivateSubCom__nd1_ClickDimiAsIntegermAsIntegernAsIntegerkAsIntegersxhAsIntege定义整形变量imnksxkFori=100To999i赋初始值为100,当i大于999,停止循环m=i\100i除以100,结果赋给mn=iMod100\10i模除100后的值再除以10最后结果赋给nk=iMod10i模除10后的值赋给ksxh=m^3+n^3+k^3sxh作算术运算Ifsxh=iThen如果sxh等于iPrinti输出i的值EndIfNextiEndSubPrivateSubCom__nd2_ClickEnd程序结束EndSub
4、实验总结实验
二、窗体和标准控件
一、实验目的
1.掌握命令按钮、标签及文本框控件的使用方法
2.掌握复选框、单选按钮及框架控件的使用方法
3.掌握列表框和组合框控件的使用方法
4.掌握滚动条和定时器控件的使用方法
二、实验内容
1、命令按钮、标签及文本框控件的使用方法程序1在窗体上建立两个标签、两个文本框和两个命令按钮,运行界面如左图所示要求在运行时,两个文本框中的内容均不允许用户编辑;如果用户在“原文”的文本框中选定所需的内容,单击“__”命令按钮,则在“输出”文本框中输出选定的内容;如果单击“结束”命令按钮,则结束程序的运行程序2建立如下图所示的窗体,要求程序能对输入的“性别”和“____”、“__号码”进行校验(性别只允许输入“男”或“女”,____必须是6位数字,__号码必须是8位数字)如果输入的数据不符号要求,则清空相应的文本框,并将插入点置于该框中所有的校验工作可以在单击“退出”按钮后进行,此时,程序检查所有文本框,如有空白或内容错误,要求继续输入,否则结束程序
2、复选框、单选按钮及框架控件的使用程序3在窗体中有一个标签,内有若干文字,要求通过窗体中的复选框或单选按钮确定标签中文字的字体(宋体或黑体)、字号(10号或12号)和字形(是否粗体、是否斜体),请建立应用程序
3、列表框和组合框控件的使用程序4编写程序要求程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,单击窗体中“右移”按钮,则左边列表框的10个数__到右边的列表框中,并由大到小排列,此时“左移”按钮变为有效单击“左移”按钮,右边列表框中的数又被移到左边的列表框中单击“退出”按钮或按ESC键,可退出程序窗体示意图如下程序5建立应用程序,窗体如下图所示,有一个简单组合框、三个命令按钮、一个文本框和一个标签要求单击“添加”按钮可将输入的内容添加到组合框中单击“删除”按钮可删除组合框中选定的项目单击“统计人数”按钮,可将组合框中的项目总数输出到右边的文本框单击“退出”或按ESC键退出程序
4、滚动条和定时器控件的使用程序6编写程序,运行时的界面如下图所示要求无论是拖动滚动条上的滚动框,还是单击滚动箭头(数值递增或递减1)或滚动条(数值递增或递减10),均可以在相应的标签中反映当前数值,并动态计算出均值;单击“Reset”按钮,可将各滚动条上的滚动框复位程序7利用定时器控件设计一个数字式时钟应用程序
三、实验记录程序1如下PrivateSubForm_LoadText
1.Text=文本框是一个多功能控件,可以显示或者接收用户输入的文本信息给文本框指定内容EndSubPrivateSubCom__nd1_ClickText
2.Text=Text
1.SelText在Text1中选定文本赋给Text2EndSubPrivateSubCom__nd2_ClickEnd程序结束EndSub程序2如下PrivateSubCom__nd1_ClickIfText1=Then如果Text1没有输入,当前的激活文本区(焦点)在Text1Text
1.SetFocusExitSub退出过程EndIfIfText2=Then如果Text2没有输入,当前的激活文本区(焦点)在Text2Text
2.SetFocusExitSub退出过程EndIfIfText3=Then如果Text3没有输入,当前的激活文本区(焦点)在Text3Text
3.SetFocusExitSub退出过程EndIfIfText4=Then如果Text4没有输入,当前的激活文本区(焦点)在Text4Text
4.SetFocusExitSub退出过程EndIfIfText5=Then如果Text5没有输入,当前的激活文本区(焦点)在Text5Text
5.SetFocusExitSub退出过程EndIfEnd退出程序EndSubPrivateSubText2_LostFocusIfText
2.TextThen如果Text2有输入IfText
2.Text男AndText
2.Text女Then如果Text2输入的内容不是“男”和“女”Text
2.Text=则Text2不输出Text
2.SetFocus当前的激活文本区(焦点)在Text2EndIfEndIfEndSubPrivateSubText4_LostFocusIfText
4.TextThen如果Text4有输入IfLenText
4.Text6OrNotIsNumericText
4.TextThen如果Text4输入的内容不是数值或者字符串的长度不为6Text
4.Text=则Text4不输出Text
4.SetFocus当前的激活文本区(焦点)在Text4EndIfEndIfEndSubPrivateSubText5_LostFocusIfText
5.TextThen如果Text5有输入IfLenText
5.Text8OrNotIsNumericText
5.TextThen如果Text5输入的内容不是数值或者字符串的长度不为8Text
5.Text=则Text5不输出Text
5.SetFocus当前的激活文本区(焦点)在Text5EndIfEndIfEndSub程序3界面设计程序设计界面和运行结果界面程序3如下PrivateSubOption1_ClickText
1.FontName=宋体Text1中的内容为宋体EndSubPrivateSubOption2_ClickText
1.FontName=黑体Text1中的内容为黑体EndSubPrivateSubOption3_ClickText
1.FontSize=10Text1中的内容为字号大小为10号EndSubPrivateSubOption4_ClickText
1.FontSize=12Text1中的内容为字号大小为12号EndSubPrivateSubCheck1_ClickIfCheck
1.Value=1Then如果Check1被选中Text
1.FontBold=TrueText1中的内容变为粗体ElseText
1.FontBold=FalseText1中的内容不变EndIfEndSubPrivateSubCheck2_ClickIfCheck
2.Value=1Then如果Check2被选中Text
1.FontItalic=TrueText1中的内容变为斜体ElseText
1.FontItalic=FalseText1中的内容不变EndIfEndSub程序4如下PrivateSubCom__nd1_ClickDimiAsIntegerLastAsInteger定义i和Last为整型变量Last=List
1.ListCount-1将List
1.ListCount-1中被选中的内容赋給LastFori=0ToLast统计i大于Last时停止循环List
2.AddItemList
1.ListLast-i将List2中被选中的内容添加到List1中List
1.RemoveItemLast-i将List1中被选中的内容删除Last-i个NextiCom__nd
1.Enabled=FalseCom__nd1按钮无效Com__nd
2.Enabled=TrueCom__nd2按钮有效EndSubPrivateSubCom__nd2_ClickDimiAsIntegerLastAsInteger定义i和Last为整型变量Last=List
2.ListCount-1将List
2.ListCount-1中被选中的内容赋給LastFori=0ToLast统计i大于Last时停止循环List
1.AddItemList
2.ListLast-i将List1中被选中的内容添加到List2List
2.RemoveItemLast-i将List2中被选中的内容删除Last-i个NextiCom__nd
1.Enabled=TrueCom__nd1按钮有效Com__nd
2.Enabled=FalseCom__nd2按钮无效EndSubPrivateSubCom__nd3_ClickUnloadMe程序退出EndSubPrivateSubForm_LoadDimiAsIntegerFori=0To9统计i大于9时停止循环RandomizeList
1.AddItemInt90*Rnd+10给List1中添加内容NextiEndSub程序5如下PrivateSubCombo1_ChangeIfCombo
1.TextThen如果Combo1输入内容不为空Com__nd
1.Enabled=TrueCom__nd1按钮__有效Com__nd
1.Default=TrueCom__nd1为默认按钮ElseCom__nd
1.Enabled=False否则,Com__nd1按钮__无效,成灰色状态EndIfEndSubPrivateSubCombo1_ClickCom__nd
2.Enabled=TrueCom__nd2按钮__有效Com__nd
2.Default=TrueCom__nd2为默认按钮Combo
1.SetFocus赋焦点光标在停放Combo1里EndSubPrivateSubCom__nd1_ClickCombo
1.AddItemCombo
1.Text添加内容到Combo1中Combo
1.Text=Combo1输入内容为空Combo
1.SetFocus赋焦点光标在停放Combo1里EndSubPrivateSubCom__nd2_Clickx=Combo
1.ListIndex将Combo1中的内容赋給xCombo
1.RemoveItemx将Combo1中的内容中的x删除IfxCombo
1.ListCountThen如果x小于Combo
1.ListCount中的值Combo
1.ListIndex=x将x中的内容赋給Combo1ElseIfx0Then否则,如果x大于0Combo
1.ListIndex=x-1x-1赋给Combo1ElseCom__nd
2.Enabled=False否则,Com__nd2按钮__无效Com__nd
2.Default=FalseCom__nd2不为默认按钮EndIfEndIfText
1.SetFocus赋焦点光标在停放text1里EndSubPrivateSubCom__nd3_ClickText
1.Text=Combo
1.ListCount将Combo1中的内容赋給Text1Combo
1.SetFocus赋焦点光标在停放Combo1里EndSubPrivateSubCom__nd4_ClickEnd程序结束EndSub程序6如下PrivateSubCom__nd1_ClickHScroll
1.Value=0将数值0赋给滚动条HScroll1HScroll
2.Value=0将数值0赋给滚动条HScroll2HScroll
3.Value=0将数值0赋给滚动条HScroll3EndSubPrivateSubHScroll1_ChangeLabel
5.Caption=HScroll
1.Value滚动条HScroll的数值显示在标签Label5上__erage求其平均值EndSubPrivateSubHScroll2_ChangeLabel
6.Caption=HScroll
2.Value滚动条HScrol2的数值显示在标签Label6上__erage求其平均值EndSubPrivateSubHScroll3_ChangeLabel
7.Caption=HScroll
3.Value滚动条HScrol3的数值显示在标签Label7上__erage求其平均值EndSubPrivateSub__erageDimTempAsDouble定义双精度变量TempTemp=HScroll
1.Value+HScroll
2.Value+HScroll
3.Value/3将滚动条HScroll,HScroll2,HScroll3的平均值之和除以3结果赋给TempLabel
8.Caption=CStrTempTemp的均值显示在标签Label8上EndSub程序7如下PrivateSubForm_LoadLabel
1.Caption=Time在窗体上,将现在的时间赋给标签Label1EndSubPrivateSubTimer1_TimerLabel
1.Caption=Time在时间控件Time1把现在的时间显示在标签Label1上EndSub
4、实验总结实验
三、过程
一、实验目的1.掌握过程的定义和调用的方法2.掌握典型问题的算法求解
二、实验内容
1、过程的定义和调用程序1创建应用程序,要求对输入的非负整数m和n,如果m=n,则显示组合数的值,否则显示数据出错
二、典型问题的算法程序2利用下列两式求得圆周率π的近似值,忽略级数式中绝对值小于
0.000001的项以及程序3如下图所示,求2-200之间的所有素数,要求每输出五个数据换一行程序4利用随机函数产生20个-500到500的随机整数(包括-500和500),单击窗体时,在窗体上输出这20个数,同时在窗体上显示输出从大到小排好序的这些数要求以每行5个数的格式显示,如下图所示
三、实验记录程序1如下PrivateSubCom__nd1_ClickIfText
1.Text=OrNotIsNumericText
1.TextThen如果Text1没有输入或者不是字符串MsgBox请输入一个非负整数!提示弹出消息框标题为“提示”,内容为请输入一个非负整数!ExitSub退出过程EndIfIfText
2.Text=OrNotIsNumericText
2.TextThen如果Text2没有输入或者不是字符串MsgBox请输入一个非负整数!提示弹出消息框标题为“提示”,内容为请输入一个非负整数!Text
2.SetFocus此刻焦点指在Text2ExitSub退出过程EndIfIfCIntText
1.TextCIntText
2.TextThen如果输入Text1的整形函数值大于Text2的整形函数值MsgBox数据出错,请重新输入!警告弹出消息框标题为“警告”,内容为数据出错请重新输入!Text
1.Text=Text1不输出Text
2.Text=Text1不输出Text
1.SetFocus此刻焦点指在Text1ExitSub退出过程EndIfn=CIntText
1.TextText1的整形函数值赋给nm=CIntText
2.TextText2的整形函数值赋给mText
3.Text=CStrFacm/Facn/Facm-n组合数做运算,利用阶乘EndSubPrivateFunctionFacByValnAsIntegerAsDouble函数的调用,定义双精度变量Fac(),整形变量nDimiAsIntegerTempAsDouble定义整形变量iTempTemp=1Temp初值为1Fori=1Ton做循环Temp=Temp*i做乘积运算NextiFac=Temp把Temp的值赋给FacEndFunction结束函数PrivateSubCom__nd2_ClickEnd结束程序EndSub程序2如下PrivateSubForm_ClickDimPiAsDouble定义双精度变量PiPi=6*Arctan1/Sqr3Pi的等式PrintPi输出PiEndSubPrivateFunctionArctanByValxAsDoubleAsDouble函数的调用,定义双精度变量Arctan(),双精度变量xDimmAsLongTempAsDoublesAsDouble定义长整形变量m,双精度变量Temp,sTemp=0Temp初值赋为0s=x把x的值赋给sm=1m的初值赋为1DoWhileAbss=
0.000001做循环,级数式中绝对值大于等于
0.000001的项,小于则停止循环Temp=Temp+sTemp二次赋值m=m+2m加2s=-1*x*x*s/m*m-2s是的方程式运算LoopArctan=Temp把temp的值赋给ArctanEndFunction程序3如下PrivateSubForm_ClickDimIAsIntegerMAsInteger定义整形变量I、MM=0M的初值赋为0ForI=2To200I的初值赋为2做加法循环,超出200则停止循环IfPrimeIThen用Prime判断I是否是素数,如果I是素数PrintI输出IM=M+1M加1IfMMod5=0ThenPrint如果M模除5,余数为0则换行EndIfNextIEndSubPrivateFunctionPrimexAsBoolean函数过程的调用DimIAsInteger定义整形变量IPrime=Truex为素数返回TrueForI=2ToIntSqrxI的初值赋为2做加法循环,超出Sqrx则停止循环IfxModI=0Then如果x模除I,余数为0Prime=False则x不是素数返回FalseExitFor退出循环EndIfNextIEndFunction程序4如下PrivateSubForm_ClickDimx20AsIntegerMAsIntegerTempAsInteger定义整形变量x
20、M、TempDimIAsIntegerJAsInteger定义整形变量I、JM=0M的初值赋为0ForI=1To20做循环Randomize随机化xI=IntRnd*1001-500随机函数产生20个-500到500的随机整数赋给xIPrintxI输出xIM=M+1M加1IfMMod5=0ThenPrint如果M模除5,余数为0则换行NextIForI=1To19’再做循环,I超出19则停止循环ForJ=1To20-I内循环J=1当J超过20-I停止循环IfxJ+1xJThen如果xJ+1小于xJTemp=xJ:xJ=xJ+1:xJ+1=Temp交换值EndIfNextJNextIPrint输出空格ForI=1To20做循环,I超出20则停止循环PrintxI输出xIM=M+1M加1IfMMod5=0ThenPrint如果M模除5,余数为0则换行NextIEndSub
四、实验总结实验
四、图形方法和图形控件
一、实验目的1.掌握使用图形方法绘制典型的图形2.了解__框和图像控件的区别3.掌握__框和图像控件的使用方法4.掌握直线控件和形状控件的使用方法5.了解图像处理的基本方法
二、实验内容
1、图形方法的应用程序1在窗体上绘制-π到π的正弦曲线,如下图所示
2、__框控件和图像控件的使用程序2在窗体上左右各放置一个大小相同的__框和图像框,修改它们的边框式样(BordeStyle属性)使它们的边框一栏通过Picture属性装入一个同样的位图文件(.bmp),观察两个控件的变化以及其中图形的差异若装入的是图元文件(.wmf),则__框和图像控件中的图形又会怎样?程序3创建应用程序,利用__框浏览大幅面图形在窗体放置两个__框,一个垂直滚动条和一个水平滚动条,如下图所示在第二个__框中装入一个大图形,利用两个滚动条改变第二个__框在第一个__框中的位置,实现对整幅图形的浏览程序4创建一个测试图像控件特性的应用程序单击窗体上的“放大”、“缩小”按钮,能使图像框中的图形放大或缩小
3、直线控件和形状控件的使用程序5建立如下图所示的应用程序,通过命令按钮控制直线控件的旋转和形状控件的形状、位置等的变化,掌握直线和形状控件的特点和使用方法
4、图像处理程序6创建应用程序通过使输出的文本产生微移后叠加,在__框中输出有立体效果的文本,如下图所示
三、实验记录程序1如下PrivateSubForm_ClickConstPi=
3.1415926Cls清屏Form
1.ScaleTop=
1.5窗体左上角y轴的坐标值为
1.5Form
1.ScaleLeft=-
1.5*Pi窗体左上角x轴的坐标值为-
1.5*PiForm
1.ScaleHeight=-3y轴刻度总数为-3Form
1.ScaleWidth=3*Pix轴刻度总数为3*PiFort=-PiToPiStep
0.001t的初始值为-Pi,步长为
0.001,当t大于Pi时,停止循环x=t将t赋给xy=Sint将Sint赋给yPSetxy在xy处画点NexttEndSub程序2如下PrivateSubForm_ClickI__ge
1.Picture=LoadPictureC:\作业用图
1.jpg给图像框装入__Picture
1.Picture=LoadPictureC:\作业用图
1.jpg给__框装入__EndSub程序3如下PrivateSubForm_Load窗体的初始化frmwidth=Form
1.ScaleWidthfrmheight=Form
1.ScaleHeightPicture
1.Move00frmwidth-VScroll
1.Widthfrmheight-HScroll
1.HeightPicture
2.Move00HScroll
1.Top=Picture
1.HeightHScroll
1.Left=0HScroll
1.Width=Picture
1.WidthHScroll
1.__x=Picture
2.Width-Picture
1.WidthHScroll
1.__allChange=HScroll
1.__x/50HScroll
1.LargeChange=Picture
1.WidthHScroll
1.Visible=Picture
1.HeightPicture
2.HeightVScroll
1.Top=0VScroll
1.Left=Picture
1.WidthVScroll
1.Height=Picture
1.HeightVScroll
1.__x=Picture
2.Height-Picture
1.HeightVScroll
1.__allChange=VScroll
1.__x/50VScroll
1.LargeChange=Picture
1.HeightVScroll
1.Value=Picture
1.WidthPicture
1.WidthEndSubPrivateSubForm_Resize重载CallForm_LoadEndSubPrivateSubHScroll1_Change设置Picture2的水平位置Picture
2.Left=-HScroll
1.ValueEndSubPrivateSubHScroll1_Scroll设置Picture2的水平位置Picture
2.Left=-HScroll
1.ValueEndSubPrivateSubVScroll1_Change滚动条change__Picture
2.Top=-VScroll
1.Value设置Picture2的垂直位置EndSubPrivateSubVScroll1_Scroll滚动条的滚动属性Picture
2.Top=-VScroll
1.Value设置Picture2的垂直位置EndSubPrivateSubCom__nd1_ClickI__ge
1.Width=I__ge
1.Width*
1.2I__ge
1.Height=I__ge
1.Height*
1.2EndSubPrivateSubCom__nd2_ClickI__ge
1.Width=I__ge
1.Width/
1.2I__ge
1.Height=I__ge
1.Height/
1.2EndSubPrivateSubCom__nd3_ClickEndEndSub程序4如下PrivateSubCom__nd1_ClickPicture
1.Width=Picture
1.Width*2先把__框的宽度扩展2倍Picture
1.Height=Picture
1.Height*2先把__框的高度扩展2倍EndSubPrivateSubCom__nd2_ClickPicture
1.Width=Picture
1.Width/2先把__框的宽度缩小二分之一Picture
1.Height=Picture
1.Height/2先把__框的高度缩小二分之一EndSubPrivateSubCom__nd3_ClickEnd退出程序EndSub程序5如下PrivateSubCom__nd1_ClickConstPiAsDouble=
3.1415926’定义双精度变量Pi的值DimrAsDoublex0AsDoubley0AsDouble定义双精度变量rx0y0DimiAsIntegerjAsLong整形变量i长整形变量jLine
1.Visible=True直线可见r=SqrLine
1.X2-Line
1.X1^2+Line
1.Y2-Line
1.Y1^2/2定义半径r的值x0=Line
1.X2+Line
1.X1/2定义旋转圆心x轴x0的值y0=Line
1.Y2+Line
1.Y1/2定义旋转圆心y轴y0的值Fori=1To3601度到360度,超过360度则停止循环Line
1.X1=x0-r*Cosi*Pi/180定义直线首端的坐标Line
1.Y1=y0-r*Sini*Pi/180Line
1.X2=x0+r*Cosi*Pi/180定义直线末端的坐标Line
1.Y2=y0+r*Sini*Pi/180DoEvents直线变化Forj=0To2000000内循环,连续出现密集点,直线旋转的速度NextjNextiLine
1.Visible=False停止循环后,直线隐藏EndSubPrivateSubCom__nd2_ClickShape
1.Visible=True形状可见Fori=1To36i的初始值赋为1,超过36则停止循环Shape
1.Shape=iMod6i模除6余数表示图形形状DoEvents形状旋转Forj=0To20000000内循环,连续出现密集点,形状旋转的速度NextjNextiShape
1.Visible=False停止循环后,形状隐藏EndSubPrivateSubCom__nd3_ClickShape
1.Visible=True形状可见Fori=0To36i的初始值赋为0,超过36则停止循环Shape
1.Shape=IntRnd*5设置随机形状Shape
1.Width=IntRnd*Form
1.ScaleWidth形状的宽度为x轴刻度的随机数Shape
1.Height=IntRnd*Form
1.ScaleHeight形状的高度为y刻度的随机数Shape
1.Left=IntRnd*Form
1.ScaleWidth-Shape
1.Width形状的左上角x轴的坐标轴为Form
1.ScaleWidth-Shape
1.Width的随机数Shape
1.Top=IntRnd*Form
1.ScaleHeight-Shape
1.Height形状的左上角y轴的坐标轴为Form
1.ScaleHeight-Shape
1.Height的随机数Shape
1.FillColor=RGBRnd*255Rnd*255Rnd*255定义随机的颜色DoEvents形状变化Forj=0To20000000内循环,形状旋转的速度NextjNextiShape
1.Visible=False停止循环后,形状隐藏EndSubPrivateSubCom__nd4_ClickEnd退出程序EndSub程序6如下PrivateSubCom__nd1_ClickPicture
1.Cls__框清屏Picture
1.CurrentX=150Picture1容器基本坐标的X值为150Picture
1.CurrentY=150Picture1容器基本坐标的Y值为150Picture
1.ForeColor=RGB000__框内容的前景色为黑色Picture
1.Print迎接新生活!__框输出迎接新生活!EndSubPrivateSubCom__nd2_ClickPicture
1.Cls__框清屏Picture
1.CurrentX=120Picture1容器基本坐标的X值为120Picture
1.CurrentY=120Picture1容器基本坐标的Y值为120Picture
1.ForeColor=RGB255255255__框内容的前景色为白色Picture
1.Print迎接新生活!__框输出迎接新生活!Picture
1.CurrentX=150Picture1容器基本坐标的X值为150Picture
1.CurrentY=150Picture1容器基本坐标的Y值为150Picture
1.ForeColor=RGB000__框内容的前景色为黑色Picture
1.Print迎接新生活!__框输出迎接新生活!Picture
1.CurrentX=180Picture1容器基本坐标的X值为180Picture
1.CurrentY=180Picture1容器基本坐标的Y值为180Picture
1.ForeColor=RGB25500__框内容的前景色为红色Picture
1.Print迎接新生活!__框输出迎接新生活!EndSubPrivateSubCom__nd3_ClickPicture
1.Cls__框清屏EndSub
4、实验总结实验
五、菜单、工具栏和状态栏的设计
一、实验目的
1.掌握下拉式菜单的设计方法
2.掌握弹出式菜单的设计方法
3.了解工具栏和状态栏的设计方法
二、实验内容
1、下拉式菜单的设计程序1建立一个应用程序,该程序窗口中有一个文本框,设计菜单,菜单项如下图所示编制程序,完成各菜单项的功能程序2编写程序要求程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,相应的动态菜单如下图所示;如果选择“转移”菜单下面的“右移”命令,则左边列表框的10个数__到右边的列表框中,并由大到小排列;再打开“转移”菜单,则只有“左移”命令可用
2、弹出式菜单的设计程序3将程序2中的下拉菜单改成二个弹出式菜单,分别作为两个列表框的快捷菜单,当列表框有数据时,菜单有效,否则无效窗体如下图所示
3、工具栏和状态栏的设计程序4工具栏的设计设计一个窗口外观如下图所示的程序,在窗口__的“请输入”文本框中输入一句名言,选择“编辑”菜单中的“名言展示”命令,或按下工具栏中的“名言展示”按钮,可将这句名言添加到窗口中间的“名言展示”文本框中类似地,此程序还可以用这两种方法实现以下功能复位、调整“名言展示”文本框中字体颜色、查看本程序信息、退出程序5状态栏的设计在程序4的基础上,加上状态栏,在状态栏中显示“名言展示”文本框中展示的名言句数和总长度,以及系统日期和系统时间
三、实验记录程序1如下PrivateSubmnuClear_ClickText
1.Text=Text1中字体被清除EndSubPrivateSubmnuExit_ClickEnd退出程序EndSubPrivateSubmnuArr_ClickIndexAsIntegerFori=0To2索引值范围为0到2NextiSelectCaseIndex选择Index里情况,按索引值定义字体字号大小Case0Text
1.FontSize=12Text1中字体大小为12号Case1Text
1.FontSize=16Text1中字体大小为16号Case2Text
1.FontSize=20Text1中字体大小为20号EndSelectEndSubPrivateSubmnuColor_ClickOnErrorGoToErr定义标签CommonDialog
1.ShowColor弹出颜色对话框Text
1.ForeColor=CommonDialog
1.Color定义Text1中字体颜色Err:EndSubPrivateSubmnuAbout_ClickMsgBox一个具有下拉菜单的程序+vbCrLf+版本
1.0版关于下拉菜单的程序弹出MsgBox,显示内容EndSub程序2如下PrivateSubForm_LoadDimiAsInteger定义整形变量iFori=0To9给定i的值为0到9,超出则停止循环RandomizeList
1.AddItemInt90*Rnd+10List1生成10个由10到100之间的随机整数NextiEndSubPrivateSubmnuMoveLeft_ClickDimiAsIntegerLastAsInteger定义整形变量i和LastLast=List
2.ListCount-1将List2选定的数付给LastFori=0ToLast给定i的值为0到Last,超出则停止循环List
1.AddItemList
2.ListLast-i将List2被选中得数添加到List1中List
2.RemoveItemLast-i将List2被选中得数删除NextimnuMoveRight.Enabled=TruemnuMoveRight可见mnuMoveLeft.Enabled=FalsemnuMoveLeft不可见EndSubPrivateSubmnuMoveRight_ClickDimiAsIntegerLastAsInteger定义整形变量i和LastLast=List
1.ListCount-1将List1定的数付给LastFori=0ToLast给定i的值为0到Last,超出则停止循环List
2.AddItemList
1.ListLast-i将List1选中得数添加到List2中List
1.RemoveItemLast-i’将List1被选中得数删除NextimnuMoveRight.Enabled=FalsemnuMoveRight不可见mnuMoveLeft.Enabled=TruemnuMoveLeft可见EndSubPrivateSubmnuFileExit_ClickEnd’退出程序EndSub程序3如下PrivateSubForm_Load初始化DimiAsInteger’定义整形变量iFori=0To9’做循环Randomize随机化List
1.AddItemInt90*Rnd+10产生10个随机数据NextimnuLeftB.Checked=False’定义属性mnuRightI.Checked=FalseEndSubPrivateSubmnuLeftB_ClickmnuLeftB的数据设为粗体IfmnuLeftB.Checked=FalseThenList
1.FontBold=True’定义属性mnuLeftB.Checked=TrueElseList
1.FontBold=FalsemnuLeftB.Checked=FalseEndIfEndSubPrivateSubmnuRightI_ClickmnuRightI的数据设为斜体IfmnuRightI.Checked=FalseThenList
2.FontItalic=True’定义属性mnuRightI.Checked=TrueElseList
2.FontItalic=FalsemnuRightI.Checked=FalseEndIfEndSubPrivateSubmnuWindowsColor_ClickCommonDialog
1.ShowColorForm
1.BackColor=CommonDialog
1.ColorEndSubPrivateSubmnuwindow___it_ClickUnloadMeEndSubPrivateSubmnuleftr_Click在mnuleftr设置弹出右移DimiAsIntegerLastAsIntegerLast=List
1.ListCount-1Fori=0ToLastList
2.AddItemList
1.ListLast-iList
1.RemoveItemLast-iNextimnurightl.Enabled=TruemnuLeftR.Enabled=FalsemnuRightI.Enabled=TruemnuLeftB.Enabled=FalseEndSubPrivateSubmnurightl_Click在mnurightl设置弹出左移DimiAsIntegerLastAsIntegerLast=List
2.ListCount-1Fori=0ToLastList
1.AddItemList
2.ListLast-iList
2.RemoveItemLast-iNextimnurightl.Enabled=FalsemnuRightI.Enabled=FalsemnuLeftR.Enabled=TruemnuLeftB.Enabled=TrueEndSubPrivateSubList1_MouseUpButtonAsIntegerShiftAsIntegerXAsSingleYAsSingle鼠标__IfButton=2AndList
1.ListCount0ThenPopupMenumnuLeftEndIfEndSubPrivateSubList2_MouseUpButtonAsIntegerShiftAsIntegerXAsSingleYAsSingle鼠标__IfButton=2AndList
2.ListCount0ThenPopupMenumnurightEndIfEndSub程序4如下DimijAsInteger定义全局整形变量iPrivateSubForm_ActivateText
2.SetFocus设置焦点停留在Text2EndSubPrivateSubForm_Loadi=0SkinH_AttachEndSubPrivateSubmnuAbout_ClickMsgBox本程序
1.0版vbOKOnly工具栏的使用__关于则弹出消息框EndSubPrivateSubmnuColor_Click设置所输入内容的颜色CommonDialog
1.Can__lError=TrueOnErrorGoToErrlineCommonDialog
1.ShowColor’设置主界面的颜色Text
1.ForeColor=CommonDialog
1.ColorText
1.RefreshText
2.SetFocus设置焦点停留在Text2ExitSubErrline:EndSubPrivateSubmnuDisp_ClickIfText
2.TextThen如果Text2中没有内容Text
1.Text=Text
1.TextText
2.TextvbCrLfText2中的内容显示到Text1中EndIfText
2.Text=Texe2中没有输入Text
2.SetFocus设置焦点停留在Text2EndSubPrivateSubmnuExit_ClickEnd退出程序EndSubPrivateSubmnuReset_ClickText
1.Text=:Text
2.Text=Text1和Text2都复位Text
1.ForeColor=RGB000设置Text1的颜色为黑色Text
2.SetFocus设置焦点停留在Text2EndSubPrivateSubText1_KeyPressKeyAsciiAsIntegerIfi=0ThenText
1.Text=i=1EndIfEndSubPrivateSubText2_KeyPressKeyAsciiAsIntegerIfj=0ThenText
2.Text=j=1EndIfEndSubPrivateSubToolbar1_ButtonClickByValButtonAsMSComctlLib.Button工具栏的单击__SelectCaseButton.KeyCaseButReset复位mnuReset_ClickCaseButDisp显示mnuDisp_ClickCaseButColor颜色mnuColor_ClickCaseButAbout关于mnuAbout_ClickCaseButExit退出mnuExit_ClickEndSelectEndSub
4、实验总结实验
六、对话框、多文档界面设计
一、实验目的1.掌握预定义对话框的使用方法2.掌握通用对话框的使用方法3.掌握简单的MDI应用程序的设计方法4.了解多文档文本编辑器的设计方法
二、实验内容
1、对话框的使用程序1使用预定义对话框输入和输出数据程序如下图所示,用于管理学生成绩按输入按钮,使用预定义对话框InputBox输入学生人数及每个学生的成绩;使用预定义对话框MsgBox输出总分和平均成绩程序2使用通用对话框进行属性设置
三、实验记录程序1如下Dim__rkAsIntegerNAsInteger定义全局整形变量__rk、NPrivateSubCom__nd1_ClickN=InputBox请输入学生人数输入人数NReDim__rk1ToNAsInteger重复定义整形变量__rk1到NFori=1ToN做for循环,超出N停止循环__rki=ValInputBox请输入第Stri个学生的成绩输入学生成绩为函数形式赋给__rkiNextiEndSubPrivateSubCom__nd2_ClickDimSumAsInteger__erageAsInteger定义整形变量Sum、__erageSum=0Sum初值为0Fori=1ToN做for循环,超出N停止循环Sum=Sum+__rki求和运算Nexti__erage=Sum/N求平均数MsgBox总分StrSumvbCrLf平均分Str__erage弹出消息框,输出总分和平均分EndSub程序2如下PrivateSubCom__nd1_ClickCommonDialog
1.Can__lError=True打开CommonDialog1的属性OnErrorGoToErrCommonDialog
1.ShowFont打开CommonDialog1“字体”对话框Text
1.FontBold=CommonDialog
1.FontBold设置文本框里内容的字体加粗Text
1.FontItalic=CommonDialog
1.FontItalic设置文本框里内容的字体为斜体Text
1.FontName=CommonDialog
1.FontName设置文本框里内容的字体名称Text
1.FontSize=CommonDialog
1.FontSize设置文本框里内容的字体字号Text
1.FontStrikethru=CommonDialog
1.FontStrikethru设置文本框里内容的字体加中划线Text
1.FontUnderline=CommonDialog
1.FontUnderline设置文本框里内容的字体有下划线Text
1.ForeColor=CommonDialog
1.Color设置文本框里内容的字体颜色Err:EndSubPrivateSubCom__nd2_ClickCommonDialog
1.Can__lError=True打开CommonDialog1的属性OnErrorGoToErrCommonDialog
1.ShowColor打开CommonDialog1“颜色”对话框Form
1.BackColor=CommonDialog
1.Color设置对话框颜色,窗体的背景颜色为一致Err:EndSubPrivateSubCom__nd3_ClickCommonDialog
1.Can__lError=True打开CommonDialog1的属性OnErrorGoToErrCommonDialog
1.Filter=图标文件|*.ico图标文件|*.ico设置为CommonDialog1的过滤器CommonDialog
1.ShowOpen打开CommonDialog1“打开”对话框Form
1.Icon=LoadPictureCommonDialog
1.FileNameErr:EndSubPrivateSubCom__nd4_ClickCommonDialog
1.ShowPrinter打开CommonDialog1“打印机”对话框Fori=1ToCommonDialog
1.Copies打印的份数,超出则停止打印PrintText
1.Text输出文本框的内容NextiEndSub
4、实验总结。