資源描述:
《如何用VB編寫Windows程序》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、VisualBasic程序設計入門5.1VisualBasic程序的組成1)工程文件.vbp2)窗體文件.frm和.frx:每個窗體(Form)對應于兩個文件,.frm文件實際上就是純文本文件,描述了窗體位置,各個控件名稱,位置等信息,以及所有的函數(shù)。.frx文件是二進制文件,存放窗體中的圖片,圖標等資源。這兩個文件一般不需要直接去操作它3)代碼模塊文件.bas一個工程中可以有任意多個代碼模塊文件,里面可以定義所有窗體都能使用的全局變量,全局函數(shù)4)類模塊文件.cls如果要寫一個類,那么應該將類寫在一個類模塊文件里。一個.cls文件
2、可以包含多個類,一個工程里可以有任意多個.cls文件VB的程序一般是由一個個窗體(Form)構成,當然也可以沒有任何窗體。窗體、模塊、類模塊都不是一定要有的。但顯然不能都沒有。5.2VisualBasic的sub和FunctionVB中的函數(shù)有Sub和Function兩種,前者沒有返回值,后者有。為簡單起見,我們都稱之為函數(shù)。例如:SubPrintMsg(ByValszMsgAsString)IfszMsg=""ThenExitSub'從sub中返回ElseMsgBoxszMsgEndIfEndSub調(diào)用語句:PrintMsg“He
3、llo,world”FunctionMax(ByValaAsLong,ByValbAsLong)AsLong‘該函數(shù)返回值類型是longIfa<0Orb<0ThenMax=-1'以函數(shù)名存放返回值ExitFunctionEndIfIfa>bThenMax=aElseMax=bEndIfEndFunction調(diào)用語句:c=Max(3,5)‘用到了返回值或Max3,5‘不用返回值5.3參數(shù)的傳遞方式VB中參數(shù)傳遞方式有傳值和傳引用兩種。傳值的參數(shù)在定義的時候使用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程序的執(zhí)行VB程序可以從某一個Form的Form
5、_load函數(shù)開始執(zhí)行,也可以從某個代碼模塊的Submain()函數(shù)開始執(zhí)行。Submain()函數(shù)只能有一個。在VB的“工程
6、屬性”菜單里可以進行啟動設置。Form_load函數(shù)(如果你寫了的話)在Form裝入內(nèi)存時被調(diào)用,此時Form還沒有被顯示出來在代碼模塊和在Form中,都可以裝載某個Form并將它顯示出來。一個有兩個Form和一個代碼模塊的VB程序的例子:文件mymain.basSubmain()LoadForm1‘裝入Form1,Form_load會在此時被調(diào)用Form1.Show‘顯示它EndSub文件form1.fr
7、m:PrivateSubCommand1_Click()LoadForm2‘Form2.form_load會在此時被調(diào)用Form2.Show1‘Show1表示只要Form2在就不能點擊Form1EndSub使用unload窗體名語句來卸載一個窗體如果卸載的窗體是自己,那么可以用unloadme語句5.5VisualBasic的變量類型及變量定義VB中最基本的變量類型有:Integer16字節(jié)long32字節(jié)Byte8字節(jié)double8字節(jié)String字符串VB中,變量可以不聲明就直接使用。但強烈建議不要這么做。應該在每個Form文件
8、和每個代碼模塊文件的開頭加Optionexplict,告訴編譯器,我不希望允許變量沒聲明就能使用.VB中的變量用dim語句定義DimnaslongDimfasdoubleDimszNameasstring,szIdasstringszName=“Mynameis”+szId.VB中的數(shù)組DimMyArray(20)aslong實際上該數(shù)組有21個元素,MyArray(0)–MyArray(20)訪問數(shù)組元素:MyArray(0)=1多維數(shù)組DimMatrix(10,10)AsLongMatrix(0,0)=1字符串數(shù)組DimStri
9、ngArray(10)asstringStringArray(0)=“This”.動態(tài)數(shù)組DimMyArray()aslongRedimMyArray(30)‘動態(tài)分配空間MyArray(2)=1‘使用RedimMyArray(50)