Visual Basic(簡(jiǎn)稱VB)是Microsoft公司開發(fā)的一種通用的基于對(duì)象的程序設(shè)計(jì)語(yǔ)言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮?、包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)為機(jī)制的可視化程序設(shè)計(jì)語(yǔ)言。 “Visual” 指的是開發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象add到屏幕上即可。 “Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語(yǔ)言,是一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語(yǔ)言。 Visual Basic源自于BASIC編程語(yǔ)言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建Active X控件,用于高效生成類型安全和面向?qū)ο蟮膽?yīng)用程序 。程序員可以輕松的使用VB提供的組件快速建立一個(gè)應(yīng)用程序。 VB語(yǔ)言知識(shí)點(diǎn)總結(jié)第一章知識(shí)點(diǎn)(1) VB的語(yǔ)言特點(diǎn) 可視化開發(fā)環(huán)境:界面設(shè)計(jì)所見所得;面向?qū)ο蟪绦蛟O(shè)計(jì):程序和數(shù)據(jù)封裝作為一個(gè)對(duì)象,在工具箱里面的都是一個(gè)一個(gè)的類,比如commandbutton類,當(dāng)你把它從工具箱拖出來(lái)已經(jīng),它就被實(shí)例化成了一個(gè)對(duì)象,名稱叫command1,如果你拖了2個(gè)command,就是2個(gè)不同的對(duì)象;事件驅(qū)動(dòng)編程:VB程序沒有明顯的入口和出口,都在等待用戶或者系統(tǒng)或者代碼觸發(fā)某個(gè)事件,然后執(zhí)行事件對(duì)應(yīng)的任務(wù)。 (2) VB的工作模式 設(shè)計(jì)模式,運(yùn)行模式,中斷模式; 程序在運(yùn)行模式是沒有辦法修改代碼和設(shè)計(jì)界面窗口的。 (3) VB的文件類型 窗體文件frm;程序模塊文件bas;類模塊文件cls;工程文件vbp; 工程組文件vbg;資源文件res; 保存工程的時(shí)候應(yīng)該同時(shí)保存工程文件vbp和窗體文件frm。 (4) VB的窗口 任何窗口被關(guān)閉了找不到了,都可以在視圖菜單下面來(lái)尋找,工具箱窗口,代碼窗口,窗體布局窗口,立即窗口(可以在中斷模式下查詢程序運(yùn)行對(duì)象值,ctrl G打開立即窗口) 第二章知識(shí)點(diǎn)(1) 面向?qū)ο蟮幕靖拍?/strong> 類:具有類似屬性和方法的對(duì)象的抽象,比如大學(xué); 對(duì)象:類實(shí)例化就成為一個(gè)對(duì)象,每個(gè)對(duì)象都具有自己的屬性和方法,比如西南財(cái)經(jīng)大學(xué)天府學(xué)院。 屬性:對(duì)象的靜態(tài)特征,最重要的屬性是name,在VB里面對(duì)象的name是不能省略的,而且在程序運(yùn)行的過程中是不能修改的; 事件:人或者系統(tǒng)對(duì)對(duì)象的作用,對(duì)象是被動(dòng)者,比如load,unload,timer;click等; 方法:對(duì)象發(fā)出的行為,對(duì)手是主動(dòng)者,比如move,show,hide等。 (2) VB的開發(fā)流程 第一步分析后畫流程圖 第二步界面設(shè)計(jì) 第三步編寫代碼 第四步測(cè)試運(yùn)行 3 第三章知識(shí)點(diǎn)(1) VB書寫代碼的格式 VB代碼中不區(qū)分字母的大小寫。 同一行可以書寫多條語(yǔ)句,語(yǔ)句間用冒號(hào)“:”分隔。 一條語(yǔ)句可以寫在同一行,也可以寫在多行。續(xù)行符號(hào)是一個(gè)空格加下劃線“_”。 注釋語(yǔ)句以Rem開頭,也可以使用單引號(hào)“‘”。后者注釋內(nèi)容可直接出現(xiàn)在相關(guān)語(yǔ)句的后面。 VB6中新增了“塊注釋/取消塊注釋”:在代碼模式下,右擊工具欄,在彈出菜單里把“編輯”項(xiàng)選中?? 變量和常量的命名規(guī)則:有數(shù)字,字母,下劃線組成;字母作首字符;不超過255個(gè)字符;不能以VB關(guān)鍵字和系統(tǒng)常量做名字 (2) VB的數(shù)據(jù)基本類型 數(shù)值類型:字符串類型: string 用“”雙引號(hào)作為定界符 聲明一個(gè)字符串變量,不規(guī)定串長(zhǎng):dim s as string 例: dim s as string S=”中國(guó)” Print len(s) ? 長(zhǎng)度為4個(gè)字節(jié) S=”abs” Print len(s) ? 長(zhǎng)度為3個(gè)字節(jié) 聲明一個(gè)定長(zhǎng)字符串,在后面加 *指定字符串的長(zhǎng)度 dim s as string * 8 例: Dim s as sting * 6 Dim a as integer S=”12345678” Print len(s) ? 長(zhǎng)度為6個(gè)字節(jié) a=len(s) print len(a) ? 長(zhǎng)度為2個(gè)字節(jié),如果打印其他類型的長(zhǎng)度,則為其數(shù)據(jù)類型 所占用的字節(jié)數(shù) 日期類型 用“”雙引號(hào)或者# #井號(hào)作為定界符 例: dim a as date A=#4/20/1999# A=A-10 Print A ? #4/10/1999# 減去的是天數(shù) 對(duì)象類型 對(duì)象類型變量可以用來(lái)引用程序中各種對(duì)象,對(duì)象類型的使用分為聲明, 賦值,代表三步,類似給控件取一個(gè)小名 例: Dim a as commandbutton Set a=command1 a.caption=”hello” ?等價(jià)于command1.caption=”hello” 變體類型 變體型聲明方式 dim c或者dim c as variant 例: Dim a ,b as double ?a是變體型 變體型在未進(jìn)行變量賦值前是值是empty 變體型是數(shù)據(jù)類型根據(jù)賦值不同可以改變 例: Dim A A=”88” ?A是字符串 “88” A=A 10 ?A的值是98 (3) VB常量的聲明 符號(hào)常量聲明:關(guān)鍵字是const,必須在聲明的時(shí)候進(jìn)行初始化 符號(hào)常量聲明分隱式聲明和顯式聲明 例: Const a as string=”123” 顯式聲明 Const a =true 隱式聲明 (4) VB變量的聲明 變量聲明:關(guān)鍵字是dim,變量必須要定義,再使用 變量聲明分隱式聲明和顯式聲明 例: Dim a as double Dim a%,b# (5) VB運(yùn)算符 運(yùn)算符分類 算術(shù)運(yùn)算符:() ^ * / \ mod - 關(guān)系運(yùn)算符:《 》 = 《= 》= 《》 邏輯運(yùn)算符:not and or xor eqv imp 運(yùn)行符優(yōu)先級(jí) 算術(shù)運(yùn)算符》關(guān)系運(yùn)算符》邏輯運(yùn)算符 優(yōu)先級(jí)的順序: 由上至下對(duì)應(yīng)由高到低,同一行的優(yōu)先級(jí)相同,程序順序執(zhí)行。 算術(shù)運(yùn)算符(優(yōu)先級(jí)最高) () sin cos? ^ * / \ mod - 關(guān)系運(yùn)算符 》 》= 《 《= = 《》 邏輯運(yùn)算符(優(yōu)先級(jí)最低) Not And Or Xor Eqv Imp 運(yùn)算符 除法/ \ mod :/ 是真正除法,返回商23/5=4.6 \ 是整除 23\5.8=3 23\5.2=4 Mod返回余數(shù) 23mod5.8=5 23mod5.2=3 1mod2=1 號(hào)運(yùn)算符:兩邊都是字符串做字符串連接 “1“ ”2“=”12“ 一邊是字符串一邊是數(shù)值,把字符串轉(zhuǎn)換成數(shù)值再加 1 ”2”=3 兩邊都是數(shù)值做數(shù)值加法 1 2=3 號(hào)的優(yōu)先級(jí)高于& “300”& “123” 200=“300323” 關(guān)系運(yùn)算符:運(yùn)算結(jié)果是true或者false 1《=2 為true “a”《”b” 比較的是ASCII “abc” 《“abd” 從首字符依次比較ASCII 邏輯運(yùn)算符:not 取反 And 取幷 兩個(gè)同時(shí)為true才為true Or取或 有一個(gè)為true就為true Xor異或 不同為true,相同為false Eqv同或 相同為true, 不同為false imp蘊(yùn)含 true imp false 為false 其他都為true (6) VB函數(shù) 數(shù)學(xué)運(yùn)算函數(shù) abs:取參數(shù)絕對(duì)值,如果變量未初始化,則為0 abs(-10)=10 int:取整,當(dāng)為負(fù)數(shù)的時(shí)候,返回小于等于參數(shù)的第一個(gè)負(fù)整數(shù)int(-1.1)=-2 fix:取整,當(dāng)為負(fù)數(shù)的時(shí)候,返回大于等于參數(shù)的第一個(gè)負(fù)整數(shù)fix(-1.1)=-1 exp:返回e的多少次方 log:返回參數(shù)的自然對(duì)數(shù) 字符串處理函數(shù)Len:取字符串的長(zhǎng)度,len(“abcdefg”)=7 len(“小白”)=4 Trim:去除字符串左右兩邊的空格 String:連續(xù)返回多少個(gè)字符串首字符 string(3,”abc”)=”aaa” Lcase:大寫字母變小寫 lcase(“ABcd”)=”abcd” Ucase:小寫字母變大寫 Ucase(“ABcd”)=”ABCD” Left:返回字符串左邊起多少個(gè)字符,如果個(gè)數(shù)大于長(zhǎng)度全返回 left(“abcdef”,3)=”abc” Right:返回字符串右邊起多少個(gè)字符,如果個(gè)數(shù)大于長(zhǎng)度全返回 right(“abcdef”,3)=”def” mid:從中間某個(gè)位置返回指定長(zhǎng)度的字符串 mid(“abcdef”,3,2)=”cd” instr:返回指定字符串在另一字符串中出現(xiàn)的位置 instr(1,”abcdef”,”de”)=4 instr(4,“abcdef”,”cd”)=0 日期函數(shù) 類型轉(zhuǎn)換函數(shù) 其他函數(shù) Cstr:把數(shù)值轉(zhuǎn)化成字符串 Val:把字符串轉(zhuǎn)化成數(shù)值 Rnd:產(chǎn)生隨機(jī)數(shù) Int(Rnd()*90 10) 范圍是10-99 Int(Rnd()*99 1) 范圍是1 - 99 4第四章知識(shí)點(diǎn)(1) inputbox函數(shù) inputbox用于接收用戶的鍵盤數(shù)據(jù)的輸入,只接收一個(gè)數(shù)據(jù)輸入 inputbox的語(yǔ)法格式:inputbox(“提示信息”,”標(biāo)題”,”默認(rèn)值”) 提示信息長(zhǎng)度不能超過1024字節(jié) 對(duì)話框標(biāo)題如果不寫,默認(rèn)為工程1,和““空標(biāo)題不一樣 Inputbox返回的數(shù)據(jù)類型是string,因此通常返回?cái)?shù)值類型的時(shí)候需要加 val函數(shù)把字符串轉(zhuǎn)換成數(shù)值 (2) msgbox函數(shù) msgbox函數(shù)用于進(jìn)行消息的提示,并且接受用戶的反饋的單擊按鈕信息 msgbox的語(yǔ)法格式: msgbox(“提示信息”,對(duì)話框按鈕組合方式 圖標(biāo) 默認(rèn)按鈕,”標(biāo)題”) 提示信息長(zhǎng)度不能超過1024字節(jié) 對(duì)話框標(biāo)題如果不寫,默認(rèn)為工程1,和““空標(biāo)題不一樣 Msgbox返回的數(shù)據(jù)類型是integer類型,即用戶單擊了消息框按鈕后返回vbyes,vbno等VB常量,詳細(xì)請(qǐng)參考書上對(duì)應(yīng)的表格 (3) msgbox語(yǔ)句 msgbox語(yǔ)句和msgbox函數(shù)的相同之處都是給出一個(gè)消息提示 msgbox語(yǔ)句和msgbox函數(shù)的不同之處是語(yǔ)句沒有返回值,即用戶單擊了消息框按鈕后,也沒有任何的信息返回 其他語(yǔ)法規(guī)則,包括對(duì)話框的組合方式都和msgbox函數(shù)是完全一樣的 (4) print方法 print方法用于在form上或者在打印機(jī)上輸出數(shù)據(jù) print單獨(dú)寫是打印一個(gè)空行 print后面加;號(hào)是連續(xù)在一行輸出 print后面加,號(hào)是以14個(gè)字符為一個(gè)輸出區(qū)輸出各表達(dá)式 tab(n)是絕對(duì)距離 spc(n)是相對(duì)距離 第六章知識(shí)點(diǎn)標(biāo)簽 類名叫l(wèi)abel,實(shí)例化對(duì)象名字默認(rèn)叫l(wèi)abel1,即name屬性 Caption:顯示標(biāo)簽的文本內(nèi)容,例如label1.caption=”歡迎vb” Backstyle:設(shè)置標(biāo)簽透明效果,0為透明,1為不透明 文本框 類名叫textbox,實(shí)例化對(duì)象名字默認(rèn)叫text1,即name屬性 Text:用來(lái)顯示或者獲取文本框的內(nèi)容,例如:text1.text=”12”顯示12到 文本框,a=text1.text獲取文本框輸入的內(nèi)容 Alignment:文本框的對(duì)齊方式 Enable:設(shè)置文本框是不是可用 Visible:設(shè)置文本框可見與否 Tooltiptext:設(shè)置鼠標(biāo)放置上去后的提示信息 Passwordchar:輸入或者顯示密碼的符號(hào) Maxlength:設(shè)置輸入字符的最大長(zhǎng)度,為0可以輸入任意長(zhǎng)度 Change事件:文本框內(nèi)容發(fā)生變化的時(shí)候就觸發(fā) 命令按鈕 類名叫commandbutton,實(shí)例化對(duì)象名默認(rèn)叫command1,即name屬性 Canel:設(shè)置按鈕是否為當(dāng)前窗體中默認(rèn)取消按鈕,ESC時(shí)觸發(fā) Default:設(shè)置按鈕是否為當(dāng)前窗體默認(rèn)確定按鈕,ENTER時(shí)觸發(fā) 計(jì)時(shí)器 類名叫timer,實(shí)例化對(duì)象名默認(rèn)叫timer,即name屬性 Enable:設(shè)置文本框是不是可用 Interval:設(shè)置計(jì)時(shí)間隔,單位毫秒 圖形按鈕 類名叫pictureBox,實(shí)例化對(duì)象名默認(rèn)叫picture1,即name屬性 Picture:設(shè)置該屬性裝載圖片,格式Picture1.picture=loadpicture(“URL”) 單選按鈕 類名叫optionbutton,實(shí)例化對(duì)象名默認(rèn)叫option1,即name屬性 Caption:顯示單選按鈕的文本內(nèi)容 Value:確定單選按鈕是不是被選中,值為true和false If option1.value=true then Label1.caption=option1.caption Elseif option2.value=true then Label1.caption=option2.caption End if 復(fù)選按鈕 類名叫checkbox,實(shí)例化對(duì)象名默認(rèn)叫check1,即name屬性 Caption:顯示復(fù)選按鈕的文本內(nèi)容 Value:確定復(fù)選按鈕是不是被選中,值為0和1,2分別表示為未選中, 選中,不可以使用 If check1.value=1 then Label1.caption=check1.caption endif If check2.value=1 then Label1.caption=check2.caption End if 滾動(dòng)條 類名叫scrollBar,實(shí)例化對(duì)象名默認(rèn)叫scroll1,即name屬性 Max:滾動(dòng)條的最大值 Min:滾動(dòng)條的最小值 Smallchange:?jiǎn)螕魸L動(dòng)條箭頭時(shí)value的變化量 Largechange:?jiǎn)螕魸L動(dòng)條空白時(shí)value的變化量 Value:滑動(dòng)塊所處的位置 Scroll事件:滑動(dòng)塊實(shí)時(shí)移動(dòng)的時(shí)候一直觸發(fā) Change:?jiǎn)螕艨瞻?,單擊箭頭,滑動(dòng)塊移動(dòng)鼠標(biāo)釋放的時(shí)候觸發(fā)一次 列表框 類名叫l(wèi)istbox,實(shí)例化對(duì)象名默認(rèn)叫l(wèi)ist1,即name屬性 List:列表框第i-1項(xiàng)的內(nèi)容,存放數(shù)據(jù)的地方,訪問用下標(biāo)list(1) Listcount:表示列表框的列表項(xiàng)數(shù) Listindex:選中項(xiàng)下表,例:被選中項(xiàng)內(nèi)容:list1.list(list1.listindex) Selected:下標(biāo)表示項(xiàng)選中與沒選中的狀態(tài) Additem:在列表框指定位置插入一行文本,例:插入到最后 List1.additem “aaaa” ,list1.listcount-1 Removeitem:刪除列表項(xiàng),例:刪除當(dāng)前選中項(xiàng) List1.remveitem list1.listindex Clear:清空列表框 組合框 類名叫combobox,實(shí)例化對(duì)象名默認(rèn)叫combo1,即name屬性 組合框是組合的textbox和listbox,所以有這兩個(gè)控件共同的屬性 使用的時(shí)候只是對(duì)象名要變成combo1,其他屬性參考list 第七章知識(shí)點(diǎn)重點(diǎn)是要能寫程序,靈活應(yīng)用 程序設(shè)計(jì)有三種結(jié)構(gòu),順序結(jié)構(gòu),條件結(jié)構(gòu),循環(huán)結(jié)構(gòu) 條件結(jié)構(gòu) If 條件 then 任務(wù) ,end if省略 If 條件 then 任務(wù) else 任務(wù) ,end if省略 If 條件 then 任務(wù) Endif If 條件 then 任務(wù) Else 任務(wù) Endif If 條件 then 任務(wù) Elseif 條件 then 任務(wù) Elseif 條件 then 任務(wù) Elseif 條件 then 任務(wù) Endif 只要有一個(gè)條件滿足,后面都不會(huì)判斷 Select case 變量 Case 值 任務(wù) Case 值列表 任務(wù) Case 值范圍 任務(wù) Case 條件表達(dá)式 任務(wù) End select 只要有一個(gè)條件滿足,后面都不會(huì)判斷 循環(huán)結(jié)構(gòu) For型循環(huán) For 變量=初值 to 終值 step 步長(zhǎng) 任務(wù) Next 變量 退出循環(huán)的時(shí)候變量要多加一次1 例子for i=1 to 100 step 1 S=s i Next i While型循環(huán) 變量=初值 While 條件 任務(wù) 變量=變量 步長(zhǎng) Wend 例子:while i《=100 S=s i i=i 1 wend Do型循環(huán) Do while 條件 任務(wù) Loop 例子:Do while i《=100 S=s i I=i 1 Loop Do until 條件 任務(wù) Loop 例子: Do until i》100 S=s i I=i 1 Loop Do 任務(wù) Loop while 條件 例子: Do S=s i I=i 1 Loop while i《=100 Do 任務(wù) Loop until 條件 例子: Do S=s i I=i 1 Loop until i》100 Goto 語(yǔ)句 語(yǔ)句標(biāo)號(hào):任務(wù) If 條件 then Goto 語(yǔ)句標(biāo)號(hào) Endif 例子:a:s=s i I=i 1 If i》=100 then Goto a End if Exit語(yǔ)句強(qiáng)制退出循環(huán) 第八章知識(shí)點(diǎn)數(shù)組的聲明 Dim 數(shù)組名(下標(biāo) to 上標(biāo))as 數(shù)據(jù)類型 Dim a(1 to 10) as integer 長(zhǎng)度為10 Dim b(5) as integer 長(zhǎng)度為6,下標(biāo)省略 如果想讓默認(rèn)下標(biāo)從1開始,加option base 1 數(shù)組的操作:賦值,引用,輸入,輸出,復(fù)制 在對(duì)數(shù)據(jù)進(jìn)行操作的時(shí)候要保證數(shù)組下標(biāo)不溢出 輸入10個(gè)數(shù),找最大最小平均,冒泡排序 Private Sub Command1_Click() Dim (1 To 10) As Integer Dim i As Integer Dim j As Integer Dim max As Integer Dim min As Integer Dim avg As Integer Dim sum As Integer For i = 1 To 10 a(i) = Val(InputBox(“”, “”, “1”)) Print a(i); Next i max = a(1) min = a(2) For i = 1 To 10 If max 《 a(i) Then max = a(i) End If If min 》 a(i) Then min = a(i) End If sum = sum a(i) Next i avg = sum / 10 Print “max=”; max; “min=”; min; “avg=”; avg; For i = 1 To 9 For j = 1 To 10 - i If a(j) 》 a(j 1) Then t = a(j) a(j) = a(j 1) a(j 1) = t End If Next j Next i For i = 1 To 10 Print a(i); Next i End Sub |
|
來(lái)自: 昵稱37581541 > 《vb學(xué)習(xí)》