ImageVerifierCode 换一换
格式:DOCX , 页数:81 ,大小:436.21KB ,
资源ID:5545800      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5545800.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VB初学者实例50例.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VB初学者实例50例.docx

1、VB初学者实例50例 第四代计算机语言,VB的特点是显而易见的。因为是“可视的”所以我们不妨先看看VB的界面(我用的是VB4.0 32位版),很容易可以看到,屏幕上有五个窗口,(1)是菜单栏;(2)是工具箱(Tools Box),里面是VB所需的控件;(3)是VB程序要设计的窗体(Form);(4)控件及窗体的属性(Properties),在VB中每一个控件都有其自己的属性,比如文本框有Text属性,而任何一个控件都有一个自己唯一的名字,这使得我们无需编程就可以完成部分编程的工作;(5)是VB的文件控制窗口,VB的每一个程序称为一个项目(Project),一个项目文件里往往包括以下两种文件,窗

2、体(Form)文件和模块(Bas)文件,当然还有Class文件,这些文件组成一个完整的程序,而项目文件(Vbp)则用来描述程序所包含的内容。实际上,我一直认为学习的最好方法就是实际操作一下,好,下面我们就来看一个最简单的程序,和所有的编程教科书一样,我们把第一个程序称为“Hello,world!”。首先,我们先来熟悉一下窗体。如果你用过Win95附件所带的画图板的话,那么你一定会很快熟悉VB的窗体设计方法,用鼠标单击一下工具箱中的任何一个控件,然后在窗体上任意拖动鼠标,你就会得到一个所需的控件;当然还有其他的方法得到控件,你可以在工具箱上双击得到一个控件;或是按住Ctrl键,再单击所需控件,重

3、复第一次的步骤,你会发现,不用再回去点击工具箱了,点右键可以恢复鼠标指针,这样对于重复画同一个控件尤其有用。对于我们的第一个小程序,知道这些就已经足够了。现在你可以在我们的窗体上画如下控件一个图片框(Picture Box),用来显示图画,每一个控件建立的时候,系统都会给它设一个默认的名字(Name),这个PictureBox的名字就叫做Picture1,为了方便起见,我们以后的控件都使用缺省的名称。选定Picture1,在左边的属性窗口中找到Picture属性,单击会出现,点击为Picture1选一个图像文件,VB支持的图像文件有BitMap、WMF、ICO三种,微软为用户提供了一套图标文件

4、,存放在VB目录的Icons目录下,选择Iconsmiscface01.ico文件,这样图标就被装入了Picture1。再选择Pictrue1的Autosize属性,设为1-True,则会发现Picture1以变成和图像一样大了;把BorderStyle定为0-None,去掉图片边框。用同样的方法再添加两个图片框:Picture2(Picture:face02.ico),Picture3(Picture:face03.ico)。图片框完成了,第二步,建立三个无线钮(Option Button),由于它象收音机的无线电按钮而得名),把它们的标签名属性(Caption)分别定为“悲哀”,“高兴”,

5、“没治了”,放置成下图的样子。最后我们还需要三个文本框(Text Box),分别把它们的Text属性设为”(空字符串),程序的最后界面如图1_3,这样按下菜单窗口的运行按钮,运行一下程序,还可以吧,不过现在程序还无法工作,就算是VB也不能免俗,还必须输入代码才能使程序运作。VB是一门典型的面向对象编程的语言,它的整个程序都是由事件驱动的。那么,什么是事件呢?其实,我们的生活中充满了各式各样的事件,比如说“闯红灯”这个事件的发生会导致被警察追杀、走路撞到电线杆时会痛。上面的例子虽然有些滑稽,但它可以清楚的解释事件的含义,就象你马上就能体会到的在什么地方单击鼠标时会发生什么,按下键盘时会发生什么,

6、这就是事件,而事件就是这么容易。要进入VB的代码设计区,只需在需要的控件或窗体上双击鼠标即可得到这样的窗口。如图1_4,每一个VB程序都由若干小程序组成,这使得用VB编程更加容易,这些小程序,分为“过程”(Procedure)和“函数”(Function),二者都可以传递参数,所不同的是函数有一个返回值,而过程没有,仅此而已。双击窗体的任何一个部分,将出现一个空的过程:“Form_Load()”,这是一个非常重要的过程,它所驱动的事件就是该窗体被加载的事件,打个比方,就象计算机启动时的批处理程序(Autoexec.bat)。 这个程序里我们要对控件进行一些设置。我们刚才也曾对控件进行设置,但那

7、是在程序设置中进行的,有时我们也需要在程序中改变某些控件的属性,通过程序代码。VB中规定,一个控件属性的访问方法:名称.属性,于是我们对本程序的控件进行如下设置:Private Sub Form_Load()Picture1.Visible = FalsePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = FalseText2.Visible = FalseText3.Visible = FalseEnd SubPrivate表示此过程是局部的,Sub表示子过程的开始,与之相对的是End Sub表示过程的结束,Visi

8、ble属性表示控件的可见性,这个属性的值有两个True和False。注意:VB里对大小写是不加区分的,而且,已定义的名称,以后再用到时,系统会自动把它变成相应的大写或小写。小知识:1.VB里的对变量及常量的规矩。变量一般为Abc的格式,常量为ABC,另外这些变量和常量名不得同VB内的关键字相同,也不可以使用一些特殊符号,这些我们将在以后介绍,注意在学习中养成好习惯,使程序便于自己和别人的浏览。2.程序书写的窍门:不要真的一句一句把程序打完,利用快捷键:拷贝Ctrl+C,剪切Ctrl+T,粘贴Ctrl+P。按下F5,运行一下程序,现在发现只剩下无线钮了。如图。Private Sub Form_L

9、oad()Picture1.Visible = FalsePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = FalseText2.Visible = FalseText3.Visible = FalseOption4.Left = -2000Option4.Value = TrueEnd SubLeft属性表示控件离窗体左边框的距离,设置为2000,则在窗体内不会看到这个控件,并使之Value=True。再运行程序,一切如愿,如图.注意:为什么不用Option4.Visible=False?因为,一旦设置无线钮为不可

10、见,那么再使它的Value为真是没有意义的,不信自己试试。下面我们可以继续进行了。在刚才的代码窗口里,将Object选择为Option1,Proc选择为Click,即得到一个Option1_Click的过程。代码如下:Private Sub Option1_Click()Picture1.Visible = TruePicture2.Visible = FalsePicture3.Visible = FalseText1.Visible = TrueText2.Visible = FalseText3.Visible = FalseText1.Text = 再见,残酷的世界。End Sub相同

11、的建立Option2_Click和Option2_Click:Private Sub Option2_Click()Picture2.Visible = TruePicture1.Visible = FalsePicture3.Visible = FalseText2.Visible = TrueText1.Visible = FalseText3.Visible = FalseText2.Text = 今天心情不错。End SubPrivate Sub Option3_Click()Picture3.Visible = TruePicture2.Visible = FalsePicture1

12、.Visible = FalseText3.Visible = TrueText2.Visible = FalseText1.Visible = FalseText3.Text = Hello,World。End Sub好,我们的开山之作完成了!按下F5,玩一下吧。这个程序虽然简单,但也用到了许多基本知识,你开始感兴趣了吗?_1.打印三角形Private Sub Form_Click() For i = 1 To 4 Print Space(4 - i); For j = 1 To i Print * ; Next j Print Next iEnd Sub2.题目: (事件)单击窗体。(响应

13、)我国现有人口为 13 亿, 设年增长率为 1%, 计算多少年后增加到 20 亿。 并将结果输出在窗体上。 将结果存入变量 year 中。使用 do while .loop 语句完成程序。Private Sub Form_Click() Dim year As Integer, sum As Single Dim p as double Dim r as single P=1300000000 r=0.01 Do while p 3000 Then Exit ForEnd IfNext iPrint sumEnd Sub4 .题目(事件) 点击窗体 (响应) 求 1! +2! +3! +10!

14、的值, 并在窗体上输出, 结果存入变量 L 中 Private Sub form_click()Dim l As LongDim p As Longp = 1For i = 1 To 10p = p * il = l + pNextPrint lEnd Sub 5. 题目点击窗体 求 100 以内偶数的和, 并将结果输出在窗体上, 将结果存入变量 sum 中Private sub form _click() Dim sum as integer for i=0 to 100 IF i mod 2=0 then Sum=sum+i end if Next Print sum End sub 6.

15、题目:单击窗体 求 1+2+3+4+5+100 的值并将结果输入在窗体上,结果存入变量 sum 中 Private sub form click( ) Dim sum as integer For i=1 to 100 Sum=sum+i Next Print sum End sub 7.题目单击窗体 求 1+5+10+15+.+500 的和,并将结果输出在窗体上,将结果存入变量 sum 中 Private sub form-click() Dim sum as long Sum=1For i=0 to 500 IF i Mod 5 =0 thenSum=sum+i End IfNext Pr

16、int sum End sub #8.题目:求两个正整数 m,n 的最大公约数 p 和最小公倍数 q 注意: 请在指定的事件内编写代码。 Dim m As Integer,n As IntegerPrivate Sub Command1_Click()m = Val(InputBox(输入正整数)n = Val(InputBox(输入正整数)If n * m = 0 ThenMsgBox 两数任何一个数都不能为0!End IfEnd SubPrivate Sub Command2_Click()Dim r As Integer,s As Integerr = m:s = 1Do Until m

17、 Mod r = 0 And n Mod r = 0 最大公约数r = r - 1LoopDo Until s Mod m = 0 And s Mod n = 0 最小公倍数s = s + 1LoopPrint 最大公约数是: & r & 最小公倍数是: & sEnd Sub9.题目: (事件)单击窗体。(响应)求 1020 之间所有素数的乘积并输出在窗体上。将结果存入变量 L 中Dim l As Long l=1 For i=10 To 20 For j=2 To i-1 If i Mod j = 0 Then Exit For End If Next j If j = i Then l=l

18、*i End If Next i Print l 10.题目: 编写函数 fun 其功能是:判断一个整数 w 的各位数字平方之和能否被 5 整除 , 可以被 5 整除则返回1,否则返回0Private Function fun(w As Integer) As Boolean Dim k as integer ,s as integer Do S=s+(w mod 10)*(w mod 10) W=Int(w/10) Loop while w0 If s mod 5=0 then K=1 Else K=0 End if Fun=k End Function 11.题目: 编写函数 fun,函数

19、的功能是:根据一个百分制成绩mark(整数),显示对应五级制的评定。条件如下:mark大于等于90显示优秀 mark 小于 90 且大于等于80 显示良好 mark小于80且大于等于70显示中等 mark小于70且大于等于60显示及格 mark小于60显示不及格 要求使用 IF 语句来实现。注意:请在指定的事件内编写代码代码只能写在两行标识之间不得修改已有代码 保存时不得修改窗体和工程文件的名称及路径, 否则后果自负。 Private Function fun(mark As Integer) As String if mark=90 then fun=优秀Else if mark=80 th

20、en fun=良好 else if mark=70 then fun =中等 else if mark=60 then fun=及格 else fun=不及格 end if End Function 12.题目:(事件)双击窗体。(响应)求出100200之间,能被5整除,但不能被3整除的数。并求所有数之和,存入变量中SUM中。Private Sub Form_dblClick() Dim sum As Integer sum = 0 Dim i as integer For i =100 to 200 If (i mod 5)=0) and (i mod 3)0) then Print (CS

21、tr(i) sum=sum+i End if Next Print sum Testfunc (sum) End sub 1. 如何消除textbox中按下回车时的beep声音?Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then KeyAscii = 0 End IfEnd Sub2.Textbox获得焦点时自动选中。Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End Sub3.屏蔽text

22、box控件自身的右键菜单,并显示自己的菜单。方法一:Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y _As Single) If Button = 2 Then Text1.Enabled = False Text1.Enabled = True PopupMenu mymenu End IfEnd Sub方法二:回调函数module:Option ExplicitPublic OldWindowProc As Long 保存默认的窗口函数的地址Public Const WM_CON

23、TEXTMENU = &H7B 当右击文本框时,产生这条消息Public Declare Function GetWindowLong Lib user32 Alias GetWindowLongA (ByVal hWnd _As Long, ByVal nIndex As Long) As LongPublic Declare Function SetWindowLong Lib user32 Alias SetWindowLongA (ByVal hWnd _As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPri

24、vate Declare Function CallWindowProc Lib user32 Alias CallWindowProcA (ByVal _ lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPublic Function SubClass_WndMessage(ByVal hWnd As Long, ByVal Msg As Long, ByVal wp _As Long, ByVal lp As Lo

25、ng) As Long如果消息不是WM_CONTEXTMENU,就调用默认的窗口函数处理If Msg WM_CONTEXTMENU Then SubClass_WndMessage = CallWindowProc(OldWindowProc, hWnd, Msg, wp, lp) Exit FunctionEnd IfSubClass_WndMessage = TrueEnd Function窗体中:Private Const GWL_WNDPROC = (-4)Private Sub Text1_MouseDown(Button As Integer, Shift As Integer,

26、X As Single, Y _As Single)If Button = 1 Then Exit Sub OldWindowProc = GetWindowLong(Text1.hWnd, GWL_WNDPROC) 取得窗口函数的地址 用SubClass_WndMessage代替窗口函数处理消息 Call SetWindowLong(Text1.hWnd, GWL_WNDPROC, AddressOf SubClass_WndMessage)End SubPrivate Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As S

27、ingle, Y As Single) If Button = 1 Then Exit Sub 恢复窗口的默认函数 Call SetWindowLong(Text1.hWnd, GWL_WNDPROC, OldWindowProc) PopupMenu mymenuEnd Sub4. 设置TEXTBOX为只读属性Private Declare Function SendMessage Lib user32 Alias SendMessageA (ByVal hwnd _As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As An

28、y) As LongPrivate Declare Function GetWindowLong Lib user32 Alias GetWindowLongA (ByVal hwnd _ As Long, ByVal nIndex As Long) As LongPrivate Const GWL_STYLE = (-16)Private Const EM_SETREADONLY = &HCFPrivate Sub Command1_Click() Dim l As Long If (GetWindowLong(Text1.hwnd, GWL_STYLE) And &H800) Then T

29、ext1.Text = This is a read/write text box. 文本窗口是只读窗口,设置为可读写窗口 l = SendMessage(Text1.hwnd, EM_SETREADONLY, False, vbNull) Text1.BackColor = RGB(255, 255, 255) 将背景设置为白色 Command1.Caption = Read&WriteElse Text1.Text = This is a readonly text box. 文本窗口是可读写窗口,设置为只读窗口 l = SendMessage(Text1.hwnd, EM_SETREADONLY, True, vbNull) Text1.BackColor

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1