VB课本基础知识总结
一、概述:
Visual Basic是一種面向對象的可視化程序設計語言,采取了事件驅動的編程機制。
VB程序的兩種運行方式:解釋方式運行,編譯方式運行。
對象:世間萬物皆為對象;VB中所有可見的界面元素及大部分硬件資源。
類:具有相同性質的對象的集合;類中的每個對象稱為類的實例。
事件:指對象能夠識別并作出反應的外部刺激。
方法:系統已經設計好的,在編寫過程中可以使用的一些特殊程序。?
VB編程設計的一般步驟:總體-界面-屬性-代碼
二、語言基礎:
常量:程序運行過程中不變的常數。VB中,分為直接常量和符號常量。
變量:程序運行中可以變化的量。
二進制:B ??????八進制:O?????? 十進制:D ?????十六進制:H
變量命名規則:
必須以字母或漢字開頭,不能包含小數點等運算符,不能與VB的關鍵字重名,不能超過255個字符,變量名不能重復。
三、控制結構:
順序結構 選擇結構 循環結構
順序結構:按照語句的書寫順序執行,但僅有的順序結構不能處理復雜的問題。
Print方法中:
tab函數: tab(n)可以對輸出結果進行定位。? ? ?spc函數: spc(n)可以跳過n列。
chr(13) 回車符??? chr(10)換行符? ? ? ? ? ? ? ? ? ?Ucase 換成大寫?? Lcase 換成小寫
MsgBox("系統發生故障,請重新啟動!",1+16,"錯誤")
? ? ? ? ? ? ? ? ? ? ? ? ? ?提示信息? ? ? ? ? ? ? ? ?對話框類型? ?對話框標題
a=InPutBox("請輸入系統口令:","口令輸入","*")
? ? ? ? ? ? ? ? ? ? ? ? ?提示內容? ? ? ? ? 標題? ? ?默認值
選擇結構:根據不同的情況作出不同的選擇,執行不同的操作。
條件語句:
一、1.單行條件語句
If…then
2.塊結構條件語句
If…then
語塊1
Else
語塊2
End if
先判斷條件,為真,進行語塊1,否則執行語塊2。
3.條件語句的嵌套
If…then
???? if…then
???? else
???? end if
Else
???? if…then
???? else
???? end if
?end if
4.使用IIF函數
IIf(<條件表達式>,<為真時的值>,<為假時的值>)
循環結構:執行語句時,需要對某些語句重復執行多次,被重復執行的程序段為竄換題。可以簡化結構,提高程序的執行效率。
1.Do…Loop? 判斷型循環
先判斷:
Do while<條件>…loop "當型循環" ????當條件為真???? 執行循環
Do until<條件>…loop? "直到型循環"? 直到條件為真? 終止循環
后判斷:
Do… Loop while/until <條件>? 這種循環至少執行一次循環體
2.for…next??? 計數型循環
For i=1 to 10 step 1
???? If max <a(i)? then
????? Max =a(i)
????? End if?
Next i
多重循環:循環體內包含另一個循環語句時,形成了多重循環,又叫多重循環。
五、數組:
數組是由一系列具有相同變量名、相同數據類型的下標變量構成的有序排列。
數組的聲明:包括數組名、維數、大小、類型及作用范圍。
一維數組 二維數組 字符串數組 可變數組 記錄數組 固定數組 動態數組 控件數組
動態數組:聲明數組之后,數組的維數、下表的上下界可以改變。
For each…next專門用于數組或對象集合中的每個成員。
For each <成員> in <數組>
?????? [<語句組>]
?????? [exit for]
Next<成員>
六、過程
分為事件過程和通用過程
過程有返回值 函數沒有返回值
Sub(子)過程可以建立在窗體模塊(.Frm)中,也可以建立在標準模塊(.Bas)中。
其命名規則與變量相同,過程名必須唯一,不能超過255個字符。
Sub過程的調用:
1.使用Call語句;
2.直接使用過程名。
Function過程又稱為函數。調用:
1.使用call語句;
2.直接使用函數名。
參數傳遞???? 規則:個數相等、數據類型相同、順序一致。
傳值ByVal??傳送的是值 形參變化 實參不變化 比如復印機
傳址ByRef?傳的是地址 形參變化 實參也變化 比如打印機
過程的嵌套 在一個過程中調用另一個過程。
過程的遞歸 一個過程調用過程本身,是一種特殊的嵌套。
模塊化:將一個大的任務分解成若干個較小的部分,每一部分承擔部分的功能。
變量和過程 有作用域和生命期:
變量的生命周期:動態變量、靜態變量。
過程中使用dim定義的變量屬于動態變量。退出過程時,內存會自動釋放。
全局變量以及用static定義的為靜態變量。退出過程時,內存不會被釋放。
過程的作用域:模塊級、全局級。
模塊級(文件級):在某個模塊內定義的過程。
全局級(工程級):在Sub或Function過程中用Public關鍵字或缺省定義的過程。
?七、菜單工具欄
下拉式、彈出式
單文檔界面SDI(Single Document Interface)
多文檔界面MDI(Multiple Document Interface)
菜單編輯器分為:菜單控制區、菜單顯示區、菜單編輯區。
Ctrl+E 快捷鍵打開
八、文件系統處理
文件是指存儲在計算機外部存儲介質上的信息集合。
Windows操作系統和其他系統一樣,是以文件為單位管理數據的。
在文件中,字節是基本的存儲單位。
文件分類:
1.按性質分:
程序文件、數據文件。
2.按編碼分類
ASCII文件、二進制文件。
3.按存取方式和結構:
順序文件、隨機文件。
順序文件建立和打開用Open;關閉用Close;寫用Print和Write;讀用Input和Line Input;
隨機文件建立和打開用Open;寫用Put;讀用Get;
二進制文件基本元素是字節,沒有記錄的概念,存放的是數據的二進制的值。
二進制文件打開或新建用Open;Put#寫、Get#讀;
順序文件是文本文件、寫入到順序文件中的任何類型數據,都會被轉換成其ASCII碼字符形式存儲。
九、鍵盤和鼠標
鍵盤事件:
KeyPress事件
Private Sub <對象名>_KeyPress(KeyAscii As Interger)
參數KeyAscii是所按鍵的ASCII碼值。
KeyDown/KeyUp事件
Private Sub <對象名>_event(KeyCode As Interger, Shift As Interger)
參數KeyCode表示按下的物理鍵,通過ASCII碼值或鍵碼常數來識別。
參數Shift表示鍵盤事件發生時shift、ctrl、alt的狀態。
鼠標事件:
MouseMove事件
MouseDown/MouseUp事件
Private Sub <對象名>_event (Button As interger , Shift? As interger, X As Single, Y As Single,)
參數Shift表示鼠標事件發生時shift、ctrl、alt的狀態。
X,Y表示鼠標的坐標位置。
拖放技術
DragMode屬性:
0手動方式 1自動方式?
Drag方法:
手動方式下:0取消 1啟動 2結束
DragDrop事件:當源對象被拖動到目標對象上并釋放鼠標鍵。
DragOver事件:當源對象被拖動經過目標對象時觸發事件。
十、繪制圖形
坐標系統是繪[對象名].Line [[Step] (x1,y1)]-[Step] (x2,y2) [,顏色],B[F]?? ????矩形
Circle:[對象名].Circle [Step] (X,Y),半徑,[,顏色]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 畫圓??????????????????????????????????? ??????????
? ? ? ? ? ? ?[對象名].Circle [Step] (X,Y),半徑,[,顏色],[<起始角>,<終止角>]? ? ? ? ? ? ? ? ? ?弧扇形
? ? ? ? ? ? ?[對象名].Circle [Step] (X,Y),半徑,[,顏色],[<起始角>,<終止角>][,縱橫比]? ? ?畫橢圓
十一、數據庫
數據庫(DataBase)就是按照一定的組織結構存儲在計算機上的相關數據的集合。
特點:數據結構化、數據獨立性、數據共享、減少冗余。
比較流行的數據庫:層次數據庫、網狀數據庫、關系數據庫。
關系型數據庫應用最多。
訪問數據的方法:
ActiveX數據對象(ADO)、遠程數據對象(RDO)、數據訪問對象(DAO)
SQL結構化查詢語言是訪問數據庫的標準語言。
Select * from table1 where name = "小明"
Group by??? Group by table.field
按照表字段分組并將每組整合成一條記錄。
Order by??? Order by table.field [ASC|DESC][table.field2 [ASC|DESC]]??
將查詢的結果依據表字段按照遞增或者遞減進行排序,缺省排序為遞增(A-Z,0-9)。????
ASC遞增 DESC遞減
Having 基于之前分組的結果再設定一個條件
動作查詢:
1.生成表查詢 select? into
2.添加查詢 insert? into
3.刪除查詢 delete
4.更新查詢 update
Recordset對象及其與記錄指針相關的幾個方法:
MoveFirst:將當前記錄位置移動到Recordset中的第一個記錄。
MoveLast:將當前記錄位置移動到Recordset中的最后一個記錄。
MoveNext:將當前記錄下移一個記錄(向Recordset的底部)。
MovePrevious:將當前記錄位置向上移動一個記錄(向記錄集頂部)。
Move:移動Recordset對象中的當前記錄的位置。
Addnew:增加一條記錄。
Delete:刪除當前記錄。
VB可以訪問的數據庫類型:
Jet數據庫、ISAM數據庫、ODBC數據庫。
VB提供訪問數據庫的控件類型:
Data控件、ADO Data控件、
VB提供數據庫訪問接口:
DAO對象、ADO對象、
十二、OLE
OLE(Object Linking and Embedding,對象鏈接與嵌入)控件可以將其他程序的對象插入到VB中,從而增強VB與其他應用程序共享數據及傳遞數據的能力。
鏈接對象與嵌入對象的不同之處在于插入到OLE控件的對象存儲于何處,以及將對象插入到OLE控件后是如何更新的。
鏈接:只是在OLE控件中插入了該對象的地址,而不是對象本身;如果數據源中數據變化,則OLE中數據也變化。
嵌入:插入的是真正的數據,數據隨VB應用程序一起存儲。
鏈接與嵌入各有優缺點:
鏈接方式占用內存小,但數據容易受影響而丟失;
嵌入方式占用內存大,但數據不易受影影而丟失。
API函數:
Appliccation Program Interface 應用程序接口,是Windows操作系統提供給應用程序的一組函數集合,大都由C語言編寫。
API功能:系統服務、窗口管理、圖形設備接口、多媒體。
總結
以上是生活随笔為你收集整理的VB课本基础知识总结的全部內容,希望文章能夠幫你解決所遇到的問題。