从一个实例开始——跟我学Visual Basic
写在最前面:
1. 这部教程是写给那些想要进入VB编程大门的新手的,所以大虾们就不必浪费时间了,
我的目的是想让读者对编程有一定的认识(不仅仅是VB),让你知道要自己去学。一个实例并不重要,重要的是能根据自己的需要,去追求自己要的东西,不单单是程序设计,包括做人,做事(呵呵,把自己说的太伟大了),不过,一个真正厉害的人,不是教出来,也不是看书看出来的,而是靠自己琢磨出来的;
2. 我是学数学的,只是学过C语言,没有接触过面向对象(OO)的编程,对于像VB这种“半对象”的程序设计语言,纯粹是无聊时自己摸索的,也是刚刚起步,所以对于其中不对只处,请多多包涵,我们互相学习,同时,我也知道初学者可能在什么地方出现问题,到时我会强调的;
3. 我们知道,世界上没有完美的语言,每种语言都有自己的不足之处。就象用C来设计图形化的程序,用一个字来形容——“太难”了,呵呵。C++固然好(不像有些人说的那样,是C的扩
展。严格的讲它不同于C,又是一种新的程序设计语言,就像树跟二叉树,大熊猫和小熊猫一样,差别的的了),可是我还是选了VB,原因在于它开发程序快速而且完全可以很好的完成自己的要求。所以,亲爱的读者,不要认为那种,那种程序没前途了,那种那种程序就好,就去追新,希望你能够稳下来,学好你需要的语言,掌握好你要用到的工具,脚踏实地;
4. 我想看这部教程的应该大部分都是学生,如果你想在这方面发展的话,希望你能够认真对待你的学习生活(开个玩笑,我计算过以现在的高校收费标准,一节100分钟的课平均是10元,所以……),最起码你要学好:
● 大学数学:很多专业都不用学这个了,真的很可惜,现在的数学可能真的有点变味了,一味的去追求问题的结果,而不是解决问题的方法和步骤。举个例子:就像现在的考研数学一样,你敢说一个思维活跃的人一定能拿高分么!这不一定,应试是需要练习,不断的练习,以达到一种机械化的程度——这就是对试题的极大的熟悉,这样,相信你也一定能在最后的分数上超过真的猛士的。此时此地,对你而言,你要去领悟数学的思维,数学的方法。算法说道地跟“数学”是分不开的。
● 大学语文:很重要,我就没学过这门课,弄的我现在的语言表达能力是那个差啊!
● 大学英语、计算机体系结构和汇编语言、计算机操作系统原理、数据结构和算法、软件工程、Windows 程序设计etc.
日后,你会觉的这些东西,真的很有用的,所以,请你不要浮躁,下文的叙述中,我们会不同程度上用到上面的知识的;
5. 个人认为,无论是什么样的程序语言应该都不是很难,要不coder为何挣的也不是很多啊,所以你要有信心,一定要亲手去做,不要觉得自己会了,实践是检验真理的唯一标准。
要用到的工具:
1. Visual Basic 6.0 学习版+sp6
学习版就够了,当然其它的两种版本就更好了。Visual Basic 学习版让编程人员很容易地创建功能强大的 Microsoft Windows 和 Windows NT(R) 应用程序。它包括了所有的内部控件,加上网格、选项卡、和数据绑定控件。与此版本一起提供的文档包括 Learn VB Now (
这是一张多媒体 CD-ROM 的标题),加上包含了完整联机文档的 Microsoft Developer Network CD。
2. MSDN Library Visual Studio
当然如果你安装的不是精简版,这个基本上就不需要了,
VB自带的帮助就可以的,要养成有问题自己解决,那么第一步就是查看帮助文件了。你还可以Google(v.)一下,或是BBS(v.)一下,注意,不要使用以下经典的蠢问题:
问题:我能在哪到X程序?
问题:我的程序/配置/SQL申明没有用
问题:我的Windows有问题,你能帮我吗?
问题:我在安装Linux(或者X)时有问题,你能帮我吗?
问题:我怎么才能pjroot帐号/窃取OP特权/读别人的邮件呢?
为什么呢?For more click /~esr/faqs/smart-questions.html
3. Windows API 函数 for Visual Basic
202.103.176.81/erun/sealife/ ,这个就和DOS时代的int一样的重要,Windows 给用户的是ring3,它不能让用户去动系统的核心ring0,而在很多时候是很必要的;我们知道系统给作接口的同时,也给了我们命令接口,用这些已经封装好的API(应用程序接口),可以降低我的的编程强度。
进入正题
我给教程取名为从一个实例开始,那么首先就让我来描述一下这个实例是用来完成什么的:
需求分析:
● 软件名:光驱使者
● 功能描述:通过按设置好的某个键,以达到让光驱弹出,关闭的效果。(如果你的机箱是放在地上的,你会发现这会是非常有用的。)
在开发一个项目时,需求分析是非常重要的,这一个环节出了问题将会导致后面的环节进行不下去,作为教学,为了方便起见我们做了以上的简化分析。(注:我的格式很不规范,如果日后你要做软件工程的话,请你去一下这些方面的文档应该如何规范的去写的文章。)
程序设计及代码编写阶段:(如果你这是学VB的程序设计,从这里开始将会非常的重要了)
第一节
首先,看一下我们的快速原型,以后的开发就会在这个基础上展开:
visual basic还有人用 以上就是我们的快速原型,呵呵。下面我们打开VB输入源码(别说你不会进啊!):
〔文件〕〔新建工程〕〔标准〕,然后在〔查看代码〕中写入源代码并在窗体(通常所说的
窗口)上画一个Command(按钮),你先不必知道这些代码是用来干什么的,先让自己有一点的成就感再说。
源码见(001)
Option Explicit
Private Declare Function CDDoor Lib "winmm.dll" Alias "mciSendStringA" _
( _
ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long _
) As Long ' CDdoor函数是安装WINDOWS时所自带的winmm.dll文件中包含的函数
Dim CDOpen As Boolean 'CDOpen用来标示光驱开与关的状态
Private Sub Command1_Click()
On Error Resume Next
If CDOpen = False Then '如果关闭则打开,并且按钮做相应变化
Call CDDoor("set CDAudio door open", 0, 0, 0)
CDOpen = True
Command1.Caption = "点击关闭光驱"
Else '否则关闭
Call CDDoor("set CDAudio door closed", 0, 0, 0)
CDOpen = False
Command1.Caption = "点击打开光驱"
End If
End Sub
Private Sub Form_Load()
CDOpen = False
Call CDDoor("set CDAudio door closed", 0, 0, 0)
End Sub
代码分析:
1. Option Explicit
VB中的变量在使用前是可以不加声明的,而Option Explicit则要求变量必须显式声明,这一点可以然你在日后的程序调试时,程序执行时更容易的发现错误,而且可以让你的程序阅读时更加的清晰;
2. “'”后面的内容是注释
在程序的解释执行时是不解释的,但它的存在是非常重要的,现代的程序要求的是“清晰第一,
效率第二”,有了注释能够让程序的阅读者明白你的程序是在做一件什么样的事。注意:好的注解不是句句都要,句句都有注解相当于没有注解,要在关键的代码上加以注解;
3. Private Declare Function CDDoor Lib "winmm.dll" Alias "mciSendStringA" _
( _
ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long _
) As Long
看到上面的一大堆是不觉的很恐怖啊!其实这没什么,这只不过是微软的程序员事先写好的“函数”,(API应用程序接口,它屏蔽了操作系统底层的活动,而以一种简便的方法让使用
者达到某种功能),可以在相关的文档中查到,比如(MSDN),只要COPY过了就行了。我们可以把它理解为C语言中,函数原型的声明罢了,使用时只要往里面添需要的参数就O.K.了。在上面这个API中,第一个参数“ByVal lpstrCommand As String”就决定了,光驱的弹出和关闭,如:“"set CDAudio door open"”的意思是光驱的弹出,那么在使用时用“Call CDDoor("set CDAudio door open", 0, 0, 0)”就可以打开光驱了。
在输入时,会出现上面黄的气球提示,黑体字的部分是提醒你当前要输入的是那部分的参数,这是很好的,要好好了利用(如果这里,你把CDDoor写成了Cdoor那么就不会出现后面的快速信息,这时就要引起你的注意了)。
API函数 CDdoor 来控制光驱门的开和关程序十分简单,由于 CDdoor 函数自身包含了对异常错误的处理机制,因此这个程序的通用性很高,你可以把这段代码移植到你的程序中,实现某些多媒体播放器所常用的开关光驱的功能。
4. Private Sub Command1_Click()
……
End Sub
这个是当你按下(单击)Command1时,将会执行这其中的……处的代码。聪明的你,你也一定知道
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论