VB初学者实例50例

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

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

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

资源描述

第四代计算机语言,VB的特点是显而易见的。因为是“可视的”所以我们不妨先看看VB的界面(我用的是VB4.032位版),很容易可以看到,屏幕上有五个窗口,(1)是菜单栏;(2)是工具箱(ToolsBox),里面是VB所需的控件;(3)是VB程序要设计的窗体(Form);(4)控件及窗体的属性(Properties),在VB中每一个控件都有其自己的属性,比如文本框有Text属性,而任何一个控件都有一个自己唯一的名字,这使得我们无需编程就可以完成部分编程的工作;(5)是VB的文件控制窗口,VB的每一个程序称为一个项目(Project),一个项目文件里往往包括以下两种文件,窗体(Form)文件和模块(Bas)文件,当然还有Class文件,这些文件组成一个完整的程序,而项目文件(Vbp)则用来描述程序所包含的内容。实际上,我一直认为学习的最好方法就是实际操作一下,好,下面我们就来看一个最简单的程序,和所有的编程教科书一样,我们把第一个程序称为“Hello,world!”。首先,我们先来熟悉一下窗体。如果你用过Win95附件所带的画图板的话,那么你一定会很快熟悉VB的窗体设计方法,用鼠标单击一下工具箱中的任何一个控件,然后在窗体上任意拖动鼠标,你就会得到一个所需的控件;当然还有其他的方法得到控件,你可以在工具箱上双击得到一个控件;或是按住Ctrl键,再单击所需控件,重复第一次的步骤,你会发现,不用再回去点击工具箱了,点右键可以恢复鼠标指针,这样对于重复画同一个控件尤其有用。对于我们的第一个小程序,知道这些就已经足够了。现在你可以在我们的窗体上画如下控件一个图片框(PictureBox),用来显示图画,每一个控件建立的时候,系统都会给它设一个默认的名字(Name),这个PictureBox的名字就叫做Picture1,为了方便起见,我们以后的控件都使用缺省的名称。选定Picture1,在左边的属性窗口中找到Picture属性,单击会出现,点击为Picture1选一个图像文件,VB支持的图像文件有BitMap、WMF、ICO三种,微软为用户提供了一套图标文件,存放在VB目录的Icons目录下,选择Icons\misc\face01.ico文件,这样图标就被装入了Picture1。再选择Pictrue1的Autosize属性,设为1-True,则会发现Picture1以变成和图像一样大了;把BorderStyle定为0-None,去掉图片边框。用同样的方法再添加两个图片框:Picture2(Picture:face02.ico),Picture3(Picture:face03.ico)。图片框完成了,第二步,建立三个无线钮(OptionButton),由于它象收音机的无线电按钮而得名),把它们的标签名属性(Caption)分别定为“悲哀”,“高兴”,“没治了”,放置成下图的样子。最后我们还需要三个文本框(TextBox),分别把它们的Text属性设为””(空字符串),程序的最后界面如图1_3,这样按下菜单窗口的运行按钮,运行一下程序,还可以吧,不过现在程序还无法工作,就算是VB也不能免俗,还必须输入代码才能使程序运作。VB是一门典型的面向对象编程的语言,它的整个程序都是由事件驱动的。那么,什么是事件呢?其实,我们的生活中充满了各式各样的事件,比如说“闯红灯”这个事件的发生会导致被警察追杀、走路撞到电线杆时会痛。上面的例子虽然有些滑稽,但它可以清楚的解释事件的含义,就象你马上就能体会到的在什么地方单击鼠标时会发生什么,按下键盘时会发生什么,这就是事件,而事件就是这么容易。要进入VB的代码设计区,只需在需要的控件或窗体上双击鼠标即可得到这样的窗口。如图1_4,每一个VB程序都由若干小程序组成,这使得用VB编程更加容易,这些小程序,分为“过程”(Procedure)和“函数”(Function),二者都可以传递参数,所不同的是函数有一个返回值,而过程没有,仅此而已。双击窗体的任何一个部分,将出现一个空的过程:“Form_Load()”,这是一个非常重要的过程,它所驱动的事件就是该窗体被加载的事件,打个比方,就象计算机启动时的批处理程序(Autoexec.bat)。这个程序里我们要对控件进行一些设置。我们刚才也曾对控件进行设置,但那是在程序设置中进行的,有时我们也需要在程序中改变某些控件的属性,通过程序代码。VB中规定,一个控件属性的访问方法:名称.属性,于是我们对本程序的控件进行如下设置:PrivateSubForm_Load()Picture1.Visible=FalsePicture2.Visible=FalsePicture3.Visible=FalseText1.Visible=FalseText2.Visible=FalseText3.Visible=FalseEndSubPrivate表示此过程是局部的,Sub表示子过程的开始,与之相对的是EndSub表示过程的结束,Visible属性表示控件的可见性,这个属性的值有两个True和False。注意:VB里对大小写是不加区分的,而且,已定义的名称,以后再用到时,系统会自动把它变成相应的大写或小写。小知识:1.VB里的对变量及常量的规矩。变量一般为Abc的格式,常量为ABC,另外这些变量和常量名不得同VB内的关键字相同,也不可以使用一些特殊符号,这些我们将在以后介绍,注意在学习中养成好习惯,使程序便于自己和别人的浏览。2.程序书写的窍门:不要真的一句一句把程序打完,利用快捷键:拷贝Ctrl+C,剪切Ctrl+T,粘贴Ctrl+P。按下F5,运行一下程序,现在发现只剩下无线钮了。如图。PrivateSubForm_Load()Picture1.Visible=FalsePicture2.Visible=FalsePicture3.Visible=FalseText1.Visible=FalseText2.Visible=FalseText3.Visible=FalseOption4.Left=-2000Option4.Value=TrueEndSubLeft属性表示控件离窗体左边框的距离,设置为-2000,则在窗体内不会看到这个控件,并使之Value=True。再运行程序,一切如愿,如图.注意:为什么不用Option4.Visible=False?因为,一旦设置无线钮为不可见,那么再使它的Value为真是没有意义的,不信自己试试。下面我们可以继续进行了。在刚才的代码窗口里,将Object选择为Option1,Proc选择为Click,即得到一个Option1_Click的过程。代码如下:PrivateSubOption1_Click()Picture1.Visible=TruePicture2.Visible=FalsePicture3.Visible=FalseText1.Visible=TrueText2.Visible=FalseText3.Visible=FalseText1.Text=再见,残酷的世界。EndSub相同的建立Option2_Click和Option2_Click:PrivateSubOption2_Click()Picture2.Visible=TruePicture1.Visible=FalsePicture3.Visible=FalseText2.Visible=TrueText1.Visible=FalseText3.Visible=FalseText2.Text=今天心情不错。EndSubPrivateSubOption3_Click()Picture3.Visible=TruePicture2.Visible=FalsePicture1.Visible=FalseText3.Visible=TrueText2.Visible=FalseText1.Visible=FalseText3.Text=Hello,World。EndSub好,我们的开山之作完成了!按下F5,玩一下吧。这个程序虽然简单,但也用到了许多基本知识,你开始感兴趣了吗?^_^1.打印三角形PrivateSubForm_Click()Fori=1To4PrintSpace(4-i);Forj=1ToiPrint*;NextjPrintNextiEndSub2.题目:(事件)单击窗体。(响应)我国现有人口为13亿,设年增长率为1%,计算多少年后增加到20亿。并将结果输出在窗体上。将结果存入变量year中。使用dowhile...loop语句完成程序。PrivateSubForm_Click()DimyearAsInteger,sumAsSingleDimpasdoubleDimrassingleP=1300000000r=0.01Dowhilep2000000000P=p+p*rn=n+1LoopPrint“n=”,nYear=nEndsub3.题目:(事件)单击窗体。(响应)求从100到1000之间所有是3的倍数的数之和,当和大于3000时,停止计算并输出和。请将结果输出到窗体上,并存入所给变量SUM中。使用for...next语句完成程序。PrivateSubForm_Click()DimsumAsIntegersum=0DimiAsIntegerFori=100To1000IfiMod3=0Thensum=sum+iIfsum3000ThenExitForEndIfNextiPrintsumEndSub4.题目(事件)点击窗体(响应)求1!+2!+3!+…………………+10!的值,并在窗体上输出,结果存入变量L中PrivateSubform_click()DimlAsLongDimpAsLongp=1Fori=1To10p=p*il=l+pNextPrintlEndSub5.题目点击窗体求100以内偶数的和,并将结果输出在窗体上,将结果存入变量sum中Privatesubform_click()Dimsumasintegerfori=0to100IFimod2=0thenSum=sum+iendifNextPrintsumEndsub6.题目:单击窗体求1+2+3+4+5+…………+100的值并将结果输入在窗体上,结果存入变量sum中Privatesubform–click()DimsumasintegerFori=1to100Sum=sum+iNextPrintsumEndsub7.题目单击窗体求1+5+10+15+……………..+500的和,并将结果输出在窗体上,将结果存入变量sum中Privatesubform-click()DimsumaslongSum=1Fori=0to500IFiMod5=0thenSum=sum+iEndIfNextPrintsumEndsub#8.题目:求两个正整数m,n的最大公约数p和最小公倍数q'注意:请在指定的事件内编写代码。DimmAsInteger,nAsIntegerPrivateSubCommand1_Click()m=Val(InputBox(输入正整数))n=Val(InputBox(输入正整数))Ifn*m=0ThenMsgBox两数任何一个数都不能为0!EndIfEndSubPrivateSubCommand2_Click()DimrAsInteger,sAsIntegerr=m:s=1DoUntilmModr=0AndnModr=0'最大公约数r=r-1LoopDoUntilsModm=0AndsModn=0'最小公倍数s=s+1LoopPrint最大公约数是:&r&最小公倍数是:&sEndSub9.题目:(事件)单击窗体。(响应)求10~20之间所有素数的乘积并输出在窗体上。将结果存入变量L中DimlAsLongl=1Fori=10To20Forj=2Toi-1IfiModj=0ThenExitForEndIfNextjIfj=iThenl=l*iEndIfNextiPrintl10.题目:编写函数fun其功能是

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

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

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

×
保存成功