![VB6.0圖文實(shí)例教程_第1頁](http://file4.renrendoc.com/view/6e9f0598837b33340820d68486dfab43/6e9f0598837b33340820d68486dfab431.gif)
![VB6.0圖文實(shí)例教程_第2頁](http://file4.renrendoc.com/view/6e9f0598837b33340820d68486dfab43/6e9f0598837b33340820d68486dfab432.gif)
![VB6.0圖文實(shí)例教程_第3頁](http://file4.renrendoc.com/view/6e9f0598837b33340820d68486dfab43/6e9f0598837b33340820d68486dfab433.gif)
![VB6.0圖文實(shí)例教程_第4頁](http://file4.renrendoc.com/view/6e9f0598837b33340820d68486dfab43/6e9f0598837b33340820d68486dfab434.gif)
![VB6.0圖文實(shí)例教程_第5頁](http://file4.renrendoc.com/view/6e9f0598837b33340820d68486dfab43/6e9f0598837b33340820d68486dfab435.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./VB教程:序言-不再游戲我們需要什么我們需要什么?當(dāng)我們?cè)谝粋€(gè)精彩的游戲世界中游歷了一番之后,或是驚嘆于某一工具軟件的小巧精致之余,多少總會(huì)產(chǎn)生些許編程的沖動(dòng)。編程嗎,在以前如果你對(duì)電腦還是一個(gè)門外漢,那實(shí)在是一件可望而不可及的事情。如果運(yùn)用基于DOS下的編程語言,譬如C、Qbasic、Pascal等等,真不知何年何月才能有所成就。編程是需要天賦的,你必須在大腦中對(duì)整個(gè)程序有一個(gè)清晰的輪廓,一個(gè)高效的流程,這并不是每個(gè)人都能做到的,你必須思之慎之,這也使編程變成一件最枯燥無味的事情。但在第四代計(jì)算機(jī)語言〔可視化編程出現(xiàn)后,可以確切的說它開發(fā)了人們的更多天賦,并不局限于那些頭腦異常清晰的人,每一個(gè)人都可以發(fā)現(xiàn)自己也可以編出一些從前不敢問津的程序,想象力的充分發(fā)揮才是第四代語言的精粹。VisualBasic〔以下簡(jiǎn)稱VB可以說是可視化語言的先驅(qū)了,而且它也是可視化程度最高的一個(gè),從幾年前VB誕生之日起到現(xiàn)在,它已經(jīng)經(jīng)歷了五個(gè)版本,而且現(xiàn)在微軟正在緊張的進(jìn)行著VB6.0的研制、測(cè)試,這么高的更新率,不外乎說明兩個(gè)問題:用戶對(duì)VB的熱衷,微軟對(duì)VB的重視。不可否認(rèn)微軟對(duì)市場(chǎng)的預(yù)測(cè)能力是極為高明的,而它強(qiáng)大的技術(shù)、財(cái)力支持也使它在許多以前未進(jìn)入的領(lǐng)域,在不長(zhǎng)的時(shí)間內(nèi)有成為最有力的競(jìng)爭(zhēng)對(duì)手,如IE之于瀏覽器領(lǐng)域,《帝國時(shí)代》之于游戲都是最好的例證。對(duì)于VB現(xiàn)在也有一個(gè)很強(qiáng)的競(jìng)爭(zhēng)對(duì)手――Delphi,有人把它稱作VB殺手,這顯然有偏激之處,VB的確有它的不足之處,但Delphi又何嘗不是呢,而且以微軟對(duì)VB的傾心,VB的功能必然會(huì)越來越強(qiáng)大。VB的誕生VB的出現(xiàn)可以說是MicrosoftWindows的日漸成熟的必然產(chǎn)物。MicrosoftWindows為程序員和最終用戶提供了一個(gè)共同的人機(jī)界面。對(duì)用戶,Windows提供了一個(gè)圖形鼠標(biāo)的操作環(huán)境,該環(huán)境對(duì)所有的應(yīng)用程序都一樣;對(duì)于程序員,Windows提供了一組預(yù)定義工具稱之為MicrosoftWindows的軟件開發(fā)工具箱〔SDK,該工具能使程序員建立一個(gè)與Windows界面相同的應(yīng)用程序,而且,程序員不必關(guān)心最終用戶的硬件配置情況。在這一開發(fā)環(huán)境中,程序員唯一困難的是MicrosoftSDK提供了六百多個(gè)函數(shù)和與其一致的事件驅(qū)動(dòng)〔event-driven編程技術(shù)。兩種新方法的交叉使眾多的程序員重新陷入困境,程序員不僅要掌握程序驅(qū)動(dòng)編程技術(shù)和六百多個(gè)函數(shù)的功能,而且還得用C語言描述這些問題。因此一般情況下,程序員首先要掌握C程序設(shè)計(jì)技術(shù),而后再開始學(xué)習(xí)SDK。這樣的條件下就要求在Microsoft多任務(wù)環(huán)境下出現(xiàn)一種操作方便,使用簡(jiǎn)單的新工具----VisualBasic由此誕生。何為可視英文Visual的意思是"視覺的","可視的Baisc"這個(gè)名字可能抽象了點(diǎn),但實(shí)際上它卻是最直觀的編程方法,之所以叫做"可視",你只要看到VB的界面就會(huì)明白,實(shí)際上你無需編程,就可以完成許多步驟。在VB中引入了控件的概念,在Windows中控件的身影無處不在,各種各樣的按鈕、文本框、無線鈕,都是控件的種類,VB把這些控件模式化,并且每個(gè)控件都有若干屬性用來控制控件的外觀,工作方法。這樣你就可以象在畫板上一樣,隨意點(diǎn)幾下鼠標(biāo),一個(gè)按鈕就完成了,這些在以前的編程語言下是要經(jīng)過相當(dāng)復(fù)雜的工作的。我的希望:我在學(xué)習(xí)VB的過程中也曾遇到了許多困難,而且用的參考書大都來自譯文,畢竟美國人和中國人的表達(dá)方式有所不同。這也造成了理解上的困難,所以我想為什么我不能寫一個(gè)給中國人看到VB教程呢,于是我這么做了。也曾經(jīng)在雜志上發(fā)表過幾篇用VB制作小程序的文章,但受雜志的限制〔篇幅、內(nèi)容等等〔我得聽小編的,總沒有一個(gè)機(jī)會(huì)系統(tǒng)的介紹一下VB,造成了小小的遺憾。不過,我自己的主頁建好后,終于這個(gè)愿望可以實(shí)現(xiàn)了,利用HTML可以方便的把文字與圖片結(jié)合起來,不失為一個(gè)教學(xué)良所,也希望能夠得到大家的支持。希望"VB教程"能給你我一個(gè)互相學(xué)習(xí)的機(jī)會(huì),如果你能從中獲益那將是我最大的快樂,那時(shí)你一定會(huì)發(fā)現(xiàn)編程比游戲有趣得多。:>VB教程:第一章-HelloWorld!
文章來源:vb大世界沒學(xué)過編程的人常常會(huì)問,編程難不難,這個(gè)問題很難回答。難,的確很難,要編一個(gè)好的程序尤其是這樣,并且有些程序還要用到一些其他專業(yè)的知識(shí),比如說一個(gè)圖形處理程序,就要對(duì)圖像的格式有所了解,甚至一些美術(shù)知識(shí);但編程也很容易,就拿VB來說,編一個(gè)自娛自樂的小工具還是一件相當(dāng)愜意的事情呢,當(dāng)然它沒法完全代替人工,譬如說完成你的家庭作業(yè)、向?qū)W校發(fā)射導(dǎo)彈……作為第四代計(jì)算機(jī)語言,VB的特點(diǎn)是顯而易見的。因?yàn)槭?可視的"所以我們不妨先看看VB的界面〔圖1_1〔我用的是VB4.032位版,很容易可以看到,屏幕上有五個(gè)窗口,〔1是菜單欄;〔2是工具箱〔ToolsBox,里面是VB所需的控件;〔3是VB程序要設(shè)計(jì)的窗體〔Form;〔4控件及窗體的屬性〔Properties,在VB中每一個(gè)控件都有其自己的屬性,比如文本框有Text屬性,而任何一個(gè)控件都有一個(gè)自己唯一的名字,這使得我們無需編程就可以完成部分編程的工作;〔5是VB的文件控制窗口,VB的每一個(gè)程序稱為一個(gè)項(xiàng)目〔Project,一個(gè)項(xiàng)目文件里往往包括以下兩種文件,窗體〔Form文件和模塊〔Bas文件,當(dāng)然還有Class文件,這些文件組成一個(gè)完整的程序,而項(xiàng)目文件〔Vbp則用來描述程序所包含的內(nèi)容。實(shí)際上,我一直認(rèn)為學(xué)習(xí)的最好方法就是實(shí)際操作一下,好,下面我們就來看一個(gè)最簡(jiǎn)單的程序,和所有的編程教科書一樣,我們把第一個(gè)程序稱為"Hello,world!"。首先,我們先來熟悉一下窗體。如果你用過Win95附件所帶的畫圖板的話,那么你一定會(huì)很快熟悉VB的窗體設(shè)計(jì)方法,用鼠標(biāo)單擊一下工具箱中的任何一個(gè)控件,然后在窗體上任意拖動(dòng)鼠標(biāo),你就會(huì)得到一個(gè)所需的控件;當(dāng)然還有其他的方法得到控件,你可以在工具箱上雙擊得到一個(gè)控件;或是按住Ctrl鍵,再單擊所需控件,重復(fù)第一次的步驟,你會(huì)發(fā)現(xiàn),不用再回去點(diǎn)擊工具箱了,點(diǎn)右鍵可以恢復(fù)鼠標(biāo)指針,這樣對(duì)于重復(fù)畫同一個(gè)控件尤其有用。對(duì)于我們的第一個(gè)小程序,知道這些就已經(jīng)足夠了。現(xiàn)在你可以在我們的窗體上畫如下控件一個(gè)圖片框〔PictureBox,用來顯示圖畫,每一個(gè)控件建立的時(shí)候,系統(tǒng)都會(huì)給它設(shè)一個(gè)默認(rèn)的名字<Name>,這個(gè)PictureBox的名字就叫做Picture1,為了方便起見,我們以后的控件都使用缺省的名稱。選定Picture1,在左邊的屬性窗口中找到Picture屬性,單擊會(huì)出現(xiàn),點(diǎn)擊為Picture1選一個(gè)圖像文件,VB支持的圖像文件有BitMap、WMF、ICO三種,微軟為用戶提供了一套圖標(biāo)文件,存放在VB目錄的Icons目錄下,選擇Icons\misc\face01.ico文件,這樣圖標(biāo)就被裝入了Picture1。再選擇Pictrue1的Autosize屬性,設(shè)為1-True,則會(huì)發(fā)現(xiàn)Picture1以變成和圖像一樣大了;把BorderStyle定為0-None,去掉圖片邊框。用同樣的方法再添加兩個(gè)圖片框:Picture2〔Picture:face02.ico,Picture3〔Picture:face03.ico。圖片框完成了,第二步,建立三個(gè)無線鈕〔OptionButton,由于它象收音機(jī)的無線電按鈕而得名,把它們的標(biāo)簽名屬性〔Caption分別定為"悲哀","高興","沒治了",放置成圖1_2的樣子。最后我們還需要三個(gè)文本框〔TextBox,分別把它們的Text屬性設(shè)為""〔空字符串,程序的最后界面如圖1_3,這樣按下菜單窗口的運(yùn)行按鈕,運(yùn)行一下程序,還可以吧,不過現(xiàn)在程序還無法工作,就算是VB也不能免俗,還必須輸入代碼才能使程序運(yùn)作。VB是一門典型的面向?qū)ο缶幊痰恼Z言,它的整個(gè)程序都是由事件驅(qū)動(dòng)的。那么,什么是事件呢?其實(shí),我們的生活中充滿了各式各樣的事件,比如說"闖紅燈"這個(gè)事件的發(fā)生會(huì)導(dǎo)致被警察追殺、走路撞到電線桿時(shí)會(huì)痛。上面的例子雖然有些滑稽,但它可以清楚的解釋事件的含義,就象你馬上就能體會(huì)到的在什么地方單擊鼠標(biāo)時(shí)會(huì)發(fā)生什么,按下鍵盤時(shí)會(huì)發(fā)生什么,這就是事件,而事件就是這么容易。要進(jìn)入VB的代碼設(shè)計(jì)區(qū),只需在需要的控件或窗體上雙擊鼠標(biāo)即可得到這樣的窗口。如圖1_4,每一個(gè)VB程序都由若干小程序組成,這使得用VB編程更加容易,這些小程序,分為"過程"〔Procedure和"函數(shù)"〔Function,二者都可以傳遞參數(shù),所不同的是函數(shù)有一個(gè)返回值,而過程沒有,僅此而已。雙擊窗體的任何一個(gè)部分,將出現(xiàn)一個(gè)空的過程:"Form_Load<>",這是一個(gè)非常重要的過程,它所驅(qū)動(dòng)的事件就是該窗體被加載的事件,打個(gè)比方,就象計(jì)算機(jī)啟動(dòng)時(shí)的批處理程序〔Autoexec.bat。這個(gè)程序里我們要對(duì)控件進(jìn)行一些設(shè)置。我們剛才也曾對(duì)控件進(jìn)行設(shè)置,但那是在程序設(shè)置中進(jìn)行的,有時(shí)我們也需要在程序中改變某些控件的屬性,通過程序代碼。VB中規(guī)定,一個(gè)控件屬性的訪問方法:名稱.屬性,于是我們對(duì)本程序的控件進(jìn)行如下設(shè)置:PrivateSubForm_Load<>Picture1.Visible=False
Picture2.Visible=False
Picture3.Visible=False
Text1.Visible=False
Text2.Visible=False
Text3.Visible=FalseEndSubPrivate表示此過程是局部的,Sub表示子過程的開始,與之相對(duì)的是EndSub表示過程的結(jié)束,Visible屬性表示控件的可見性,這個(gè)屬性的值有兩個(gè)True和False。注意:VB里對(duì)大小寫是不加區(qū)分的,而且,已定義的名稱,以后再用到時(shí),系統(tǒng)會(huì)自動(dòng)把它變成相應(yīng)的大寫或小寫。小知識(shí):1.VB里的對(duì)變量及常量的規(guī)矩。變量一般為Abc的格式,常量為ABC,另外這些變量和常量名不得同VB內(nèi)的關(guān)鍵字相同,也不可以使用一些特殊符號(hào),這些我們將在以后介紹,注意在學(xué)習(xí)中養(yǎng)成好習(xí)慣,使程序便于自己和別人的瀏覽。2.程序書寫的竅門:不要真的一句一句把程序打完,利用快捷鍵:拷貝Ctrl+C,剪切Ctrl+T,粘貼Ctrl+P。按下F5,運(yùn)行一下程序,現(xiàn)在發(fā)現(xiàn)只剩下無線鈕了。如圖1_5。PrivateSubForm_Load<>Picture1.Visible=False
Picture2.Visible=False
Picture3.Visible=False
Text1.Visible=False
Text2.Visible=False
Text3.Visible=False
Option4.Left=-2000
Option4.Value=TrueEndSubLeft屬性表示控件離窗體左邊框的距離,設(shè)置為-2000,則在窗體內(nèi)不會(huì)看到這個(gè)控件,并使之Value=True。再運(yùn)行程序,一切如愿,如圖1_6.注意:為什么不用Option4.Visible=False?因?yàn)?一旦設(shè)置無線鈕為不可見,那么再使它的Value為真是沒有意義的,不信自己試試。下面我們可以繼續(xù)進(jìn)行了。在剛才的代碼窗口里,將Object選擇為Option1,Proc選擇為Click,即得到一個(gè)Option1_Click的過程。代碼如下:PrivateSubOption1_Click<>Picture1.Visible=True
Picture2.Visible=False
Picture3.Visible=False
Text1.Visible=True
Text2.Visible=False
Text3.Visible=False
Text1.Text="再見,殘酷的世界。"EndSub相同的建立Option2_Click和Option2_Click:PrivateSubOption2_Click<>Picture2.Visible=True
Picture1.Visible=False
Picture3.Visible=False
Text2.Visible=True
Text1.Visible=False
Text3.Visible=False
Text2.Text="今天心情不錯(cuò)。"EndSubPrivateSubOption3_Click<>Picture3.Visible=True
Picture2.Visible=False
Picture1.Visible=False
Text3.Visible=True
Text2.Visible=False
Text1.Visible=False
Text3.Text="Hello,World。"EndSub好,我們的開山之作完成了!按下F5,玩一下吧。這個(gè)程序雖然簡(jiǎn)單,但也用到了許多基本知識(shí),你開始感興趣了嗎?^_^VB教程:第二章-事件、屬性及數(shù)據(jù)類型
文章來源:vb大世界以后兩章可能會(huì)比較枯燥,但不可否認(rèn)也很重要,所以為了學(xué)好VB,我們一定要打好基礎(chǔ)才行。一、事件通過上一章的例子,你可能對(duì)"面向?qū)ο蟮木幊?已經(jīng)有了一定了解,它是由事件驅(qū)動(dòng)的,對(duì)于不同的對(duì)象,所能感應(yīng)到的事件也會(huì)不同,譬如說當(dāng)你把鼠標(biāo)移進(jìn)某一區(qū)域時(shí)就會(huì)觸發(fā)MouseMove事件,這很直觀,也容易理解,但也有些事件比較抽象,下面我來對(duì)一般的事件進(jìn)行一下解釋。窗體和圖象框類事件Paint事件:當(dāng)某一對(duì)象在屏幕中被移動(dòng),改變尺寸或清除后,程序會(huì)自動(dòng)調(diào)用Paint事件。注意:當(dāng)對(duì)象的AutoDraw屬性為True〔-1時(shí),程序不會(huì)調(diào)用Paint事件。Resize事件:當(dāng)對(duì)象的大小改變時(shí)觸發(fā)Resize事件。Load事件:僅適用于窗體對(duì)象,當(dāng)窗體被裝載時(shí)運(yùn)行。Unload事件:僅適用于窗體對(duì)象,當(dāng)窗體被卸載時(shí)運(yùn)行。
2.當(dāng)前光標(biāo)〔Focus事件GotFocus事件:當(dāng)光標(biāo)聚焦于該對(duì)象時(shí)發(fā)生事件。LostFocus事件:當(dāng)光標(biāo)離開該對(duì)象時(shí)發(fā)生事件。注意:Focus英文為"焦點(diǎn)"、"聚焦"之意,最直觀的例子是,比如有兩個(gè)窗體,互相有一部分遮蓋,當(dāng)你點(diǎn)下面的窗體時(shí),它就會(huì)全部顯示出來,這時(shí)它處在被激活的狀態(tài),并且標(biāo)題條變成藍(lán)色,這就是GotFocus事件,而相反,另外一個(gè)窗體被遮蓋,并且標(biāo)題條變灰,稱為L(zhǎng)ostFocus事件。上面所說的"光標(biāo)"并非指鼠標(biāo)指針。
3.鼠標(biāo)操作事件Click事件:鼠標(biāo)單擊對(duì)象。DbClick事件:鼠標(biāo)雙擊事件。MouseDown、MouseUp屬性:按下/放開鼠標(biāo)鍵事件。MouseMove事件:鼠標(biāo)移動(dòng)事件。DragDrop事件:拖放事件,相當(dāng)于MouseDown、MouseMove和MouseUp的組合。DragOver事件:鼠標(biāo)在拖放過程中就會(huì)產(chǎn)生DragOver事件。
4.鍵盤操作屬性KeyDown、KeyUp事件:按鍵的按下/放開事件。KeyPress事件:按鍵事件。
5.改變控制項(xiàng)事件Change事件:當(dāng)對(duì)象的內(nèi)容發(fā)生改變時(shí),觸發(fā)Change事件。最典型的例子是文本框〔TextBox。DropDown事件:下彈事件,僅用于組合框〔ComboBox對(duì)象。PathChange事件:路徑改變事件,僅用于文件列表框〔FileBox對(duì)象。
6.其他事件Timer事件:僅用于計(jì)時(shí)器,每隔一段時(shí)間被觸發(fā)一次。二、屬性
每個(gè)對(duì)象都有它的屬性,并且"Name"屬性是共有的,有了"Name"屬性才可以在程序中進(jìn)行調(diào)用。對(duì)于屬性,可以在窗體的布局操作中完成,也可以在程序運(yùn)行中改變,這取決你的需要,但有些屬性是只讀的,它只能在控件布局時(shí)改變。我將在以后的實(shí)例中具體介紹各個(gè)屬性的作用。三、數(shù)據(jù)類型學(xué)過編程的人都知道大多數(shù)的計(jì)算機(jī)語言都規(guī)定了各自的數(shù)據(jù)類型,VB也不例外。其實(shí),在一個(gè)最簡(jiǎn)單的程序中數(shù)據(jù)類型是可以不作規(guī)定的,也就是說,變量可以使用各種類型,但是在一個(gè)復(fù)雜的程序里,這樣做就很危險(xiǎn),因?yàn)楹芸赡芙o同一個(gè)變量賦予了不同的類型,而導(dǎo)致程序出錯(cuò)。所以,為了程序的嚴(yán)謹(jǐn)和便于查看,正確的定義數(shù)據(jù)類型是必要的。定義數(shù)據(jù)的另一個(gè)原因是,不同的數(shù)據(jù)占用不同的內(nèi)存數(shù)量,譬如整型〔Interger數(shù)據(jù)占2字節(jié),而長(zhǎng)整型數(shù)據(jù)占4個(gè)字節(jié),定義合適的數(shù)據(jù)類型,不管你相信不相信,它可以節(jié)省內(nèi)存!VB常用的數(shù)據(jù)類型有:整型〔Integer,表示-32768至32767之間的整數(shù)、長(zhǎng)整型〔Long,表示-2,147,483,648至2,147,483,647之間的整數(shù)、實(shí)型〔Single,表示-3.37E+38至3.37E+38之間的實(shí)數(shù)、雙精度實(shí)型〔Double,表示-1.67E+308至1.67E+308之間的實(shí)數(shù),字符〔String,每個(gè)字符占一字節(jié),可以儲(chǔ)存0~65,535個(gè)字符,布爾〔Boolean,只有兩個(gè)值True/-1,或False/0。數(shù)據(jù)類型的定義方法:定義變量最簡(jiǎn)單的方法是用"Dim"關(guān)鍵字,它的語法:Dim[變量名]As[數(shù)據(jù)類型]如:DimIndexAsInteger也可以在一行中定義多個(gè)變量,如:DimIndexAsInteger,DimNumberAsLong把多個(gè)變量定義成同一類型可以寫成:DimIndex,NumberAsInteger有時(shí)為了簡(jiǎn)便,也以符號(hào)進(jìn)行簡(jiǎn)單的定義,作用是和上面一樣的。整型可以用"%"代替,長(zhǎng)整型可以用"&"代替,實(shí)型可以用"!",雙精度實(shí)型可以用"#"定義,如剛才的第一個(gè)例子可以寫成:DimIndex%等價(jià)于DimIndexAsInteger對(duì)于常量的定義用Const定義,如:ConstCOLOR=255。為了在程序中便于查閱,我們對(duì)變量和常量的寫法進(jìn)行規(guī)定,變量一般用小寫方式,常量則全部大寫。注意:使用常量的好處,對(duì)于程序中經(jīng)常出現(xiàn)的數(shù)值,應(yīng)設(shè)常量等于它,這樣一是書寫方便,其二,如果要改變?cè)摂?shù)值,只需改變定義常量的語句值,而不需改變每個(gè)語句,提高了效率。數(shù)組的定義類似于變量定義,所不同的是數(shù)組需要指定數(shù)組中的元素個(gè)數(shù),例如:DimIntegerArray<99>AsInteger這個(gè)數(shù)組中包含100個(gè)元素,腳標(biāo)從0到99。也可以指定腳標(biāo)的起始值,例如:DimIntegerArray<2to10>AsInteger這個(gè)數(shù)組含有九個(gè)元素,腳標(biāo)從2到10。還可以定義多維數(shù)組:DimThreeD<4,2to5,3to6>AsInteger上例定義了一個(gè)三維數(shù)組<4×4×4>。記錄的定義記錄定義是把控制權(quán)交給用戶的方法,它讓用戶可以定義自己的數(shù)據(jù)類型,它使用關(guān)鍵字"Type",方法是:Type[數(shù)據(jù)類型標(biāo)識(shí)符]<域名>As<數(shù)據(jù)類型>
<域名>As<數(shù)據(jù)類型>
<域名>As<數(shù)據(jù)類型>
…………EndType例如,定義一個(gè)地址數(shù)據(jù):TypeAddressStreetAsString
ZipCodeAsString
PhoneAsStringEndType這個(gè)地址數(shù)據(jù)里包括三個(gè)屬性,街區(qū)、郵政編碼和電話,可以把某數(shù)據(jù)定義成此類型:DimMyHomeAsAddress要調(diào)用或改變"MyHome"的值時(shí),類似于對(duì)對(duì)象的屬性的操作:變量名.域名="……"為了簡(jiǎn)化書寫重復(fù)的部分,可以用關(guān)鍵字"With":WithMyHome.Street="阜成路"
.ZipCode="100037”
.Phone="EndWithVB教程:第三章-VB語言
文章來源:vb大世界一、VB與BasicVB之所以叫做"VisualBasic"就是因?yàn)樗褂昧薆asic語言作為代碼,所以它們之間有著千絲萬縷的關(guān)系,如果學(xué)過Basic的話,看到VB的程序結(jié)構(gòu)會(huì)感到很親切。但VB作為新生物,也超越了Basic的限制,有了許多自己的特點(diǎn):VB建立了一種新的變量類型――貨幣型變量,通過使用僅帶有二位小數(shù)的貨幣變量,就能避免因使用實(shí)型變量而帶來的數(shù)值積累誤差問題。VB在調(diào)用函數(shù)〔Function時(shí),必須在函數(shù)名后跟一對(duì)括號(hào)。VB對(duì)白蘭地使用范圍重新做了規(guī)范,在Basic里把隱含變量都當(dāng)作全局變量,而在VB里對(duì)隱含變量都當(dāng)作局部變量。VB里的說明語句〔Declare,僅支持動(dòng)態(tài)鏈結(jié)庫〔DLL的子程序和無變量函數(shù)。使用數(shù)組,必須事先用Dim或Redim進(jìn)行定義。二、注釋語句在使用注釋語句之前必須先了解注釋的作用,注釋不僅僅是對(duì)程序的解釋,有時(shí)它對(duì)于程序的調(diào)試也非常有用,譬如說可以利用注釋屏蔽一條語句以觀察變化,發(fā)現(xiàn)問題和錯(cuò)誤。以后注釋語句將是我們?cè)诰幊汤镒罱?jīng)常用到的語句之一。在VB里,注釋語句有兩種,一種是用"Rem"關(guān)鍵字,這跟DOS里的批處理文件的用法一樣,還有一種是利用單引號(hào)"’",例如:‘DimaAsString與RemDimaAsString的作用是一致的。三、長(zhǎng)語句的分行在比較早的版本中,因?yàn)闆]有象C等語言用";"隔開語句與語句,VB的語句是必須寫在一行里的,不過后來版本的VB里如許用分行符"_"把一個(gè)長(zhǎng)語句分成若干行來存放。四、條件語句如果你學(xué)過任何一種編程的話,都會(huì)知道在程序里控制其流程的有兩種語句,條件與循環(huán),VB自然也不例外,其實(shí)不管哪種語言,條件和循環(huán)的樣子都差不多,只不過各有各的規(guī)矩罷了。在條件語句里,我們先來學(xué)習(xí)"If……Then……"語句。它的一般語法是:If<條件>Then<語句>
<語句>………EndIf與C語言不同,VB的條件語句更符合英語的語法,如果Then后面所跟的語句只有一條,可以寫成:If<條件>Then<語句>而不用EndIf。有時(shí)我們還會(huì)用到If<條件>Then
<語句>Else
<語句>EndIf更可以在Else里在嵌套If語句,如:If<條件>Then
<語句>ElseIf
<語句>Else
<語句>EndIf所有這些可以用一個(gè)表格表示:條件1TrueFalse語句1條件2TrueFalse語句2條件3TrueFalse………………條件NTrueFalse語句N語句N+1用了過多的Else后你會(huì)感到很不方便,而且程序結(jié)構(gòu)也不清晰,所以大多數(shù)的語言還有Select語句幫助解決這個(gè)問題。VB里的Select語句的格式是這樣的:SelectCase<變量名>Case<情況1>
……Case<情況2>
……Case<情況3>
……
……
……CaseElse
……EndSelect例如:SelectCasea%Case1
Print"a=1”
Case2
Print"a=2”
CaseElse
EndSelect五、循環(huán)語句循環(huán)結(jié)構(gòu)是計(jì)算機(jī)語言里一種重要的結(jié)構(gòu),它的應(yīng)用廣泛,最簡(jiǎn)單的例子是累加器的作用,還可以用于窮舉法,更直觀的例子是把某件事重復(fù)指定的次數(shù),這樣就不用把要重復(fù)的語句輸入多次,而通過循環(huán)結(jié)構(gòu)完成,非常方便。C語言里有一個(gè)"for"循環(huán)語句,VB里也有"For"關(guān)鍵字,作用也差不多,只是VB的"For"語句更容易理解。它的格式是:For<循環(huán)變量>=<初賦值>To<終值>[Step<步長(zhǎng)>]…………Next<循環(huán)變量>在默認(rèn)情況下,Step被設(shè)為"1",可以省略,Step也可以設(shè)為負(fù)值,例如:Dima=0ForI=1To10a=a+INextI這是一個(gè)最簡(jiǎn)單的累加器的例子,把1到10累加在一起,然后賦值給"a"這樣的效果和上面是一樣的,只不過是倒著加罷了,請(qǐng)看:Dima=0ForI=10To1Step–1a=a+INextIWhile語句也是一個(gè)很常用的循環(huán)語句,它的形式很多。DoWhile……Loop語句While……Wend語句Do……LoopWhileWhile后面都跟邏輯條件判斷,"DoWhile……Loop語句"和"While……Wend語句"作用相似,都是先判斷While后面的條件是否為"真",如果為"真"則執(zhí)行里面的語句,如果為"假",則退出循環(huán),循環(huán)直至條件為"假"終止。"Do……LoopWhile"與前兩者的區(qū)別在于,它不管條件的真假,都會(huì)先執(zhí)行"Do"后面的語句,也就是說,它至少執(zhí)行語句一次。與While用法相似的還有Until語句,它是直至條件為真則終止循環(huán),句式把While上述三個(gè)語句的While換成Until即可,但是因?yàn)槿菀子浕?所以我建議只用While即可。Until<條件>可以相當(dāng)于WhileNot<條件>。For循環(huán)和Whlie循環(huán)應(yīng)當(dāng)根據(jù)適當(dāng)?shù)沫h(huán)境使用,它們有時(shí)也可替換。六、運(yùn)算操作數(shù)學(xué)運(yùn)算+:加法運(yùn)算,也適合于字符串的之間的合并運(yùn)算。-:加法運(yùn)算。*:乘法運(yùn)算。/:除法運(yùn)算。\:整除運(yùn)算。Mod:求余運(yùn)算。例如:aModb表示a被b整除以后的余數(shù)。^:冪運(yùn)算。A^B表示以A為底的B次方。關(guān)系運(yùn)算關(guān)系運(yùn)算也稱比較運(yùn)算,它表示不等式的真或假,VB共提供六種運(yùn)算符,分別是=〔等于,>〔大于,<〔小于,>=〔大于等于,<=〔小于等于和<>〔不等于。邏輯運(yùn)算邏輯運(yùn)算是對(duì)真或假的運(yùn)算,我將列表說明:ABNotA非And與Or或Xor異或Eqv相等Imp蘊(yùn)含TTFTTFTTTFFFTTFFFTTFTTFTFFTFFFTTT――TrueF――False七、數(shù)據(jù)與定義本標(biāo)題的內(nèi)容已經(jīng)在上一章向大家詳述過,在這里就不再重復(fù)。八、函數(shù)與過程函數(shù)與過程有許多相似的地方,它們之間最大也是最本質(zhì)的區(qū)別就在于,函數(shù)有一個(gè)返回值,而過程只是執(zhí)行一系列動(dòng)作,所以可以簡(jiǎn)單的把函數(shù)理解成為一個(gè)變量,而VB中的每個(gè)事件都是一個(gè)過程,比如Command1_Click<>就是一個(gè)過程。因?yàn)樵诔绦蛟O(shè)計(jì)中經(jīng)常會(huì)有重復(fù)的地方,所以把它做成一個(gè)函數(shù)或一個(gè)過程,在使用時(shí)進(jìn)行調(diào)用,可以節(jié)省大量的輸入代碼的時(shí)間,而且使用函數(shù)和過程也便于程序的結(jié)構(gòu)化和修改查看。函數(shù)和過程都可以有參數(shù),也可以沒有參數(shù)。關(guān)于函數(shù)和過程我將在以后的章中配合實(shí)例講解,請(qǐng)您繼續(xù)留意VB教程。VB教程:第四章-按鈕
文章來源:vb大世界從本章開始我們將正式進(jìn)入VB的編程世界,但這還僅僅是個(gè)開端,要編出功能強(qiáng)大的軟件,還要學(xué)很多東西,那就要看以后的VB高級(jí)教程了,我也得努力學(xué)??!按鈕是我們?cè)赪indows操作見到最多的控件,它們有著各種各樣的功能:"確認(rèn)"、"取消"、"下一步"等等,這些都是按鈕的表現(xiàn),另外還有很多圖形話的按鈕,其實(shí)它們并沒什么不同,所有的按鈕都是通過單擊〔click事件實(shí)現(xiàn)的,只不過是在外表不同罷了。下面就讓我們建立一個(gè)最簡(jiǎn)單的按鈕,雙擊工具箱的CommandButton,將在窗體上建立一個(gè)形如圖4-1的按鈕,它的缺省名〔Name屬性為Command1,我們可以把它改名為cmdExit,把Caption屬性設(shè)為"退出",然后雙擊,按鈕填寫代碼:PrivateSubcmdExit_Click<>UnloadMeEndSub按下F5或者工具條上的播放按鈕,運(yùn)行程序。圖4-2當(dāng)你按下退出按鈕的時(shí)候,就會(huì)自動(dòng)退出程序,原因是當(dāng)你單擊按鈕時(shí)激活了它的Click事件,執(zhí)行"UnloadMe"語句,使得窗體被卸載。上面舉了一個(gè)比較簡(jiǎn)單的例子,下面的例子稍微復(fù)雜些:新建窗體,控件布局如圖4-3所示,包括一個(gè)List控件,一個(gè)Text控件和兩個(gè)按鈕〔Command1和Command2,〔比較簡(jiǎn)單的程序我們都采用缺省名,對(duì)它們屬性做如下修改:List1Caption="請(qǐng)輸入你的名字"Text1Text=""〔空字符串>Button1Caption="復(fù)原"Enabled=FalseButton2Caption="清除"把使用Button1的Enabled屬性設(shè)為False〔假,是使程序在初始時(shí),無法單擊Command1。按F5,運(yùn)行程序,圖4-4,復(fù)原按鈕成為灰色,不可選。當(dāng)然現(xiàn)在程序還什么也不能做,下面我們?cè)诔绦蛑刑砑哟a:首先在General里聲明全局變量:DimStoreStringAsString'用來儲(chǔ)存字符串※注意:為什么用全局變量?VB里每一個(gè)小過程都相當(dāng)于一個(gè)程序,程序里的變量稱為局部變量,是只能在程序內(nèi)部使用的,而當(dāng)程序調(diào)用結(jié)束后,由于從內(nèi)存中被清除,所以變量?jī)?chǔ)存的值也就消失了,這里的全局變量是用來在過程中傳遞字符串。接著填寫以下代碼:PrivateSubCommand1_Click<>Text1.Text=StoreString
Command1.Enabled=FalseEndSubPrivateSubCommand2_Click<>StoreString=Text1.Text
Text1.Text=""'清除
Command1.Enabled=TrueEndSub運(yùn)行程序,如圖4-5。按下"清除",文本框被清除,按下"復(fù)原",文本有被恢復(fù),許多程序中的Undo/Redo就是利用這個(gè)原理實(shí)現(xiàn)的,現(xiàn)在知道為什么內(nèi)存越多越好了吧。我們?cè)诎殉绦蛐薷囊幌?把Button2刪除,Button1的Enabled屬性改為True,Caption改為"清除",填寫代碼:PrivateSubCommand1_Click<>IfCommand1.Caption="清除"ThenStoreString=Text1.Text
Text1.Text=""'清除
Command1.Caption="復(fù)原"ElseText1.Text=StoreString
Command1.Caption="清除"EndIfEndSub同樣可以上面的功能,但是卻少用了一個(gè)控件,控件使用少的程序啟動(dòng)會(huì)快些。下面的例子要更加復(fù)雜些,大家一定都用過Windows附件中的計(jì)算器,它是一個(gè)標(biāo)準(zhǔn)的科學(xué)計(jì)算器,利用VB我們也可以做到,只是沒有那么復(fù)雜,四則運(yùn)算而已。先建立一個(gè)新的項(xiàng)目文件,里面包含一個(gè)Form1的窗體。然后,添加控件,包括一個(gè)Text框〔Text1,和17個(gè)按鈕,這17個(gè)按鈕使用的名稱都是Command1,只是Index屬性不同,就好象一個(gè)數(shù)組,創(chuàng)立一組按鈕的方法是,先在窗體上建立一個(gè)按鈕〔Command1,然后在Command1上擊鼠標(biāo)右鍵,選擇復(fù)制〔Copy,然后在窗體上任意部位擊右鍵,選擇粘貼〔Paste,系統(tǒng)會(huì)提示是否創(chuàng)建控件組,選擇"是",重復(fù)上面步驟,直至創(chuàng)立17個(gè)按鈕為止。各控件屬性如下表:Text1BackColor=&H00C0FFFF&Text="0."Command1Index0――16Index0――9Caption="0”-"9Index11Caption="="Index12Caption="+"Index13Caption="-"Index14Caption="×"Index15Caption="÷"Index16Caption="清除"如果想改變一些其他的屬性,比如字體,可以自己定義一下Font屬性,如果相對(duì)多個(gè)控件的共同屬性進(jìn)行改變,可以在窗體上按下鼠標(biāo),拖動(dòng),把多個(gè)控件一起選定,然后對(duì)它們的共同屬性進(jìn)行修改。別看這個(gè)東西小,還費(fèi)了近我兩個(gè)小時(shí)呢,不覺大嘆手生,里面也有些地方很繞彎子,我盡量解釋清楚。在編寫程序之前,我們先來回顧一下計(jì)算器的使用。按下數(shù)字鍵在液晶屏上會(huì)出現(xiàn)數(shù)字,這是最基本的功能。第一次按下運(yùn)算鍵,再按下數(shù)字鍵,將重新輸入第二個(gè)數(shù)字,再次按下運(yùn)算鍵,將算出前兩個(gè)數(shù)的結(jié)果,然后按下數(shù)字鍵,將又重新輸入新的數(shù)字。輸入數(shù)字后,按下"等于鍵"將仍輸出原來的數(shù)字,輸入運(yùn)算符和第二個(gè)數(shù)字后在按下"等于",將得到二者的結(jié)果。然后又重復(fù)第二、三步。按下"清除",數(shù)據(jù)被全部清除。了解了這些,我們一步一步實(shí)現(xiàn)。先實(shí)現(xiàn)數(shù)據(jù)的輸入,請(qǐng)看代碼。與未創(chuàng)立組的控件相比,它的事件里多了Index參數(shù),組里所有的對(duì)象都使用同一個(gè)事件。先在General里聲明窗體級(jí)全局變量:DimNum1,Num2AsSingle
DimStrNum1,StrNum2AsString
DimFirstNumAsBoolean'判斷是否是數(shù)字開頭因?yàn)門ext1里是存放字符串的,所以要把輸入的數(shù)據(jù)進(jìn)行運(yùn)算,必須把字符型變量轉(zhuǎn)變?yōu)閷?shí)型變量,分別用Num1、Num2和StrNum1、StrNum2進(jìn)行存放。在Form_Load事件里給變量初賦值:Num1=0
Num2=0
StrNum1=""
StrNum2=""
FirstNum=True因?yàn)?7個(gè)按鈕使用的是同一事件,所以我們用一個(gè)SelectCase語句區(qū)分各個(gè)按鈕,雙擊任意按鈕輸入代碼:PrivateSubCommand1_Click<IndexAsInteger>SelectCaseIndexCase0To9IfFirstNumThenStrNum1=Str<Index>’實(shí)型轉(zhuǎn)字符型FirstNum=False’初賦值為假Else’非初賦值StrNum1=StrNum1+Str<Index>EndIfText1.Text=StrNum1’<還有其他語句,等待插入>EndSelectEndSub運(yùn)行程序的話已經(jīng)可以輸入數(shù)據(jù),下面我們來處理小數(shù)點(diǎn)。在General里聲明新的變量:DimPointFlagAsBoolean'判斷是否已有小數(shù)點(diǎn)我們知道小數(shù)點(diǎn)只能輸入一次,一個(gè)數(shù)據(jù)中不能有多個(gè)小數(shù)點(diǎn)存在,所以需要一個(gè)布爾變量做判斷。在Form_Load里進(jìn)行初賦值:PointFlag=False在Command的單擊事件里接著上面輸入新的代碼:Case10IfNotPointFlagThen’如果沒有小數(shù)點(diǎn)IfFirstNumThen’如果是第一個(gè)字符StrNum1="0."
FirstNum=FalseElseStrNum1=StrNum1+"."EndIfElse’已有小數(shù)點(diǎn)ExitSub’則退出單擊事件EndIfPointFlag=True
Text1.Text=StrNum1下面會(huì)復(fù)雜一些,我們先跳過等號(hào),而來處理四則運(yùn)算:先在General里聲明新變量:DimRunsignAsInteger'儲(chǔ)存運(yùn)算符號(hào)DimSignFlagAsBoolean'判斷是否已有運(yùn)算符號(hào)然后在Form_Load中進(jìn)行初賦值:Runsign=0SignFlag=False在接下的Command1_Click中繼續(xù)輸入代碼:Case12To15FirstNum=True’使下一次可以輸入新數(shù)據(jù)PointFlag=False
'還原標(biāo)記值IfSignFlagThen’前面已有運(yùn)算符未運(yùn)算CallRunElseSignFlag=True
StrNum2=StrNum1’把字符串1復(fù)制給字符串2StrNum1=""’EndIfRunsign=Index-11‘儲(chǔ)存鍵入的運(yùn)算符里面運(yùn)算的部分我用了一個(gè)過程,是因?yàn)樵诎聪碌忍?hào)時(shí)還會(huì)調(diào)用到運(yùn)算過程,這樣可以減少代碼的輸入,也使程序便于瀏覽。建立過程〔Procedure,可以在General部分直接輸入,也可以通過菜單里的"AddProcedure"添加。Run的代碼如下:SubRun<>Num1=Val<StrNum2>
Num2=Val<StrNum1>SelectCaseRunsignCase1’equal=Num1+Num2Case2’equal=Num1-Num2Case3’equal=Num1*Num2Case4’equal=Num1/Num2EndSelectStrNum2=Str<equal>
StrNum1=StrNum2
Text1.Text=StrNum2EndSub下面是其余的代碼:〔在Command1_Click事件里,接著寫>Case11IfNotSignFlagThenText1.Text=StrNum1
equal=Val<StrNum1>
FirstNum=True
PointFlag=FalseElseCallRun
SignFlag=FalseEndIfCaseElse’清除按鈕CallClearData里面又用到了一個(gè)ClearData過程,實(shí)際上就是Form_Load里的變量初賦值,代碼如下:SubClearData<>Num1=0
Num2=0
StrNum1=""
StrNum2=""
FirstNum=True
PointFlag=False
Runsign=0
SignFlag=False
Text1.Text="0."EndSub這樣完整的程序就完成了,本章介紹了VB的第一個(gè)控件――按鈕,并且舉例,希望你繼續(xù)看下一章――菜單。下面給出完整的程序代碼:DimNum1,Num2AsSingleDimStrNum1,StrNum2AsStringDimFirstNumAsBoolean'判斷是否是數(shù)字開頭DimPointFlagAsBoolean'判斷是否已有小數(shù)點(diǎn)DimRunsignAsInteger'儲(chǔ)存運(yùn)算符號(hào)DimSignFlagAsBoolean'判斷是否已有運(yùn)算符號(hào)SubClearData<>Num1=0Num2=0StrNum1=""StrNum2=""FirstNum=TruePointFlag=FalseRunsign=0SignFlag=FalseText1.Text="0."EndSubSubRun<>Num1=Val<StrNum2>Num2=Val<StrNum1>SelectCaseRunsignCase1equal=Num1+Num2Case2equal=Num1-Num2Case3equal=Num1*Num2Case4equal=Num1/Num2EndSelectStrNum2=Str<equal>StrNum1=StrNum2Text1.Text=StrNum2EndSubPrivateSubabout_Click<>MsgBox"Createby周曉陽。1998/7/27",vbDefaultButton1,"VB教程第四章范例"EndSubPrivateSubCommand1_Click<IndexAsInteger>SelectCaseIndexCase0To9IfFirstNumThenStrNum1=Str<Index>FirstNum=FalseElseStrNum1=StrNum1+Str<Index>EndIfText1.Text=StrNum1Case10IfNotPointFlagThenIfFirstNumThenStrNum1="0."FirstNum=FalseElseStrNum1=StrNum1+"."EndIfElseExitSubEndIfPointFlag=TrueText1.Text=StrNum1Case12To15FirstNum=TruePointFlag=False'還原標(biāo)記值IfSignFlagThenCallRunElseSignFlag=TrueStrNum2=StrNum1StrNum1=""EndIfRunsign=Index-11Case11IfNotSignFlagThenText1.Text=StrNum1equal=Val<StrNum1>FirstNum=TruePointFlag=FalseElseCallRunSignFlag=FalseEndIfCaseElseCallClearDataEndSelectEndSubPrivateSubForm_Load<>CallClearDataEndSub按鈕還有兩個(gè)重要的屬性Default〔默認(rèn)屬性和Cancel〔取消屬性,兩個(gè)屬性都以布爾賦值,把Default設(shè)為True,則在按下回車鍵時(shí),不論焦點(diǎn)處于何處,都會(huì)觸發(fā)該按鈕的Click事件,而當(dāng)Cancel屬性被設(shè)為True,在按下ESC鍵時(shí),該按鈕的Click屬性發(fā)生。下面舉個(gè)例子:建立一個(gè)新窗體和兩個(gè)按鈕,Name屬性分別為cmdOK和cmdCancel,把前者的Default設(shè)為True,后者的Cancel設(shè)為True,Caption屬性分別為OK和Cancel。如圖4-8。填寫代碼后運(yùn)行:PrivateSubcmdCancel_Click<>MsgBox"Cancel按鈕被按下",vbDefaultButton1,"提示"EndSubPrivateSubcmdOK_Click<>MsgBox"OK按鈕被按下",vbDefaultButton1,"提示"EndSub結(jié)果如圖4-9、4-10:快捷鍵大家一定都知道,在VB如何實(shí)現(xiàn)呢。其實(shí)很簡(jiǎn)單,在剛才的例子里在建立一個(gè)按鈕Command1,把它的Caption屬性設(shè)為Click&ME,如圖4-11,在M的下面有一條下劃線,運(yùn)行程序,當(dāng)你按下Alt+M的時(shí)候就觸發(fā)了Command1_Click事件:PrivateSubCommand1_Click<>MsgBox"ClickME按鈕被按下",vbDefaultButton1,"提示"EndSub據(jù)我所知,有許多用戶有使用快捷鍵的習(xí)慣,注意細(xì)節(jié)上的問題能夠使將來你的程序得到更多人的欣賞,不是嗎?VB教程:第五章-菜單
文章來源:vb大世界我們經(jīng)常在Windows操作里遇到各種各樣的菜單,菜單的操作把各種命令結(jié)構(gòu)化、分分類化,也節(jié)省了命令所占的空間,從作用上來講,菜單類似于按鈕,但它只有一個(gè)事件――Click。VB作為Windows下的可視編程工具,菜單的設(shè)計(jì)當(dāng)然很容易實(shí)現(xiàn),VB3.0按下Ctrl+M,VB4.0以上的版本請(qǐng)按下Ctrl+E,便可呼叫出菜設(shè)計(jì)的窗口,無論VB的版本,這個(gè)窗口的樣式是XX小異的,請(qǐng)見圖5-1。前面說過,菜單相當(dāng)于簡(jiǎn)單的按鈕,它有幾個(gè)屬性,其中的大部分我們都曾經(jīng)見過,包括Name、Caption、Index、Checked、Enabled、Visible、快捷鍵和熱鍵等等。其中Name是必須的。下面請(qǐng)跟我一起設(shè)計(jì)第一個(gè)菜單。首先在Caption添入"文件",Name為"mnuFile",按下Next按鈕,這樣就建立了第一級(jí)菜單,注意菜單設(shè)計(jì)窗口的左中有四個(gè)箭頭,按下向右的箭頭,出現(xiàn)了一排小點(diǎn),如圖5-2,在VB里這叫縮排,這樣就可以開始建立第二級(jí)菜單。小知識(shí):實(shí)際上我們?cè)谏罹椭薪?jīng)常用到縮排,寫文章時(shí)開頭要空兩格就是一種縮排,在編寫程序時(shí)更需要縮排,這樣使程序結(jié)構(gòu)化,便于觀察,當(dāng)然菜單設(shè)計(jì)里的縮排有更多的用處。接著填寫下一菜單項(xiàng),Caption為"新文件",Name為"mnuFileNew",按下Next鍵。小知識(shí):VB一共如許建立6級(jí)子菜單,如圖5-3,盡量不要建立這樣的菜單,要知道藏在越深處的菜單項(xiàng)越難以被人發(fā)現(xiàn),一個(gè)友好的程序界面應(yīng)該讓用戶馬上找到需要的命令。接著重復(fù)以上步驟,創(chuàng)建以下三個(gè)菜單項(xiàng):Caption保存NamemnuFileSaveLevel1Caption另存為NamemnuFileSaveAsLevel1Caption載入NamemnuFileLoadLevel1我們?cè)诓藛卫镞€經(jīng)常看到把不同項(xiàng)分開的分隔條,在VB里也很容易做到,把Caption設(shè)為"-"〔減號(hào),Name為mnuBar1。最后增加這個(gè)菜單條的最后一項(xiàng),Caption為"退出",Name為mnuFileExit?,F(xiàn)在可以退出菜單設(shè)計(jì)窗口,菜單如圖5-4。怎么樣,經(jīng)過幾章的學(xué)習(xí),是不是覺得Windows世界也不是那么神秘?也對(duì),也不對(duì)。的確,我們很輕易的實(shí)現(xiàn)了這么多的功能,但如果你仔細(xì)想想,我們的程序還什么也不會(huì)做呢!可以說是徒有其表,要實(shí)現(xiàn)強(qiáng)大的功能,恐怕要學(xué)很長(zhǎng)很長(zhǎng)時(shí)間,而現(xiàn)在僅僅是個(gè)開頭,并不是想入非非的時(shí)候,我們還要繼續(xù)努力!現(xiàn)在再次按下Ctrl+E,重回菜單設(shè)計(jì)窗口,接著添加菜單?!舶聪孪蜃蟮募^,可以使菜單上升一級(jí),Level代表菜單的級(jí)別,根據(jù)下表添加新的菜單項(xiàng):Caption編輯NamemnuEditLevel0Caption剪切NamemnuEditCutLevel1Short-CutCtrl+XCaption復(fù)制NamemnuEditCopyLevel1Short-CutCtrl+CCaption粘貼NamemnuEditPasteLevel1Short-CutCtrl+VCaption關(guān)于NamemnuAboutLevel0其中Short-Cut就是平常我們說的熱鍵,你可以在菜單設(shè)計(jì)窗口中找到,設(shè)置一個(gè)你需要的組合鍵,這樣不論窗口的焦點(diǎn)處于何處,菜單在第幾層,只要按下熱鍵,就相當(dāng)于調(diào)用了該項(xiàng)的Click事件。結(jié)果如圖5-5。從Win95以來程序里引入了鼠標(biāo)右鍵功能,使鼠標(biāo)有了更大的用處,在VB里我們也很容易實(shí)現(xiàn)。打開Form_MouseDown事件,該事件有兩個(gè)參數(shù):Button,當(dāng)按下左鍵時(shí)Button返回1,當(dāng)按下右鍵時(shí)Button返回2,;Shift,是指在點(diǎn)擊鼠標(biāo)時(shí)按下的鍵盤鍵,如Shift、Ctrl、Alt,這些我們將在以后討論,但很難避免在一章中不涉及到不該涉及的內(nèi)容,學(xué)習(xí)時(shí)有個(gè)大概的理解即可。下面在該事件里添加代碼〔效果如圖5-6:PrivateSubForm_MouseDown<ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle>IfButton=2ThenPopupMenumnuEdit,vbPopupMenuLeftAlignElseExitSubEndIfEndSub在上面的代碼中我們用到了PopupMenu方法,它的語法是:object.PopupMenu菜單名,標(biāo)記,X坐標(biāo),Y坐標(biāo)標(biāo)記是用來表明彈出菜單位于鼠標(biāo)指針位置的,它有三個(gè)值:vbPopupMenuLeftAlign位于鼠標(biāo)左vbPopupMenuRightAlign位于鼠標(biāo)右VbPopupMenuCenterAlign位于鼠標(biāo)中部X、Y值可以用來制定菜單彈出的位置,可以省略。關(guān)于菜單的Visible、Enabled等屬性請(qǐng)自己嘗試。第五章完VB教程:第六章〔1-輸入
文章來源:vb大世界我們?yōu)槭裁匆O(shè)計(jì)計(jì)算機(jī)程序呢,當(dāng)然是為了計(jì)算機(jī)能為我們完成工作,但是要完成不同的任務(wù),我們就必須對(duì)計(jì)算機(jī)下達(dá)命令,然后計(jì)算機(jī)在把信息返饋回來――任務(wù)是否完成。以上就是所謂的人機(jī)對(duì)話或交互功能,尤其是在Windows操作里我們需要進(jìn)行更多的輸入工作,我們需要填寫各種各樣的表格,設(shè)置程序的重要參數(shù),把數(shù)據(jù)輸入給計(jì)算機(jī),再又它完成既定的工作就是今天我們本章要重點(diǎn)討論的問題――在VB中如何建立完整的輸入機(jī)制。在VB中提供了一個(gè)函數(shù)InputBox能幫助我們建立一個(gè)最簡(jiǎn)單的輸入窗體,語法如下:InputBox〔prompt[,title][,default][,xpos][,ypos][,helpfile,context]該函數(shù)返回一個(gè)字符串表達(dá)式,其參數(shù)含義為:〔"[]"表示可缺省prompt――字符串表達(dá)式,最大長(zhǎng)度為1024字符,窗體上的提示部分。Title――字符串表達(dá)式,顯示標(biāo)題欄里的文本。Default――字符串表達(dá)式,窗體中文本框的缺省值。xpos,ypos――數(shù)值表達(dá)式,以Twips為單位指定窗體出現(xiàn)在屏幕上的位置。helpfile――字符串表達(dá)式,是幫助文件的完整路徑。Context――數(shù)值表達(dá)式,指定適合的幫助主題。可能你看了上面的說明并不明白,那么下面我們就用Input語句完成一個(gè)最簡(jiǎn)單的程序。小知識(shí):屏幕坐標(biāo)在計(jì)算機(jī)的屏幕上也有一個(gè)類似于我們?cè)谥袑W(xué)里常用到的直角坐標(biāo)系,之不過它的原點(diǎn)不在左下,而是在屏幕的右上角,屏幕的最右上方坐標(biāo)為〔0,0,它的橫坐標(biāo)和我們的習(xí)慣是一致的,而縱坐標(biāo)則是越向下越大,不僅是屏幕,所有的對(duì)象里都是一樣,需要記清。見圖6-1新建一個(gè)項(xiàng)目〔project,在Form_load里填寫一行代碼:a$=InputBox<"舉薦你最欣賞的網(wǎng)站","最佳網(wǎng)站投票","VB小驛">’不算無恥吧?:->按下F5運(yùn)行程序,在Form1出現(xiàn)之前先會(huì)彈出一個(gè)輸入對(duì)話框,如圖6-2。這時(shí),無論你按下OK還是Cancel都是沒有區(qū)別的,因?yàn)槲覀儾]有對(duì)輸入數(shù)據(jù)進(jìn)行處理,下面我們完成一個(gè)更加復(fù)雜些的程序。新建一個(gè)項(xiàng)目文件,把窗口布局成類似于圖6-3的結(jié)構(gòu),各對(duì)象屬性如下表:Form1Caption"最佳網(wǎng)站投票演示"BorderStyle3’ControlBox0’Frame1Caption"輸入框?qū)傩?Label1Autosize1’Index0至50至5Caption"提示語句""標(biāo)題""缺省網(wǎng)站""X坐標(biāo)""Y坐標(biāo)"""Index4EnabledFalseIndex4EnabledFalseText1Text""’〔空字符串Index0至4Index3Text0Index4Text0Check1Caption"指定輸入框位置"Button1Index0,1Index0Caption"顯示輸入框"1Caption"退出程序"本例中出現(xiàn)了一個(gè)Frame1控件,它是一種框架,可以用來把窗體分成好幾個(gè)部分,首先應(yīng)該在窗體上畫出Frame1控件,然后再選擇相應(yīng)的控件,在Frame1上描出輪廓,使其是出現(xiàn)在Frame1之上,本例中除去兩個(gè)按鈕,其余都在Frame1上面。本例中用到了幾組控件數(shù)組,其創(chuàng)建方法是,在選定的點(diǎn)右鍵,選擇Copy,再在窗體其他部位單擊右鍵,選擇Paste即可,注意,若要使粘貼的對(duì)象在Frame1上,請(qǐng)?jiān)贔rame1上單擊右鍵選擇Paste。我們通過這個(gè)窗體,對(duì)輸入框進(jìn)行完整的控制,原理是這樣的:當(dāng)我們把窗體中要填寫的對(duì)輸入框的參數(shù)完成后按下OK按鈕,就會(huì)出現(xiàn)我們?cè)O(shè)計(jì)的那個(gè)輸入框,我們從輸入框退出時(shí)則返回我們投票的結(jié)果,代碼如下.窗體初次被裝入時(shí),Label1<3>、Label<4>和Text1<3>、Text1<4>的Enabled屬性都是False,我們需要通過改變Check1的Value〔1,被選中,0,未選中是他們有效或無效。聲明全局變量〔General:DimPosChkAsBoolean'檢查X、Y坐標(biāo)是否有效Check1_Click事件:PrivateSubCheck1_Click<>IfCheck1.Value=1ThenLabel1<3>.Enabled=TrueLabel1<4>.Enabled=TrueText1<3>.Enabled=TrueText1<4>.Enabled=TruePosChk=TrueElseLabel1<3>.Enabled=FalseLabel1<4>.Enabled=FalseText1<3>.Enabled=FalseText1<4>.Enabled=FalsePosChk=FalseEndIfEndSub接著在按鈕中填寫代碼:PrivateSubCommand1_Click<IndexAsInteger>DimPrompt,Title,DefaultAsStringDimxPos,yPosAsIntegerSelectCaseIndexCase0Prompt=Text1<0>.TextTitle=Text1<1>.TextDefault=Text1<2>.TextIfPosChkThenxPos=Val<Text1<3>.Text>yPos=Val<Text1<4>.Text>a$=InputBox<Prompt,Title,Default,xPos,yPos>Elsea$=InputBox<Prompt,Title,Default,xPos,yPos>EndIfLabel1<5>.Caption="謝謝您的投票,您的選擇是"&a$&"!"Case1UnloadMeEndSelectEndSub按下F5運(yùn)行程序,你會(huì)看到這樣的結(jié)果。圖6-4,6-5。是不是有種受騙的感覺,啊喲喲,可不是我的錯(cuò),就是這么容易嘛!從剛才的例子里,我們接觸了一些VB中的輸入方法,其實(shí)數(shù)據(jù)輸入不僅僅局限于向Text框中輸入數(shù)據(jù),數(shù)據(jù)的輸入還有許多其他的方法,譬如前面的Check1也是向程序發(fā)出一定的信息,只要是通過操作向計(jì)算機(jī)發(fā)布命令就可以叫做輸入,下面我們來一一介紹。首先要介紹的當(dāng)然是輸入用到最多的Text框。Text沒有Click事件,它的缺省事件是Change,也就是當(dāng)Text框里的一旦內(nèi)容改變就會(huì)激發(fā)該事件發(fā)生,還是讓我們用實(shí)例說話吧。Text有幾個(gè)特殊的屬性,一是MultiLine〔多行屬性,MultiLine屬性為False的時(shí)候,不論文本有多長(zhǎng),它都會(huì)在一行里顯示下去,換行符無效,當(dāng)它為True的時(shí)候,字符串顯示到Text框邊緣的時(shí)候就會(huì)自動(dòng)換行。另一個(gè)與之配合的屬性是ScrollBars屬性,它有4個(gè)值,0到3,分別是沒有滾動(dòng)條,水平滾動(dòng)條,垂直滾動(dòng)條,和二者都有,它是一個(gè)只讀屬性,也就是說只有在程序設(shè)計(jì)過程中才能改變,而不能在程序運(yùn)行中改變,但是我們可以通過API解決運(yùn)行中改變的問題,我們放在以后再講。PasswordChart屬性,我們經(jīng)常在程序操作中遇到要填寫密碼的部分,為了保密起見,在屏幕上顯示的字符一般"*"表示,并且這時(shí)是無法用剪貼板的,這在VB中非常容易做到,把PasswordChart中設(shè)一個(gè)用來代替字符串的字符即可,并不一定是"*"哦。下面我們完成一個(gè)有趣的小程序,是我以前遇到過的一個(gè)程序,我對(duì)其進(jìn)行了部分修改。程序的意思是這樣的,假設(shè)你是一個(gè)司機(jī)應(yīng)超速被警察扣留,現(xiàn)在需要你向警察陳述你的理由,如果你的話能打動(dòng)他,就可以免交罰金,如果你在規(guī)定的字?jǐn)?shù)里沒有說出什么有震撼力的話,那老兄你可就慘了,交錢吧。J這個(gè)程序比原來的英文程序有了幾點(diǎn)不同,第一,由于用到的是雙字節(jié)中文的中文,所以對(duì)于檢測(cè)中文字符和英文有很大不同,第二,原來的英文程序不管你說多少,警察依然是依法從事,本例中給了犯規(guī)者10%的免罰機(jī)會(huì)〔有點(diǎn)無聊……L,不過也是為了學(xué)一些東東嘛。下面就跟我來設(shè)計(jì)窗體吧?!踩鐖D6-6Form1IconStop圖標(biāo)Caption停車檢查BorderStyle3Label1Caption警官,我超速是有原因的,請(qǐng)聽我說:BackColor&H00808080&ForeColor&H80000012&Label2Caption你必須在30字之內(nèi)完成你理由的申訴,否則將受到罰款!BackColor&H00808080&ForeColor&H00FF0000&Text1MultiLinkTrueText""Picture1AutosizeTrueBackColor&H00808080&VisibleTruePicture2AutosizeTrueBackColor&H00808080&VisibleFalsePicture3AutosizeTrueBackColor&H00808080&VisibleFalseCommand1VisibleFalse三個(gè)圖片框Picture1-3的Picture屬性分別為綠燈,黃燈和紅燈,這些圖標(biāo)在VB目錄下的Graphics\Icons\Traffic下〔VB5,或是VB目錄下的Icons\Traffic下〔VB4、VB3,你還可以為L(zhǎng)abel1在Font屬性里選一個(gè)合適的字體和字重。下面我們來看代碼:首先初始化程序:PrivateSubForm_Load<>'把Command1放在水平的中央Command1.Top=Label2.Top+200Command1.Left=<Form1.Width-Command1.Width>/2'重疊三個(gè)圖片框Picture2.Left=Picture1.LeftPicture2.Top=Picture1.TopPicture3.Left=Picture1.LeftPicture3.Top=Picture1.TopEndSub下面我來講一講程序是怎樣運(yùn)行的,我們將用到Text的Change事件,每當(dāng)字符串改變一次就對(duì)它進(jìn)行一次檢查,算出已經(jīng)說的字?jǐn)?shù),當(dāng)字?jǐn)?shù)超過10時(shí),下面的紅綠燈會(huì)變成黃色,并且在這時(shí)隨機(jī)抽取一個(gè)數(shù),它在一個(gè)范圍內(nèi)出現(xiàn)的可能是10%,如果在這個(gè)范圍內(nèi)就可以免交罰金,如果不在范圍則繼續(xù),當(dāng)文字超過20的時(shí)候,紅綠燈會(huì)變成紅色,再一次抽取隨機(jī)數(shù)字,步驟同上,如果30個(gè)字已滿,再進(jìn)行一次檢查,如果你真的那么不幸就該罰款了。程序的步驟清楚了,我們?cè)趤砜纯闯绦虻囊c(diǎn)。由于中文是雙字節(jié)字符,也就是說一個(gè)漢字占兩個(gè)ASC碼的位置,而VB顯然是為英語國家設(shè)計(jì)的用Len函數(shù)無法返回漢字字節(jié),也就是說一個(gè)漢字和和一個(gè)ASC字符在Len函數(shù)中得到的值是一樣的,這就需要特殊處理。用Asc〔函數(shù),在括號(hào)內(nèi)放入一個(gè)ASC字符或字符串,它會(huì)把第一個(gè)ASC碼轉(zhuǎn)化為0-255的數(shù)值,而把一個(gè)漢字放入,它的值必然不在0-255,這也就可以作為判定漢字的基礎(chǔ)。我們可以把英文算作半個(gè)漢字。下面我們來看看代碼:在General里聲明窗體級(jí)變量:DimLevelAsIntegerPrivateSubCommand1_Click<>UnloadMeEndSubPrivateSubText1_Change<>DimStrLengthAsInteger’字符串長(zhǎng)度DimRandomNumAsSingle’隨機(jī)數(shù)DimStr1AsStringDimaAsStringDimi,TempStrLength=0’a=Text1.TextFori=1ToLen<a>’Len<a>代表字符串的長(zhǎng)度Temp=Asc<Mid$<a,i,1>>’挨個(gè)取字符IfTemp>255OrTemp<0Then’不是ASC碼StrLength=StrLength+2ElseStrLength=StrLength+1EndIfNextiStrLength=StrLength/2SelectCaseStrLengthCase0To9Picture1.Visible=TruePicture2.Visible=FalsePicture3.Visible=FalseLabel2.Caption="慢慢說。你還有"&Str<30-StrLength>&"個(gè)字可以說"Level=1Case10To19IfLevel=1ThenRandomNum=Rnd*10’IfRandomNum<=10AndRandomNum>9ThenText1.Enabled=FalseLabel2.Caption="很抱歉這是個(gè)誤會(huì)……"Command1.Visible=TrueCommand1.Caption="您可以離開了"EndIfLevel=2ElsePicture1.Visible=FalsePicture2.Visible=TruePicture3.Visible=FalseStr1="怎么還沒說完!"Label2.Caption=Str1&"你還有"&Str<30-StrLength>&"個(gè)字可以說"EndIfCase20To29IfLevel=2ThenRandomNum=Rnd*10IfRandomNum<=10AndRandomNum>9ThenText1.Enabled=FalseLabel2.Caption="很抱歉這是個(gè)誤會(huì)……"Command1.Visible=TrueCommand1.Caption="您可以離開了"EndIfLevel=3ElsePicture1.Visible=FalsePicture2.Visible=FalsePicture3.Visible=TrueStr1="我已經(jīng)不耐煩了!"Label2.Caption=Str1&"你還有"&Str<30-StrLength>&"個(gè)字可以說"EndIfCaseElseText1.Enabled=FalseLabel2.Caption="你已經(jīng)沒有機(jī)會(huì)了!"Command1.Visible=TrueCommand1.Caption="交錢吧,肇事犯!"EndSelectEndSub中間有幾個(gè)函數(shù)需要解釋一下:Mid可以從字符串中取出一部分,返回字符型,格式:Mid<字符串,從第幾個(gè)字符開始,取字符的長(zhǎng)度>Asc可以把字符轉(zhuǎn)換為ASCII碼,格式:Asc<字符串>Rnd,取得大于0但小于1的數(shù)值,可以沒有參數(shù)。怎么樣,十分簡(jiǎn)單吧,我們將在下一次繼續(xù)討論VB的輸入機(jī)制,再見!VB教程:第六章〔2-輸入〔2
文章來源:vb大世界在繼續(xù)上面的內(nèi)容時(shí),我想再回顧和強(qiáng)調(diào)幾個(gè)在字符串操作中經(jīng)常函數(shù):先是幾個(gè)已經(jīng)接觸過的,Mid<>,Asc<>,Len<>,它們的語法分別是:Mid<字符型,起始字符,長(zhǎng)度>返回子字符串,如果從字符串的第一個(gè)字符取起,起始字符為1,依此類推。Asc<字符型>返回?cái)?shù)值,如果參數(shù)不是一個(gè)字符,而是字符串〔多個(gè)字符,將返回參數(shù)的第一個(gè)字符ASCII值。Len<字符型>返回字符串的長(zhǎng)度。下面我再為你解釋幾個(gè)新的函數(shù):Left<字符串,長(zhǎng)度>將返回字符型,從字符串的第一個(gè)字符向左取字符串,與之相對(duì)應(yīng)的是Right<>,它將從字符串的最后一個(gè)字符向右取字符串。Chr<數(shù)值型>該數(shù)值范圍從0-255,返回字符型,如Chr<65>可返回字符"A",這樣可以輸入一些用鍵盤無法輸入的字符。Str<數(shù)值型>該函數(shù)把數(shù)值型轉(zhuǎn)換為字符型,也許你覺得數(shù)值"123"和字符串"123"沒什么區(qū)別,但在內(nèi)存中一個(gè)ASCII字符是占一個(gè)字節(jié),也就是說字符串"123"占3個(gè)字節(jié),而當(dāng)數(shù)值"123"是整型時(shí),它占兩個(gè)字符,當(dāng)它是長(zhǎng)整型時(shí),占4個(gè)字節(jié)。與之向?qū)?yīng)的是Val<數(shù)值型>,它把數(shù)值型轉(zhuǎn)換為字符型。上面的函數(shù)都是以后要經(jīng)常用到的,請(qǐng)將它們熟悉。上次講到文本框的用處,還有意思嗎?你是否能把上次的程序稍稍變動(dòng)一下,來計(jì)算出輸入的單詞數(shù),提示一下,單詞與單詞之間是用空格分隔開的。我們繼續(xù)下面的內(nèi)容。上次說到,輸入不僅僅是向文本框輸入字符,凡是從外界向程序傳遞數(shù)據(jù)都可以叫做輸入,我們一一說明白。無線鈕,記得我們?cè)诘谝徽轮型瓿蛇^我們的第一個(gè)程序――"HelloWorld!"它就是一種輸入的方法,在設(shè)計(jì)VB程序時(shí)可以通過一組這樣的無線鈕,它們之間互相排斥,也就是說,只能有一個(gè)按鈕被選中。它因?yàn)楹芟鬅o線電收音機(jī)上的按鈕因而得名無線鈕。如果要在一個(gè)窗體內(nèi)放置多組無線鈕必須用Frame控件把它們區(qū)分開來。下面我們?cè)趤硗瓿梢粋€(gè)例子,順便熟悉一下另外兩個(gè)處理字符串的函數(shù)――LTrim<>和Rtrim<>,它們分別用來刪除字符串左邊的空格和右邊的空格,讓我們看看它們是如何工作的。程序窗體如圖6-8,由于窗體比較簡(jiǎn)單,無需修改更多的屬性,一共有三個(gè)文本框〔Text1到3,分別用來顯示輸入字符,顯示把空格換成星號(hào)的字符,和經(jīng)過處理的字符,還有三個(gè)無線鈕〔Option1到3,要修改的只有Caption屬性,分別是"刪除左邊的空格"、"刪除右邊的空格"和"刪除兩邊的空格"。因?yàn)榭崭裨谖覀冊(cè)谖谋究蛑袩o法看到空格,所以我們通過一個(gè)稱作AddStar的函數(shù)把原有字符串中的空格轉(zhuǎn)換為星號(hào),使我們能夠看到函數(shù)的效果。下面在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023三年級(jí)數(shù)學(xué)上冊(cè) 一 動(dòng)物趣聞-克、千克、噸的認(rèn)識(shí) 信息窗2噸的認(rèn)識(shí)說課稿 青島版六三制
- 蕪湖廠房推拉棚施工方案
- 個(gè)人面包車租賃合同范例
- 遮陽施工方案
- 2023六年級(jí)英語上冊(cè) Unit 1 I go to school at 800 Lesson 4說課稿 人教精通版(三起)
- 出售廢舊鏟車合同范本
- 2024年01月江蘇浙商銀行蘇州分行招考筆試歷年參考題庫附帶答案詳解
- 2024-2025學(xué)年高中生物 第一章 人體的內(nèi)環(huán)境與穩(wěn)態(tài) 專題1.2 內(nèi)環(huán)境穩(wěn)態(tài)的重要性說課稿(基礎(chǔ)版)新人教版必修3
- 冷庫招工合同范例
- BTO 模式 合同范例
- 糖尿病足的多學(xué)科聯(lián)合治療
- 小龍蝦啤酒音樂節(jié)活動(dòng)策劃方案課件
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第五章運(yùn)動(dòng)中的中樞控制
- 財(cái)務(wù)部規(guī)范化管理 流程圖
- 蘇教版2023年小學(xué)四年級(jí)數(shù)學(xué)下冊(cè)教學(xué)計(jì)劃+教學(xué)進(jìn)度表
- 小學(xué)作文指導(dǎo)《難忘的一件事》課件
- 斷絕關(guān)系協(xié)議書范文參考(5篇)
- 量子力學(xué)課件1-2章-波函數(shù)-定態(tài)薛定諤方程
- 最新變態(tài)心理學(xué)課件
- 【自考練習(xí)題】石家莊學(xué)院概率論與數(shù)理統(tǒng)計(jì)真題匯總(附答案解析)
- 農(nóng)村集體“三資”管理流程圖
評(píng)論
0/150
提交評(píng)論