vb常用語句--精選文檔_第1頁
vb常用語句--精選文檔_第2頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Vb常用語句解析下面10條語句是最常用的語句,將指針移到上面按ctrl鍵單擊可查看用法:包括功能、語法、參數(shù)、舉例等。1、Let(賦值語句即=)3、Dim語句7、If.Then.Else 語句21、Select case6、For.Next 語句19、While.Wend 語句15、Randomize 語句16、Rem 語句17、Static 語句18、Unload 語句1、Let(賦值語句即=)功能:將表達(dá)式的值賦給變量或?qū)傩?。語法 varname = expression 語句的語法包含下面部分:部分描述可選的。顯式使用 關(guān)鍵字也是一種格式,但通常都省略該關(guān)鍵字。varname必需的。變量

2、或?qū)傩缘拿Q;遵循標(biāo)準(zhǔn)變量命名約定。expression必需的。賦給變量或?qū)傩缘闹怠?、call語句將控制權(quán)轉(zhuǎn)移到一個 Sub 過程,F(xiàn)unction 過程,或動態(tài)連接庫 (DLL)過程。語法 name argumentlist 語句的語法具有以下幾個部分:部分描述可選參數(shù);關(guān)鍵字。如果指定了這個關(guān)鍵字,則 argumentlist 必須加上括號,例如: MyProc(0)name必要參數(shù),要調(diào)用的過程名稱。argumentlist說明調(diào)用一個過程時,并不一定要使用 關(guān)鍵字。如果使用 關(guān)鍵字來調(diào)用一個需要參數(shù)的過程,argumentlist 就必須要加上括號。如果省略了 關(guān)鍵字,那么也必須要省

3、略 argumentlis 外面的括號。如果使用 語法來調(diào)用內(nèi)建函數(shù)或用戶定義函數(shù),則函數(shù)的返回值將被丟棄。若要將整個數(shù)組傳給一個過程,使用數(shù)組名,然后在數(shù)組名后加上空括號。3、Dim語句聲明變量并分配存儲空間。語法 WithEvents varname(subscripts) As New type , WithEvents varname(subscripts) As New type . . . 語句的語法包含下面部分:部分描述WithEvents可選的。關(guān)鍵字,說明 varname 是一個用來響應(yīng)由 ActiveX 對象觸發(fā)的事件的對象變量。只有在類模塊中才是合法的。使用 WithEv

4、ents,可以聲明任意個所需的單變量,但不能使用 WithEvents 創(chuàng)建數(shù)組。New 和 WithEvents 不能一起使用。varname必需的。變量的名稱;遵循標(biāo)準(zhǔn)的變量命名約定。subscripts可選的。數(shù)組變量的維數(shù);最多可以定義 60 維的多維數(shù)組。subscripts 參數(shù)使用下面的語法:lower To upper , lower To upper . . .如果不顯式指定 lower,則數(shù)組的下界由 Option Base 語句控制。如果沒有使用 Option Base 語句,則下界為 0。New可選的??呻[式地創(chuàng)建對象的關(guān)鍵字。如果使用 New 來聲明對象變量,則在第一

5、次引用該變量時將新建該對象的實(shí)例,因此不必使用 Set 語句來給該對象引用賦值。New 關(guān)鍵字不能聲明任何內(nèi)部數(shù)據(jù)類型的變量,以及從屬對象的實(shí)例,也不能與 WithEvents 一起使用。type可選的。變量的數(shù)據(jù)類型;可以是 Byte、布爾、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(對變長的字符串)、String * length (對定長的字符串)、Object、Variant、用戶定義類型、或?qū)ο箢愋?。所聲明的每個變量都要一個單獨(dú)的 As type 子句。說明在模塊級別中用 聲明的變量,對該模塊中的所有

6、過程都是可用的。在過程級別中聲明的變量,只在過程內(nèi)是可用的??梢允褂?語句在模塊級或過程級中聲明變量的數(shù)據(jù)類型。例如,下面的語句聲明了 Integer 類型的變量。 NumberOfEmployees As Integer也可以使用 語句來聲明變量的對象類型。下面的語句為工作表的新建實(shí)例聲明了一個變量。 X As New Worksheet如果定義對象變量時沒有使用 New 關(guān)鍵字,則在使用該變量之前,必須使用 Set 語句將該引用對象的變量賦值為一個已有對象。在該變量被賦值之前,所聲明的對象變量有一個特定值 Nothing,這個值表示該變量沒有指向任一個對象實(shí)例。也可以使用帶空圓括號的 語句

7、來定義動態(tài)數(shù)組。在定義動態(tài)數(shù)組后,可以在過程內(nèi)使用 ReDim 語句來定義該數(shù)組的維數(shù)和元素。如果試圖在 Private,Public 或 語句中重新定義一個已顯式定義了大小的數(shù)組的維數(shù)時,就會發(fā)生錯誤。如果不指定數(shù)據(jù)類型或?qū)ο箢愋?,且在模塊中沒有 Deftype 語句,則該變量按缺省設(shè)置是 Variant 類型。當(dāng)初始化變量時,數(shù)值變量被初始化為 0,變長的字符串被初始化為一個零長度的字符串 (""),而定長的字符串則用 0 填充。Variant 變量被初始化為 Empty。用戶自定義類型的變量的每個元素作為各自獨(dú)立的變量進(jìn)行初始化。注意 當(dāng)在過程中使用 語句時,通常將

8、語句放在過程的開始處。4、Dim 語句示例該示例演示使用 Dim 語句來聲明變量,也演示了用 Dim 語句來聲明數(shù)組。數(shù)組的缺省下界為 0,可以在模塊級使用 Option Base 語句來取代數(shù)組的缺省下界。'AnyValue 和 MyValue 按缺省情況被聲明為 Variant,'同時值被設(shè)為 Empty。Dim AnyValue, MyValue'顯式聲明一個 Integer 類型的變量。Dim Number As Integer'在一行中聲明多個變量。AnotherVar 為 Variant 類型,'因?yàn)樗念愋捅皇÷粤?。Dim AnotherV

9、ar, Choice As Boolean, BirthDate As Date'DayArray 是一個有 51 個索引(從 0 到 50)元素的 Variant 數(shù)組,'假設(shè)在當(dāng)前模塊中 Option Base 被設(shè)為 0(缺省設(shè)置)。Dim DayArray(50)'Matrix 是一個二維 Integer 數(shù)組。Dim Matrix(3, 4) As Integer'MyMatrix 是一個顯式指定了上下界'的三維 double 數(shù)組。Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double'Birth

10、Day 是一個索引從 1 到 10 的 date 數(shù)組。Dim BirthDay(1 To 10) As Date 'MyArray 是一個 variant 動態(tài)數(shù)組。5、Exit 語句示例退出 Do.Loop、For.Next、Function、Sub 或 Property 代碼塊。語法 Do For Function Property Sub 語句的語法有以下幾種形式:語句描述 Do提供一種退出 Do.Loop 循環(huán)的方法,并且只能在 Do.Loop 循環(huán)中使用。 Do 會將控制權(quán)轉(zhuǎn)移到 Loop 語句之后的語句。當(dāng) Do 用在嵌套的 Do.Loop 循環(huán)中時, Do 會將控制權(quán)轉(zhuǎn)

11、移到 Do 所在位置的外層循環(huán)。 For提供一種退出 For 循環(huán)的方法,并且只能在 For.Next 或 For Each.Next 循環(huán)中使用。 For 會將控制權(quán)轉(zhuǎn)移到 Next 之后的語句。當(dāng) For 用在嵌套的 For 循環(huán)中時, For 將控制權(quán)轉(zhuǎn)移到 For 所在位置的外層循環(huán)。 Function立即從包含該語句的 Function 過程中退出。程序會從調(diào)用 Function 的語句之后的語句繼續(xù)執(zhí)行。 Property立即從包含該語句的 Property 過程中退出。程序會從調(diào)用 Property 過程的語句之后的語句繼續(xù)執(zhí)行。 Sub立即從包含該語句的 Sub 過程中退出。程

12、序會從調(diào)用 Sub 過程的語句之后的語句繼續(xù)執(zhí)行。說明不要將 語句與 End 語句搞混了。 并不說明一個結(jié)構(gòu)的終止。Exit 語句示例本示例使用 Exit 語句退出 For.Next 循環(huán)、Do.Loop 循環(huán)及子過程。Sub ExitStatementDemo()Dim I, MyNum Do ' 建立無窮循環(huán)。 For I = 1 To 1000 ' 循環(huán) 1000 次。 MyNum = Int(Rnd * 1000) ' 生成一隨機(jī)數(shù)碼。 Select Case MyNum ' 檢查隨機(jī)數(shù)碼。 Case 7: Exit For ' 如果是 7,退出

13、 For.Next 循環(huán)。 Case 29: Exit Do ' 如果是 29,退出 Do.Loop 循環(huán)。 Case 54: Exit Sub ' 如果是 54,退出子過程。 End Select Next I LoopEnd Sub6、For.Next 語句以指定次數(shù)來重復(fù)執(zhí)行一組語句。For.Next語法 counter = start To end Step stepstatementsExit statements counter 語句的語法具有以下幾個部分:部分描述counter必要參數(shù)。用做循環(huán)計數(shù)器的數(shù)值變量。這個變量不能是布爾或數(shù)組元素。start必要參數(shù)。c

14、ounter 的初值。End必要參數(shù),counter 的終值。Step可選參數(shù)。counter 的步長。如果沒有指定,則 step 的缺省值為 1。Statements可選參數(shù)。放在 和 之間的一條或多條語句,它們將被執(zhí)行指定的次數(shù)。說明step 參數(shù)可以是正數(shù)或負(fù)數(shù)。step 參數(shù)值決定循環(huán)的執(zhí)行情況,如下所示:值循環(huán)執(zhí)行,如果正數(shù)或 0counter <= end負(fù)數(shù)counter >= end當(dāng)所有循環(huán)中的語句都執(zhí)行后,step 的值會加到 counter 中。此時,循環(huán)中的語句可能會再次執(zhí)行(基于循環(huán)開始執(zhí)行時同樣的測試),也可能是退出循環(huán)并從 語句之后的語句繼續(xù)執(zhí)行。提示

15、 在循環(huán)中改變 counter 的值,將會使程序代碼的閱讀和調(diào)試變得更加困難。循環(huán)中可以在任何位置放置任意個 Exit 語句,隨時退出循環(huán)。 Exit 經(jīng)常在條件判斷之后使用,例如 If.Then,并將控制權(quán)轉(zhuǎn)移到緊接在 之后的語句??梢詫⒁粋€ 循環(huán)放置在另一個 循環(huán)中,組成嵌套循環(huán)。不過在每個循環(huán)中的 counter 要使用不同的變量名。下面的體系結(jié)構(gòu)是正確的: I = 1 To 10 J = 1 To 10 K = 1 To 10 . K J I注意 如果省略 語句中的 counter,就像 counter 存在時一樣執(zhí)行。但如果 語句在它相對應(yīng)的 語句之前出現(xiàn),則會產(chǎn)生錯誤。For.Ne

16、xt 語句示例本示例使用 For.Next 語句創(chuàng)建一個字符串,其內(nèi)容為由 0 到 9 的十個數(shù)字所組成的字符串,每個字符串之間用空格隔開。外層循環(huán)使用一個變量當(dāng)作循環(huán)計數(shù)器,每循環(huán)一次,變量值減一。Dim Words, Chars, MyStringFor Words = 10 To 1 Step -1 ' 建立 10 次循環(huán)。 For Chars = 0 To 9 ' 建立 10 次循環(huán)。 MyString = MyString & Chars ' 將數(shù)字添加到字符串中。 Next Chars ' Increment counter MyString

17、 = MyString & " " ' 添加一個空格。Next Words7、If.Then.Else 語句根據(jù)表達(dá)式的值有條件地執(zhí)行一組語句。語法 condition statements elsestatements或者,可以使用塊形式的語法: condition statementsElseIf condition-n elseifstatements .elsestatementsEnd . 語句的語法具有以下幾個部分:部分描述condition必要參數(shù)。一個或多個具有下面兩種類型的表達(dá)式:數(shù)值表達(dá)式或字符串表達(dá)式,其運(yùn)算結(jié)果為 True 或 Fal

18、se。如果 condition 為 Null,則 condition 會視為 False。TypeOf objectname Is objecttype 形式的表達(dá)式。其中的 objectname 是任何對象的引用,而 objecttype 則是任何有效的對象類型。如果 objectname 是 objecttype 所指定的一種對象類型,則表達(dá)式為 True,否則為False。statements在塊形式中是可選參數(shù);但是在單行形式中,且沒有 子句時,則為必要參數(shù)。一條或多條以冒號分開的語句,它們在 condition 為 True 時執(zhí)行。8、Input # 語句從已打開的順序文件中讀出數(shù)

19、據(jù)并將數(shù)據(jù)指定給變量。語法 #filenumber, varlist # 語句的語法具有以下幾個部分:部分描述filenumber必要。任何有效的文件號。varlist必要。用逗號分界的變量列表,將文件中讀出的值分配給這些變量;這些變量不可能是一個數(shù)組或?qū)ο笞兞?。但是,可以使用變量描述?shù)組元素或用戶定義類型的元素。說明通常用 Write # 將 # 語句讀出的數(shù)據(jù)寫入文件。該語句只能用于以 或 Binary 方式打開的文件。在讀出數(shù)據(jù)時不經(jīng)修改就可直接將標(biāo)準(zhǔn)的字符串或數(shù)值數(shù)據(jù)指定給變量。下表說明如何處理其它輸入數(shù)據(jù):數(shù)據(jù)指定給變量的值分隔逗號或空白行Empty#NULL#Null#TRUE#

20、or #FALSE#True 或 False#yyyy-mm-dd hh:mm:ss#用表達(dá)式表示的日期與/或時間#ERROR errornumber#errornumber(此變量是一個 Variant,用來標(biāo)記錯誤)輸入數(shù)據(jù)中的雙引號符號 (" ") 將被忽略。文件中數(shù)據(jù)項(xiàng)目的順序必須與 varlist 中變量的順序相同,而且與相同數(shù)據(jù)類型的變量匹配。如果變量為數(shù)值類型而數(shù)據(jù)不是數(shù)值類型,則指定變量的值為零。在輸入數(shù)據(jù)項(xiàng)目時,如果已到達(dá)文件結(jié)尾,則會終止輸入,并產(chǎn)生一個錯誤。注意 為了能夠用 # 語句將文件的數(shù)據(jù)正確讀入到變量中,在將數(shù)據(jù)寫入文件時,要使用 Write

21、# 語句而不使用 Print # 語句。使用 Write # 語句可以確保將各個單獨(dú)的數(shù)據(jù)域正確分隔開。9、Input # 語句示例本示例使用 Input # 語句將文件內(nèi)的數(shù)據(jù)讀入兩個變量中。本示例假設(shè) TESTFILE文件內(nèi)含數(shù)行以 Write # 語句寫入的數(shù)據(jù);也就是說,每一行數(shù)據(jù)中的字符串部分都是用雙引號括起來,而與數(shù)字用逗號隔開,例如,("Hello", 234)。Dim MyString, MyNumberOpen "TESTFILE" For Input As #1 ' 打開輸入文件。Do While Not EOF(1) 

22、9; 循環(huán)至文件尾。 Input #1, MyString, MyNumber ' 將數(shù)據(jù)讀入兩個變量。 Debug.Print MyString, MyNumber ' 在立即窗口中顯示數(shù)據(jù)。LoopClose #1 ' 關(guān)閉文件。10、Load 語句把窗體或控件加載到內(nèi)存中。語法 objectobjec 所在處是要加載的 Form 對象、MDIForm 對象或控件數(shù)組元素的名稱。說明除非在加載窗體時不需要顯示窗體,否則對于窗體不需要使用 語句。在窗體還未被加載時,對窗體的任何引用(在 Set 或 If.TypeOf 語句以外)會自動加載該窗體。例如,Show 方法在

23、顯示窗體前會先加載它。一旦窗體被加載,不管它是否可見,它的屬性及控件會被應(yīng)用程序所改變。在某些情況下,也許需要在初始化時加載所有的窗體并在以后需要它們的時候顯示它們。當(dāng) Visual Basic 加載 Form 對象時,先把窗體屬性設(shè)置為初始值,再執(zhí)行 事件過程。當(dāng)應(yīng)用程序開始運(yùn)行時,Visual Basic 自動加載并顯示應(yīng)用程序的啟動窗體。在加載 MDIChild 屬性為 True 的 Form(換言之,子窗體)時,而此時 MDIForm 還未被加載,那么會在子窗體前自動加載 MDIForm。因?yàn)?MDI 子窗體不能被隱藏起來,所以在 Form_ 事件過程結(jié)束時馬上可以見到 MID 子窗體

24、。由 Visual Basic 函數(shù)產(chǎn)生的標(biāo)準(zhǔn)對話框,諸如 MsgBox 和 InputBox,不需要加載、顯示或卸載即可簡單地直接調(diào)用。Load 語句示例這個示例使用 Load 語句加載 Form 對象。要試用此示例,在 Form 對象的聲明部分粘貼以下代碼,然后運(yùn)行此例并單擊該 Form 對象。Private Sub Form_Click () Dim Answer, Msg as String ' 聲明變量。 Unload Form1 ' 卸載窗體。 Msg = "Form1 has been unloaded. Choose Yes to load and &

25、quot; Msg = Msg & "display the form. Choose No to load the form " Msg = Msg & "and leave it invisible." Answer = MsgBox(Msg, vbYesNo) ' 獲得用戶響應(yīng)。 If Answer = vbYes Then ' 測試應(yīng)答。 Show ' 如果回答 Yes,則顯示窗體。 Else Load Form1 ' 如果回答 NO,則僅加載窗體。 Msg = "Form1 is now

26、 loaded. Choose OK to display it." MsgBox Msg ' 顯示消息。 Show ' 顯示窗體。 End IfEnd Sub11、Mid 語句在一 Variant (String) 變量中以另一個字符串中的字符替換其中指定數(shù)量的字符。語法(stringvar, start, length) = string 語句的語法具有下面幾個部分:部分描述stringvar必要參數(shù)。被更改的字符串變量名。start必要參數(shù);Variant (Long)。stringvar 中被替換的字符開頭位置。length可選參數(shù);Variant (Long

27、)。被替換的字符數(shù)。如果省略,string將全部用上。string必要參數(shù)。字符串表達(dá)式,替換部分 stringvar 的字符串。說明被替換的字符數(shù)量總是小于或等于 stringvar 的字符數(shù)。注意 MidB 語句作用于包含在字符串中的字節(jié)數(shù)據(jù)。在 MidB 語句中,start 指定 stringvar 中被替換的字節(jié)開頭位置,而 length 為替換的字節(jié)數(shù)。Mid 語句示例本示例使用 Mid 語句將某字符串中的幾個字符替換為其他的字符。Dim MyStringMyString = "The dog jumps" ' 設(shè)置字符串初值。Mid(MyString,

28、5, 3) = "fox" ' MyString = "The fox jumps"。Mid(MyString, 5) = "cow" ' MyString = "The cow jumps"。Mid(MyString, 5) = "cow jumped over" ' MyString = "The cow jumpe"。Mid(MyString, 5, 3) = "duck" ' MyString = "The

29、 duc jumpe"。12、Open 語句能夠?qū)ξ募斎?輸出 (I/O)。語法 pathname For mode Access access lock As #filenumber Len=reclength 語句的語法具有以下幾個部分:部分描述pathname必要。字符串表達(dá)式,指定文件名,該文件名可能還包括目錄、文件夾及驅(qū)動器。mode必要。關(guān)鍵字,指定文件方式,有 Append、Binary、Input、Output、或 Random 方式。如果未指定方式,則以 Random 訪問方式打開文件。access可選。關(guān)鍵字,說明打開的文件可以進(jìn)行的操作,有 Read、Writ

30、e、或 Read Write 操作。lock可選。關(guān)鍵字,說明限定于其它進(jìn)程打開的文件的操作,有 Shared、Lock Read、Lock Write、和 Lock Read Write 操作。filenumber必要。一個有效的文件號,范圍在 1 到 511 之間。使用 FreeFile 函數(shù)可得到下一個可用的文件號。reclength可選。小于或等于 32,767(字節(jié))的一個數(shù)。對于用隨機(jī)訪問方式打開的文件,該值就是記錄長度。對于順序文件,該值就是緩沖字符數(shù)。說明對文件做任何 I/O 操作之前都必須先打開文件。 語句分配一個緩沖區(qū)供文件進(jìn)行 I/O 之用,并決定緩沖區(qū)所使用的訪問方式。

31、如果 pathname 指定的文件不存在,那么,在用 Append、Binary、Output、或 Random 方式打開文件時,可以建立這一文件。如果文件已由其它進(jìn)程打開,而且不允許指定的訪問類型,則 操作失敗,而且會有錯誤發(fā)生。如果 mode 是 Binary 方式,則 Len 子句會被忽略掉。重要 在 Binary、Input 和 Random 方式下可以用不同的文件號打開同一文件,而不必先將該文件關(guān)閉。在 Append 和 Output 方式下,如果要用不同的文件號打開同一文件,則必須在打開文件之前先關(guān)閉該文件。13、Open 語句示例本示例示范 Open 語句的不同用法來做到文件的輸

32、出與輸入。下列代碼以順序輸入模式打開 TESTFILE 文件。Open "TESTFILE" For Input As #1' 若要以其他方式打開文件,必需先關(guān)閉此文件。Close #1下列代碼以只允許寫操作的二進(jìn)制方式打開文件。Open "TESTFILE" For Binary Access Write As #1' 若要以其他方式打開文件,必需先關(guān)閉此文件。Close #1下列代碼以隨機(jī)方式打開文件,文件中含有用戶自定義數(shù)據(jù)類型 Record 的記錄。Type Record ' 定義用戶自定義數(shù)據(jù)類型。 ID As Inte

33、ger Name As String * 20End TypeDim MyRecord As Record ' 聲明變量。Open "TESTFILE" For Random As #1 Len = Len(MyRecord)' 若要以其他方式打開文件,必需先關(guān)閉此文件。Close #1下列代碼以順序輸出方式打開文件;任何過程都可以讀寫該文件。Open "TESTFILE" For Output Shared As #1' 若要以其他方式打開文件,必需先關(guān)閉此文件。Close #1下列代碼以只允許讀的二進(jìn)制方式打開文件;其他過程不

34、可以讀該文件。Open "TESTFILE" For Binary Access Read Lock Read As #114、Print # 語句將格式化顯示的數(shù)據(jù)寫入順序文件中。語法 #filenumber, outputlist # 語句的語法具有以下幾個部分:部分描述filenumber必要。任何有效的文件號。outputlist可選。表達(dá)式或是要打印的表達(dá)式列表。設(shè)置outputlist 參數(shù)的設(shè)置如下:Spc(n) | Tab(n) expression charpos設(shè)置描述Spc(n)用來在輸出數(shù)據(jù)中插入空白字符,而 n 指的是要插入的空白字符數(shù)。Tab(n

35、)用來將插入點(diǎn)定位在某一絕對列號上,這里,n 是列號。使用無參數(shù)的 Tab 將插入點(diǎn)定位在下一個打印區(qū)的起始位置。expression要打印的數(shù)值表達(dá)式或字符串表達(dá)式。charpos指定下一個字符的插入點(diǎn)。使用分號將插入點(diǎn)定位在上一個顯示字符之后。用 Tab(n) 將插入點(diǎn)定位在某一絕對的列號上,用無參數(shù)的 Tab 將插入點(diǎn)定位在下一個打印區(qū)的起始處。如果省略 charpos,則在下一行打印下一個字符。說明通常用 Line Input # 或 Input 讀出 # 在文件中寫入的數(shù)據(jù)。如果省略參數(shù) outputlist,而且,filenumber 之后只含有一個列表分隔符,則將一空白行打印到文

36、件中。多個表達(dá)式之間可用一個空白或一個分號隔開??瞻着c分號等效。對于 Boolean 類型的數(shù)據(jù),打印的是 True 或 False。無論在什么國別,都不將 True 和 False 這兩個關(guān)鍵字翻譯出來。使用操作系統(tǒng)所能夠辨認(rèn)的標(biāo)準(zhǔn)短日期格式可將 Date 類型的數(shù)據(jù)寫入文件中。在未指定日期或時間部件或這些部件的設(shè)置為零時,只將指定的部分寫入文件中。如果 outputlist 的數(shù)據(jù)是 Empty,則不將任何數(shù)據(jù)寫入文件。但是,如果 outputlist 的數(shù)據(jù)是 Null,則將 Null 寫入文件。對于 Error 類型的數(shù)據(jù)而言,輸出的數(shù)據(jù)看起來與 Error errorcode 一樣。

37、而且無論在什么地區(qū),都不將 Error 關(guān)鍵字翻譯出來。用 # 寫入文件的所有數(shù)據(jù)都是國際通用的;也就是說,可以正確利用十進(jìn)制分隔符將這些數(shù)據(jù)格式化。因?yàn)?# 將數(shù)據(jù)的圖像寫入文件,所以必須將各項(xiàng)數(shù)據(jù)分隔開來,以便正確打印。如果使用無參數(shù)的 Tab 將打印位置移動到下一個打印區(qū),則 # 也會將打印字段之間的空白寫入文件中。注意 如果今后想用 Input # 語句讀出文件的數(shù)據(jù),就要用 Write # 語句而不用 # 語句將數(shù)據(jù)寫入文件。因?yàn)樵谑褂?Write # 時,將數(shù)據(jù)域分界就可確保每個數(shù)據(jù)域的完整性,因此可用 Input # 再將數(shù)據(jù)讀出來。使用 Write # 還能確保任何地區(qū)的數(shù)據(jù)都

38、被正確讀出。Print # 語句示例本示例使用 Print # 語句將數(shù)據(jù)寫入一個文件。Open "TESTFILE" For Output As #1 ' 打開輸出文件。Print #1, "This is a test" ' 將文本數(shù)據(jù)寫入文件。Print #1, ' 將空白行寫入文件。Print #1, "Zone 1"; Tab ; "Zone 2" ' 數(shù)據(jù)寫入兩個區(qū)(print zones)。Print #1, "Hello" ; " &qu

39、ot; ; "World" ' 以空格隔開兩個字符串。Print #1, Spc(5) ; "5 leading spaces " ' 在字符串之前寫入五個空格。Print #1, Tab(10) ; "Hello" ' 將數(shù)據(jù)寫在第十列。' 賦值 Boolean、Date、Null 及 Error 等。Dim MyBool, MyDate, MyNull, MyErrorMyBool = False : MyDate = #February 12, 1969# : MyNull = NullMyErr

40、or = CVErr(32767)' True、False、Null 及 Error 會根據(jù)系統(tǒng)的地區(qū)設(shè)置自動轉(zhuǎn)換格式。' 日期將以標(biāo)準(zhǔn)的短式日期的格式顯示。Print #1, MyBool ; " is a Boolean value"Print #1, MyDate ; " is a date"Print #1, MyNull ; " is a null value"Print #1, MyError ; " is an error value"Close #1 ' 關(guān)閉文件。15、Ra

41、ndomize 語句初始化隨機(jī)數(shù)生成器。語法 number可選的 number 參數(shù)是 Variant 或任何有效的數(shù)值表達(dá)式。說明 用 number 將 Rnd 函數(shù)的隨機(jī)數(shù)生成器初始化,該隨機(jī)數(shù)生成器給 number 一個新的種子值。如果省略 number,則用系統(tǒng)計時器返回的值作為新的種子值。如果沒有使用 ,則(無參數(shù)的)Rnd 函數(shù)使用第一次調(diào)用 Rnd 函數(shù)的種子值。注意 若想得到重復(fù)的隨機(jī)數(shù)序列,在使用具有數(shù)值參數(shù)的 之前直接調(diào)用具有負(fù)參數(shù)值的 Rnd。使用具有同樣 number 值的 是不會得到重復(fù)的隨機(jī)數(shù)序列的。Randomize 語句示例本示例用 Randomize 語句初始

42、化隨機(jī)數(shù)生成器。由于忽略了數(shù)值參數(shù), 所以 Randomize 用 Timer 函數(shù)的返回值作為新的隨機(jī)數(shù)種子值。Dim MyValueRandomize ' 對隨機(jī)數(shù)生成器做初始化的動作。MyValue = Int(6 * Rnd) + 1) ' 生成 1 到 6 之間的隨機(jī)數(shù)值。16、Rem 語句用來在程序中包含注釋。語法 comment也可以使用如下語法:' commentcomment 參數(shù)是可選的,指要包括的任何注釋文本。在 關(guān)鍵字與 comment 之間要加一個空格。說明如果使用行號或行標(biāo)簽,則可以從 GoTo 或 GoSub 語句轉(zhuǎn)到一個 </fon

43、 17、Static 語句在過程級別中使用,用于聲明變量并分配存儲空間。在整個代碼運(yùn)行期間都能保留使用 語句聲明的變量的值。語法 varname(subscripts) As New type , varname(subscripts) As New type . . . 語句的語法包含下面部分:部分描述varname必需的。變量的名稱;遵循標(biāo)準(zhǔn)變量命名約定。subscripts可選的。數(shù)組變量的維數(shù);最多可以定義 60 維的多維數(shù)組。subscripts 參數(shù)使用下面的語法:lower To upper ,lower To upper . . .如果不顯式指定 lower,則數(shù)組的下界由 O

44、ption Base 語句控制。如果沒有 Option Base 語句則下界為 0。New可選的。用它可以隱式地創(chuàng)建對象的關(guān)鍵字。如果使用 New 聲明對象變量,則在第一次引用該變量時將新建該對象的實(shí)例,因此不必使用 Set 語句來對該對象引用賦值。New 關(guān)鍵字不能用來聲明任何內(nèi)部數(shù)據(jù)類型的變量,也不能用來聲明從屬對象的實(shí)例。type可選的。變量的數(shù)據(jù)類型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(對變長的字符串)、String * length(對定長的字符串)、Obje

45、ct、Variant、用戶定義類型或?qū)ο箢愋?。所聲明的每個變量都要有一個單獨(dú)的 As type 子句。說明模塊的代碼開始運(yùn)行后,使用 語句聲明的變量會一直保持其值,直至該模塊復(fù)位或重新啟動??梢栽诜庆o態(tài)的過程中使用 語句顯式聲明只在該過程內(nèi)可見,但具有與包含該過程定義的模塊相同生命期的變量??梢栽谶^程中使用 語句來聲明在過程調(diào)用之間仍能保持其值的變量的數(shù)據(jù)類型。例如,下面的語句聲明了一個定長的整型數(shù)組: EmployeeNumber(200) As Integer下面的語句為 worksheet 的新實(shí)例聲明了一個變量: X As New Worksheet如果在定義對象變量時沒有使用 New

46、 關(guān)鍵字,則在使用該變量之前,必須使用 Set 語句將一個已有的對象賦給這個引用對象的變量。在被賦值之前,所聲明的這個對象變量有一個特定值 Nothing,這個值表示該變量沒有指向任何對象的實(shí)例。若在聲明中使用了 New 關(guān)鍵字,則在第一次引用對象時將新建一個該對象的實(shí)例。如果不指定數(shù)據(jù)類型或?qū)ο箢愋?,且在模塊中沒有使用 Deftype 語句,則按缺省情況,定義該變量為 Variant 類型。注意 語句與 關(guān)鍵字很相似,但是針對不同的效果來使用的。如果使用 關(guān)鍵字(如 Sub CountSales ())來聲明一個過程,則該過程中的所有局部變量的存儲空間都只分配一次,且這些變量的值在整個程序運(yùn)

47、行期間都存在。對非靜態(tài)過程而言,該過程每次被調(diào)用時都要為其變量分配存儲空間,當(dāng)該過程結(jié)束時都要釋放其變量的存儲空間。 語句則用來在非靜態(tài)的過程中聲明特定的變量,以使其在程序運(yùn)行期間能保持其值。在初始化變量時,數(shù)值變量被初始化為 0,變長的字符串被初始化為一個零長度的字符串 (""),而定長的字符串則用 0 填充。Variant 變量被初始化為 Empty。用戶自定義類型的變量的每個元素作為各自獨(dú)立的變量進(jìn)行初始化。注意 如果在過程中使用 語句,應(yīng)和其它的聲明語句(如 Dim)一樣將其放在過程的開始。Static 語句示例該示例使用 Static 語句,可以在模塊代碼運(yùn)行期間

48、一直保持變量的值。'函數(shù)定義。Function KeepTotal(Number) '只有 Accumulate 變量能在調(diào)用過程之間保持其值。 Static Accumulate Accumulate = Accumulate + Number KeepTotal = AccumulateEnd Function'Static 函數(shù)定義。Static Function MyFunction(Arg1, Arg2, Arg3) '所有局部變量在函數(shù)調(diào)用之間都能保持其值。 Accumulate = Arg1 + Arg2 + Arg3 Half = Accumul

49、ate / 2 MyFunction = HalfEnd Function18、Unload 語句從內(nèi)存中卸載窗體或控件。語法 objectobject 所在處是要卸載的 Form 對象或控件數(shù)組元素的名稱。說明當(dāng)所占內(nèi)存另有它用,或需要重新設(shè)置窗體、控件的屬性為初始值時,就有必要卸載窗體或控件。在卸載窗體前,會發(fā)生 Query_ 事件過程,然后是 Form_ 事件過程。在其中任一過程中設(shè)置 cancel 參數(shù)為 True 可防止窗體被卸載。若為 MDIForm 對象,先發(fā)生 MDIForm 對象的 Query_ 事件過程,接著是各 MDI 子窗體 的 Query_ 事件過程和 Form_ 事

50、件過程,最后是 MDIForm 對象的 Form_ 事件過程。當(dāng)窗體卸載之后,所有在運(yùn)行時 放到該窗體上的控件都不再是可訪問的。在設(shè)計時放到該窗體上的控件將保持不變;但是,當(dāng)窗體重新加載時,在運(yùn)行時對這些控件及其屬性的任何更改將丟失。所有對于窗體屬性的更改也將丟失。對窗體上任何控件的訪問會導(dǎo)致窗體重新加載。注意 在卸載窗體時,只有顯示的部件被卸載。和該窗體模塊相關(guān)聯(lián)的代碼還保持在內(nèi)存中。只有在運(yùn)行時添加到窗體上的控件數(shù)組元素才能用 語句卸載。重新加載被卸載的控件時,其屬性會被重新初始化。Unload 語句示例這個示例使用 Unload 語句來卸載 Form 對象。在運(yùn)行此例前,在 Form 對

51、象的聲明部分粘貼以下代碼,然后運(yùn)行此例并單擊該 Form 對象。Private Sub Form_Click () Dim Answer, Msg ' 聲明變量。 Unload Form1 ' 卸載窗體。 Msg = "Form1 has been unloaded. Choose Yes to load and " Msg = Msg & "display the form. Choose No to load the form " Msg = Msg & "and leave it invisible.&qu

52、ot; Answer = MsgBox(Msg, vbYesNo) ' 獲得用戶響應(yīng)。 If Answer = vbYes Then ' 測試應(yīng)答。 Show ' 如果回答 Yes,則顯示窗體。 Else Load Form1 ' 如果回答 No,僅加載窗體。 Msg = "Form1 is now loaded. Choose OK to display it." MsgBox Msg ' 顯示信息。 Show ' 顯示窗體。 End IfEnd Sub19、While.Wend 語句 只要指定的條件為 True,則會重復(fù)執(zhí)

53、行一系列的語句。語法 conditionstatements 語句的語法具有以下幾個部分:部分描述condition必要參數(shù)。數(shù)值表達(dá)式或字符串表達(dá)式,其計算結(jié)果為 True 或 False。如果 condition 為 Null,則 condition 會視為 False。statements可選參數(shù)。一條或多條語句,當(dāng)條件為 True 時執(zhí)行。說明如果 condition 為 True,則所有的 statements 都會執(zhí)行,一直執(zhí)行到 語句。然后再回到 語句,并再一次檢查 condition,如果 condition 還是為 True,則重復(fù)執(zhí)行。如果不為 True,則程序會從 語句之

54、后的語句繼續(xù)執(zhí)行。 循環(huán)也可以是多層的嵌套結(jié)構(gòu)。每個 匹配最近的 語句。提示 Do.Loop 語句提供了一種結(jié)構(gòu)化與適應(yīng)性更強(qiáng)的方法來執(zhí)行循環(huán)。While.Wend 語句示例本示例使用 While.Wend 語句來增加計數(shù)變量的值。如果條件判斷值為 True,則循環(huán)內(nèi)的語句將一直執(zhí)行下去。Dim CounterCounter = 0 ' 設(shè)置變量初值。While Counter < 20 ' 測試計數(shù)器的值。 Counter = Counter + 1 ' 將計數(shù)器的值加一。Wend ' 當(dāng) Counter > 19 時則循環(huán)終止。Debug.Pri

55、nt Counter ' 在“立即”窗口中顯示數(shù)字 20。20、Write # 語句 將數(shù)據(jù)寫入順序文件。語法 #filenumber, outputlist # 語句的語法具有以下幾個部分:部分描述filenumber必要。任何有效的文件號。outputlist可選。要寫入文件的數(shù)值表達(dá)式或字符串表達(dá)式,用一個或多個逗號將這些表達(dá)式分界。說明通常用 Input # 從文件讀出 # 寫入的數(shù)據(jù)。如果省略 outputlist,并在 filenumber 之后加上一個逗號,則會將一個空白行打印到文件中。多個表達(dá)式之間可用空白、分號或逗號隔開??瞻缀头痔柕刃?。用 # 將數(shù)據(jù)寫入文件時將遵循幾個通用的約定,使得無論什么國別都可用 Input # 讀出并正確解釋數(shù)據(jù): · 在寫入數(shù)值數(shù)據(jù)時總使用句號作為十進(jìn)制分隔符。· 對于 Boolean 類型的數(shù)據(jù),或者打印 #TRUE# 或者打印 #FALSE#。無論在什么地區(qū),都不將 True 和 False 這兩個關(guān)鍵字翻譯出來。· 使用通用的日期格式將 Date 類型的數(shù)據(jù)寫入文件中。當(dāng)日

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論