资源描述:
《如何用VB编写Windows程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VisualBasic程序设计入门5.1VisualBasic程序的组成1)工程文件.vbp2)窗体文件.frm和.frx:每个窗体(Form)对应于两个文件,.frm文件实际上就是纯文本文件,描述了窗体位置,各个控件名称,位置等信息,以及所有的函数。.frx文件是二进制文件,存放窗体中的图片,图标等资源。这两个文件一般不需要直接去操作它3)代码模块文件.bas一个工程中可以有任意多个代码模块文件,里面可以定义所有窗体都能使用的全局变量,全局函数4)类模块文件.cls如果要写一个类,那么应该将类写在一个类模块文件里。一个.cls文件
2、可以包含多个类,一个工程里可以有任意多个.cls文件VB的程序一般是由一个个窗体(Form)构成,当然也可以没有任何窗体。窗体、模块、类模块都不是一定要有的。但显然不能都没有。5.2VisualBasic的sub和FunctionVB中的函数有Sub和Function两种,前者没有返回值,后者有。为简单起见,我们都称之为函数。例如:SubPrintMsg(ByValszMsgAsString)IfszMsg=""ThenExitSub'从sub中返回ElseMsgBoxszMsgEndIfEndSub调用语句:PrintMsg“He
3、llo,world”FunctionMax(ByValaAsLong,ByValbAsLong)AsLong‘该函数返回值类型是longIfa<0Orb<0ThenMax=-1'以函数名存放返回值ExitFunctionEndIfIfa>bThenMax=aElseMax=bEndIfEndFunction调用语句:c=Max(3,5)‘用到了返回值或Max3,5‘不用返回值5.3参数的传递方式VB中参数传递方式有传值和传引用两种。传值的参数在定义的时候使用byval关键字例如:SubFunc(ByValaAsLong,bAsLon
4、g,ByValaszAsString,bszAsString)a=1b=1asz="Hello"bsz="Hello"EndSubPrivateSubCommand1_Click()DimaAsLong,bAsLongDimaszAsString,bszAsStringa=0b=0asz="Ok"bsz="Ok"Funca,b,asz,bszMsgBoxa‘弹出0MsgBoxb‘弹出1MsgBoxasz‘弹出OkMsgBoxbsz‘弹出HelloEndSub5.4VisualBasic程序的执行VB程序可以从某一个Form的Form
5、_load函数开始执行,也可以从某个代码模块的Submain()函数开始执行。Submain()函数只能有一个。在VB的“工程
6、属性”菜单里可以进行启动设置。Form_load函数(如果你写了的话)在Form装入内存时被调用,此时Form还没有被显示出来在代码模块和在Form中,都可以装载某个Form并将它显示出来。一个有两个Form和一个代码模块的VB程序的例子:文件mymain.basSubmain()LoadForm1‘装入Form1,Form_load会在此时被调用Form1.Show‘显示它EndSub文件form1.fr
7、m:PrivateSubCommand1_Click()LoadForm2‘Form2.form_load会在此时被调用Form2.Show1‘Show1表示只要Form2在就不能点击Form1EndSub使用unload窗体名语句来卸载一个窗体如果卸载的窗体是自己,那么可以用unloadme语句5.5VisualBasic的变量类型及变量定义VB中最基本的变量类型有:Integer16字节long32字节Byte8字节double8字节String字符串VB中,变量可以不声明就直接使用。但强烈建议不要这么做。应该在每个Form文件
8、和每个代码模块文件的开头加Optionexplict,告诉编译器,我不希望允许变量没声明就能使用.VB中的变量用dim语句定义DimnaslongDimfasdoubleDimszNameasstring,szIdasstringszName=“Mynameis”+szId.VB中的数组DimMyArray(20)aslong实际上该数组有21个元素,MyArray(0)–MyArray(20)访问数组元素:MyArray(0)=1多维数组DimMatrix(10,10)AsLongMatrix(0,0)=1字符串数组DimStri
9、ngArray(10)asstringStringArray(0)=“This”.动态数组DimMyArray()aslongRedimMyArray(30)‘动态分配空间MyArray(2)=1‘使用RedimMyArray(50)