foxtable軟件開發(fā)基礎使用說明書_第1頁
foxtable軟件開發(fā)基礎使用說明書_第2頁
foxtable軟件開發(fā)基礎使用說明書_第3頁
foxtable軟件開發(fā)基礎使用說明書_第4頁
foxtable軟件開發(fā)基礎使用說明書_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、寫給初學者如果你是初次接觸編程,那么我們給你幾個非常重要的建議: 一、凡事就怕不敢入門雖然Foxtable看上去比易表難了一些,但是只要你靜下心來看幫助,你會發(fā)現(xiàn)其實并沒有難到哪去,深入之后,你也許會覺得更容易。凡事就怕不敢入門,一旦入門就會覺得:不過如此嘛!二、不要嘗試去記住一切學習編程的重點,不是記住什么,而是要了解每一段示例代碼的原理和邏輯。要知道,優(yōu)秀的程序員之所以優(yōu)秀,絕不是因為他們記住了什么,他們和你我一樣,需要不停地借助幫助文件。三、不要急于求成磨刀不誤砍柴工,心急也吃不得熱豆腐。幫助文件非常詳細,提供了大量的示例,內(nèi)容也是循序漸進的,只要你多點耐心,就一定能掌握。有的用戶只是粗

2、略地看了一次幫助,連基本的概念都沒有掌握,就開始開發(fā)系統(tǒng),結果往往是事倍功半。四、實踐出真知要想全面、深入地掌握Foxtable,在學習初期,應該將幫助中的示例全部實際操作一次,以便加深印象。學習的后期,可以自己嘗試寫一寫代碼進行測試,特別是有疑惑的地方。五、三人行必有我?guī)熑绻阍趯W習和應用的過程中遇到難題,自己無法解決,可以訪問Foxtable社區(qū)。在尋求幫助的同時,也別忘記幫助他人,讓我們一起進入Foxtable編程的奇妙天地,一起來提高吧。Foxtable社區(qū)地址:最重要的兩章Foxtable的開發(fā)篇非常龐大,其中最重要的有兩章,分別是編程基礎和Foxtable編程。這兩章既是基礎,又是

3、精華,可以說掌握了這兩章的內(nèi)容,剩余的內(nèi)容都是“小菜”,因為開發(fā)篇除這兩章之外的內(nèi)容,基本上都是參考性質,在學習的過程中,只需做到有所了解即可,在實際開發(fā)的時候再來查閱。所以我們在學習開發(fā)篇的時候,應該在這兩章花上最多的精力,特別是Foxtable編程這一章,要反復看,細致看,多實踐,只有基礎打好了,才能融會貫通,才能在開發(fā)過程中做到游刃有余。再好的程序員,也不能保證自己的代碼和設置100%正確,肯定要反復調試,才能最終達到目標。一些錯誤可能直到運行的時候才被發(fā)現(xiàn),普通的錯誤沒關系,重新修改代碼和設置即可;不過有的錯誤可能非常嚴重,以致每次打開項目文件時,F(xiàn)oxtable就會崩潰退出,或者無法

4、正常進入操作界面;怎樣才能回到正常的操作界面,給開發(fā)者提供更改錯誤的機會呢?很簡單,首先按住Ctrl鍵,然后打開出現(xiàn)錯誤的項目文件,直到項目文件被完全打開,再松開Ctrl鍵即可。如果打開的過程中出現(xiàn)了登錄窗口,先松開Ctrl鍵,選擇以開發(fā)者身份登錄,輸入密碼,然后重新按住Ctrl鍵,單擊登錄窗口的確定按鈕,直到項目文件被完全打開,再松開Ctrl鍵。以這種方式打開的項目文件:1、不會執(zhí)行用戶代碼。2、外部表不會加載數(shù)據(jù),只加載結構。3、系統(tǒng)菜單將代替用戶菜單。在修改錯誤代碼和設置后,重新打開項目文件。提示:如果你確認你的代碼沒有問題,但是還是出現(xiàn)莫名其妙的錯誤,可以嘗試先刪除項目目錄下的子目錄C

5、atch,然后重新打開項目。FoxTable使用的編程語言是Visual Basic,即使您完全沒有接觸過編程,也不用擔心,因為Foxtable使用的只是Visual Basic中很少的一部分,大多數(shù)人都可以在短時間內(nèi)掌握。Visual Basic近似于自然語言,不區(qū)分大小寫,非常適合普通用戶學習使用,這就是我們選擇Visual Basic作為用戶二次開發(fā)語言的原因。Visual Basic編程是面向對象的,而面向對象的編程,就離不開屬性、方法和事件。程序開發(fā)的任務,就是根據(jù)用戶的動作與要求來設置屬性、執(zhí)行方法和響應事件。那么什么是屬性、方法和事件呢?我們暫不講編程,先來一個現(xiàn)實生活的例子,例

6、如對于一輛汽車來說:1、品牌、型號、顏色、座椅個數(shù)、發(fā)動機排量等等,就是汽車的屬性。2、啟動、熄火、轉彎、剎車就是汽車的方法,汽車通過執(zhí)行這些方法來完成日常工作。3、為什么踩油門會加速,而踩剎車會減速? 這是因為駕駛員的每一個操作,都會被當作一個“事件”,并通過傳感裝置通知到汽車的控制系統(tǒng)。再來看Foxtable中的表,表名、行數(shù)、列數(shù)就是它的屬性;增加行、刪除行就是它的方法;而執(zhí)行方法,又會引發(fā)對應的事件,通知系統(tǒng)某個表已經(jīng)增加了一行、已經(jīng)刪除了一行。任何你在Foxtable中所看到的,包括表,行、列,窗口、菜單等等,都可以看作是一個對象,有自己的屬性、方法和事件。甚至簡單到一個數(shù)據(jù),也可以

7、看作是一個對象,也會有自己的屬性、方法;例如一個字符串,它也有自己的屬性,例如長度,還有自己的方法,例如替換、插入、大小寫轉換等等。數(shù)據(jù)類型Visual Basic 有以下數(shù)據(jù)類型:數(shù)據(jù)類型說明String任意個數(shù)的字符,常稱為字符串。Date日期時間Boolean邏輯值,邏輯值就兩個,分別是True(是)和False(否)。Byte微整數(shù),介于 0 到 255 之間的微整數(shù)Short短整數(shù),介于 32768 到 32767 之間的短整型Integer整數(shù),介于 2147483648 到 2147483647 之間的整數(shù)。Long長整數(shù),值的范圍為 -9223372036854775808 到

8、 9223372036854775807。Single單精度小數(shù),單精度小數(shù),有效數(shù)字為7位。Double雙精度小數(shù),有效數(shù)字為15位。Decimal高精度小數(shù),有高達28位的有效數(shù)字,適用于要求使用大量有效的整數(shù)及小數(shù)位數(shù)并且沒有舍入錯誤的財務計算。Object通用型,可存放任何類型的數(shù)據(jù)。數(shù)值類型較多,一般情況下,小數(shù)用Double型,整數(shù)用Integer型即可,如果整數(shù)范圍較大,可以用Long型。我們最常用的數(shù)據(jù)類型是:String、Date、Boolean、Integer、Long、Double。 什么是有效數(shù)字?簡單地說,就是從左邊第一個不是0的數(shù)字算起,直到最后一個數(shù)字,就是一個數(shù)

9、值的有效數(shù)字,例如1.324的有效數(shù)字是4位(1、3、2、4),1.3240的有效數(shù)字是5位(1、3、2、4、0),而0.024的有效數(shù)字是兩位(2、4)。聲明變量變量用來在執(zhí)行代碼的過程中臨時存放數(shù)據(jù),要使用一個變量,必須先聲明它。聲明一個變量,就是要指定變量的名稱和它的數(shù)據(jù)類型。聲明變量的語法是:Dim 變量名 As 數(shù)據(jù)類型例如:Dim Name As String表示聲明了一個新的String(字符串)型變量,變量名為“Name”。再例如:Dim riqi As Date 表示聲明了一個新的Date(日期)型變量,變量名為“riqi”。可以在定義變量的同時指定其初始值,例如:Dim N

10、ame As String = foxtable表示聲明了一個新的String(字符串)型變量,變量名為“Name”,初始值為“foxtable”。可以在同一行定義多個變量,前提是這些變量的類型相同,變量名之間用逗號分割,例如:Dim Val1,Val2 As IntegerDim Str1,Str2 As String上面的代碼,定義了兩個整數(shù)型變量Val1、Val2,以及兩個字符型變量Str1、Str2。提示:上面出現(xiàn)的彩色字符,是Foxtable的代碼編輯器自動加上去的,只是為了便于閱讀,并無特殊的意義。關于變量名變量名稱必須以字符或者下劃線( _ )開始,而且至少應該包括一個字符或者數(shù)

11、字。變量名不能包含除下劃線( _ )之外的符號和空格。變量名也不能是關鍵詞,所謂關鍵詞,就是對Visual Basic有特殊意義的單詞,例如上面的Dim、As。關鍵詞有幾百個,你很難全部記住的,但你只要記住一點,如果輸入代碼,單擊“確定”按鈕后,提示“關鍵詞作為標識符無效!”,那么就表明你可能用關鍵詞作為變量名了。圓點符號任何對象的方法和屬性,都必須通過圓點符號才能調用和訪問,例如:Dim d As DateDim i As Integeri = d.Monthd = d.AddDays(36) 日期型數(shù)據(jù)有一個屬性Month,用于返回該日期的月份,我們通過圓點符號來訪問該屬性:i = d.M

12、onth 現(xiàn)在變量i的值等于日期d的月份。日期型數(shù)據(jù)有一個AddDays方法,用于給日期加上指定的天數(shù),并返回新的日期,我們同樣通過原點符號調用這個方法:d = d.AddDays(36) 現(xiàn)在變量d等于原日期加上36天后的新日期。上面的屬性和方法我們會在后續(xù)章節(jié)介紹,你現(xiàn)在只需了解圓點符號的用法即可。共享成員例如我們定義了一個日期變量d,那么通過該變量的Month屬性可得到其月份值:Dim d As Date = #12/31/2008#Dim i As integer = d.Month上面的代碼通過Month屬性獲得日期型變量d的月份值,并保存在整數(shù)型變量i中。Month屬性和具體的日期

13、變量相關,不同的日期變量,Month屬性返回不同的值;事實上,絕大多數(shù)屬性,都和Month屬性一樣,是和具體變量相關的。但是有一些屬性是不同的,它不是通過變量,而是通過類型名稱訪問,例如要得到今天的日期值:Dim d As Dated = Date.Today上面的代碼將今天的日期值保存在變量d中。請注意用于返回當天日期值的Today屬性,它不屬于任何一個日期型變量,而是屬于日期類型Date,我們直接通過Date類型來訪問這個屬性。這很好理解,Today這個屬性返回的是今天的日期值,和具體的日期變量無任何關系。我們將這種直接通過類型名稱訪問的屬性,稱為共享屬性。同樣直接通過類型名稱執(zhí)行的方法,

14、稱為共享方法。在這里,共享的意思就是:大家共用的,不屬于某個具體變量的。命令窗口這一節(jié)并不是Visual Basic的內(nèi)容,但是為了便于我們接下來的學習,我們有必要先插入這么一節(jié)。我們在學習的過程中,會接觸到大量的示例代碼,有時我們有必要通過執(zhí)行示例代碼,來加深印象、解除疑慮。命令窗口可以直接輸入并執(zhí)行代碼。執(zhí)行代碼在“雜項”功能區(qū),單擊下面的按鈕,可以打開命令窗口:命令窗口右下角有一個“執(zhí)行”按鈕,用于執(zhí)行你輸入的代碼:查看執(zhí)行結果Foxtable提供了一個Output類型,該類型有一個共享方法Show,用于在命令窗口顯示信息。例如將下面的代碼復制到命令窗口執(zhí)行:Dim i1 As Inte

15、ger = 1Dim i2 As Integeri2 = i1 * 2Output.Show(i2) Output.Show顯示的信息,位于命令窗口的信息顯示區(qū),具體位置請看下面的圖片:重要特性命令窗口為非模式窗口,可以在不關閉命令窗口的情況下,繼續(xù)進行其它操作,例如編輯數(shù)據(jù)、執(zhí)行菜單命令等等。命令窗口的輔助功能詞匯:對于初學編程的人來說,記住Integer、Double、String這些單詞不是一件很容易的事,英文基礎差的用戶更甚。不過沒關系,命令窗口的詞匯頁,列出了所有的常見詞匯,雙擊某個詞匯,即可自動輸入該詞匯:字段在編寫代碼的時候,要記住所有的表名和列名,幾乎是一個不可能的任務。其實完

16、全不需要為此擔心,命令窗口的字段頁列出了所有表的字段(列),雙擊即可自動插入字段名。你還可以選擇插入的字段名是否用雙引號或單引號括起來,還是不需要任何引號。幫助命令窗口的幫助頁內(nèi)置了整套幫助文檔,可以讓大家更便捷地獲得幫助。不過我個人不太喜歡這個內(nèi)置的幫助,我覺得獨立的幫助文檔使用起來更方便。命令窗口的自動輸入功能在命令窗口輸入:Dim x As d然后按Tab鍵,將列出所有以d開頭的類型供選擇:按上下箭頭鍵移動光標,可以選擇類型,將光標移到Date,按回車即可輸入類型Date:回車后,按下圖所示輸入x.,然后按Tab鍵,系統(tǒng)會自動判斷出變量x為日期型,然后列出日期類型所有的方法和屬性供選擇:

17、選擇AddMonths,然后按回車,會自動輸入AddMonths,同時顯示AddMonths的幫助:不是任何時候都需要選擇的,例如輸入:Dim x As Stringx.e按Tab鍵,會自動輸入EndsWith:Dim x As Stringx.EndsWith這是因為x是一個字符型變量,而字符型變量以E開頭的屬性或者方法,就只有EndsWith。再例如:Dim x As Stringx.r按Tab鍵,將列出字符型以r開頭的屬性和方法:顯然手工輸入能記住的開頭字符,可以更加快速的定位所需要的成員。目前介紹的是命令窗口(代碼編輯器)的基本功能,其它功能,我們會隨著學習的深入逐個介紹。可以看到,在

18、Foxtable中編寫代碼,并不需要死記的,不僅可以自動輸入類型、屬性和方法,甚至連幫助都是自動顯示的。自動全角轉換和著色在默認的情況下,代碼編輯器會自動將全角字符轉換為半角,如果你不喜歡這種強制轉換,可以在第一行代碼輸入:。例如:Dim s1 As Strings1 = 我喜歡Foxtable,因為.Output.Show(s1)此外編輯器會用不同的顏色標出各種關鍵詞,以及表名和列名,如果你的電腦性能不太好,代碼又比較長,這種代碼自動著色的功能會耗費較長的時間,此時你只需在第一行輸入.,即可關閉自動著色。例如:.Dim s1 As Strings1 = 我喜歡Foxtable,因為.Outp

19、ut.Show(s1)如果你希望同時關閉全角轉換和著色,只需在第一行輸入.。例如:.Dim s1 As Strings1 = 我喜歡Foxtable,因為.Output.Show(s1)代碼注釋給代碼的關鍵位置加上注釋,是一個很好的習慣。注釋以符號 開始,通常是單獨一行,或者位于某一行代碼之后。如果注釋和代碼在同一行,注釋和代碼之間應該至少有一個空格。注釋不會對代碼的運行有任何影響。例如:下面的代碼用于測試Month屬性,請復制到命令窗口執(zhí)行Dim d1 As Date 定義變量d1d1 = #12/31/2008# 給變量賦值Output.Show(d1.Month) 在命令窗口顯示月份上面

20、的代碼只是為了說明如何加注釋,實際使用的時候,只需給關鍵的位置加上注釋即可,太多的注釋,反而會影響代碼的可讀性。在代碼編輯窗口,注釋的顏色為灰色。字符常量字符型常量用雙引號括起來,例如:Dim s As Strings = NBA等效于:Dim s As String = NBA 表示定義一個字符變量s,并將s的值設為“NBA”。可以在定義變量的時候,設定該變量為指定個數(shù)的某字符組成,語法為:Dim 變量名 As New String(字符, 重復次數(shù))例如:Dim s As New String(*, 5)變量s的值將等于*,也就是由5個符號*組成。也可以在定義變量后,用New String

21、語句給變量賦值,例如:Dim s As Strings = New String(*, 5)實際上上面的語句完全等效于:Dim s As Strings = *或:Dim s As String = *不過假定你要將變量設置為100個空格或100個符號*,此時用New String賦值顯然要簡潔得多。如果字符串中本身包括雙引號,那么用每兩個雙引號表示一個雙引號。將下面的代碼復制到命令窗口執(zhí)行:Dim s1 As String = 利馬是有名的無雨之都Output.Show(s1)你會發(fā)現(xiàn)s1的值為:利馬是有名的無雨之都日期常量日期型常量必須包括在符號#之間,格式為:#月/日/年#例如:Dim

22、d1 As Date = #12/31/2008#等效于:Dim d1 As Date d1 = #12/31/2008#表示定義一個日期變量d1,初始值為2008年12月31日。下面是另一種定義日期變量的語法:Dim 變量名 As New Date(年,月,日)例如:Dim StartDate As New Date(2008,12,31)同樣表示定義一個日期變量StartDate,初始值為2008年12月31日。New Date表示創(chuàng)建一個新的日期,既然是創(chuàng)建一個日期,當然得指定年、月、日。New Date是可以單獨使用的,例如:Dim StartDate As DateStartDate

23、 = New Date(2008,12,31) 變量值設為2008年12月31日Output.Show(StartDate)這一行代碼:StartDate = New Date(2008,12,31)等效于:StartDate = #12/31/2008#邏輯常量邏輯常量值就兩個,分別為True(是)和False(否)。邏輯變量通常用于保存某一個條件表達式的值。例如:Dim v1 As Boolean = (1 = 2)Dim v2 As Boolean = (1 2)Dim v3 As Boolean = TrueDim v4 As Boolean上述代碼執(zhí)行后,變量v1的值等于False,

24、變量v2的值等于True,因為1=2是不成立的,而12是成立的。邏輯變量的默認初始值為False,所以變量v4的值等于False,而變量v3的值顯然等于True。枚舉枚舉就是一組有名稱的整數(shù),例如星期一、星期二、星期三.,就可以看作是枚舉,因為他們實際上代表著一個整數(shù),這個整數(shù)表示這一天是該星期的第幾天。程序中的枚舉,通常用于選項設置,選項通常是一些整數(shù),0、1、2表示不同的設置,為了提高程序的可讀性,我們用一些更具描述性的字符型名稱來代替這些整數(shù),這些代表著不同整數(shù)的名稱,就是枚舉。例如在列屬性設置中,有一個名為“中文輸入”的屬性,它就是一個枚舉類型,包括三個值,分別是:Default:保持

25、當前輸入法狀態(tài)不變True: 自動打開中文輸入法False: 自動關閉中文輸入法顯然,對于用戶來說,用Default、True、False表示不同的設置,比用0、1、2表示不同的設置,要容易理解得多。關于枚舉,你現(xiàn)在只需要了解這么多,今后我們會接觸到更具體的枚舉類型,那時你會覺得枚舉其實是很容易理解的。數(shù)組數(shù)組是同一數(shù)據(jù)類型的一組變量的集合。定義數(shù)組語法為:Dim 數(shù)組名(索引上限) As 數(shù)據(jù)類型例如:Dim Names(3) As String表示定義了一個字符型(String)數(shù)組,數(shù)組名為“Names”,數(shù)組的索引從0開始,所以該數(shù)組包括4個字符型變量(我們稱之為數(shù)組元素),分別是:N

26、ames(0), Names(1), Names(2), Names(3)數(shù)組有一個Length屬性,用于返回數(shù)組的長度。下面是一段完整的代碼,用于測試數(shù)組的基本特性,請復制到命令窗口執(zhí)行:Dim Names(3) As StringNames (0) = 楊國輝Names (1) = 柯迎Names (2) = 陳紹月Names (3) = 朱志欣Output.Show(Names(1) 在命令窗口顯示第二個數(shù)組元素的值。Output.Show(Names.Length) 在命令窗口顯示數(shù)組的長度。可以在定義數(shù)組的時候,直接給數(shù)組元素賦值,例如:Dim Values() As Integer

27、 = 1,3,5上面的代碼定義了一個整數(shù)型數(shù)組,數(shù)組包括三個元素,分別是1、3、5。再例如:Dim s1() As String = 中國,美國,日本,俄羅斯上面的代碼定義了一個字符型數(shù)組,數(shù)組包括四個元素。如果采用直接賦值的方式定義數(shù)組,不需要指定數(shù)組的索引上限,此時索引上限由值的個數(shù)確定。可以在定義數(shù)組之后,再給數(shù)組批量賦值:Dim s1() As Strings1 = New String() 中國,美國,日本,俄羅斯集合集合類似于數(shù)組,但是比數(shù)組更為靈活,定義集合的語法是:Dim 集合名稱 As New List(Of 數(shù)據(jù)類型)例如:Dim Names As New List(Of

28、String)表示定義了一個字符型(String)集合,集合的名稱為Names。集合的成員包括:名稱類型說明Add方法向集合中增加一個值Insert方法向集合的指定位置插入一個值Remove方法刪除指定的值RemoveAt方法刪除指定位置的值Contains方法判斷集合中是否包括某個值AddRange方法批量增加多個值Count屬性返回集合中值的個數(shù)一旦定義了集合,我們就可以用Add方法向其中添加值,例如:Names.Add(電視機)Names.Add(電冰箱)Names.Add(洗衣機)可以用Remove方法刪除指定的值,例如:Names.Remove(電視機)可以用RemoveAt刪除指定

29、位置的值,例如:Names.RemoveAt(0)表示刪除第一個值。還可以用Insert方法將值插入到指定位置,例如:Names.Insert(0,電視機)可以用Contains方法判斷集合中是否包括某一個對象,例如:If Names.Contains(電視機)= False ThenNames.Add(電視機)End If和數(shù)組一樣,我們通過索引來引用集合中指定位置的值,例如:Names(0)Names(1)當然也可以改變指定位置的值,例如:Names(0) = 微波爐可以用集合的Count屬性返回集合中值的個數(shù):Names.Count下面是一段完整的代碼,用于測試集合的基本特性,請復制到命

30、令窗口執(zhí)行: Dim Names As New List(Of String)Names.Add( 電視機)Names.Add(電冰箱)Names.Add(洗衣機)Names.Remove(電視機)If Names.Contains(電視機)= False ThenNames.Add(電視機)End IfNames.Insert(0,傳真機)Names(2) = 微波爐Output.Show(Names.Count) 顯示集合的長度OutPut.Show(Names(0) 顯示第一個值用AddRange方法,可以將一個數(shù)組或另一個集合中的所有元素加入到集合中,例如:Dim v1() As St

31、ring = 中國,美國,日本,俄羅斯Dim s1 As New List(of String)Dim s2 As New List(of String)s1.AddRange(v1) 將數(shù)組中的元素全部加入到集合中s2.AddRange(s1) 將集合s1中的元素全部加入到集合s2中字典Dictionary表示鍵與值的集合,俗稱字典。定義一個字典的語法是:Dim 變量名 As New Dictionary(Of 鍵類型, 值類型)例如:Dim zd As New Dictionary(Of Integer, String)表示定義了一個字典zd,鍵的類型是整數(shù)型(Integer),值的類型是

32、字符型(String)。鍵和值可以是任何類型,例如:Dim zd As New Dictionary(Of String, Date)字典的成員包括:名稱類型說明Add方法將指定的鍵和值添加到字典中Remove方法移除指定的鍵和值Clear方法清除所有的鍵和值ContainsKey方法判斷是否包含指定的鍵ContainsValue 方法判斷是否包括指定的值Count屬性返回字典中鍵/值對的數(shù)目Keys屬性返回鍵的集合Values屬性返回值的集合示例Dim zd As New Dictionary(Of Integer, String)zd.Add(1,蘋果)zd.Add(2,香蕉)zd.Add

33、(3,波羅)zd.Add(4,桔子)zd.Add(5,桃子)zd.Remove(1) 移除鍵1及其對應的值zd.Remove(5) 移除鍵5及其對應的值Output.Show(zd(2) 顯示鍵2對應的值Output.Show(zd(3) 顯示鍵3對應的值If zd.ContainsKey(1) = False Then 是否存在鍵1zd.Add(1,蘋果)End IfIf zd.ContainsValue(桃子) = False Then 是否存在值桃子zd.Add(5,桃子)End IfFor Each k As Integer In zd.Keys 顯示所有鍵及其對應的值Output.S

34、how(K & : & zd(k)NextFor Each v As String In zd.Values 顯示所有值Output.Show(v)Nextzd.Clear 清除所有的鍵和值算術運算符運算符說明+加-減*乘/除,例如:12/8,等于1.5整除,只返回結果的整數(shù)部分,例如:128,等于1指數(shù)運算,例如:23,表示2的3次方,等于8Mod取模,例如:10 Mod 3,表示10除以3的余數(shù),等于1請將下面的代碼復制到命令窗口執(zhí)行:Output.Show(12/8) 測試除法Output.Show(128) 測試整除Output.Show(12 Mod 8) 獲得余數(shù)Output.Sh

35、ow(24) 指數(shù)運算關系運算符運算符說明=等于不等于大于=大于等于=小于等于邏輯運算符用于連接兩個條件表達式,根據(jù)左右表達式的計算結果,返回一個新的邏輯值。運算符說明And邏輯與,如果左右表達式的值都為True,則返回True,否則返回FalseAndAlso邏輯與,如果左右表達式的值都為True,則返回True,否則返回FalseOr邏輯或,如果左右表達式的值至少有一個True,則返回True,否則返回FalseOrElse邏輯或,如果左右表達式的值至少有一個True,則返回True,否則返回FalseNot邏輯非,如果后邊的表達式為True,則返回False,否則返回True,也就是對后

36、邊表達式的值取反。補充說明:And和Or,都是先計算左右兩個表達式的值,然后再返回結果。AndAlso先計算左邊表達式的值,如果計算結果為False,則直接返回False,不再計算右邊表達式的值。OrElse先計算左邊表達式的值,如果計算結果為True,則直接返回True,不再計算右邊表達式的值。所以通常用AndAlso和OrElse代替And和Or,因為效率高點。示例Dim v1 As Boolean = True TrueDim v2 as Boolean FalseDim v3 As Boolean = (1 3) FalseDim v4 As Boolean = (1 3) TrueD

37、im v5 As Boolean = (v1 AndAlso v4) TrueDim v6 As Boolean = (v2 OrElse v3) False字符串連接符運算符&來連接字符串,例如:Dim s As Strings = abc & 123 s的值將是abc123&可以用來連接任何數(shù)據(jù),例如日期型、數(shù)值型,在連接之前會自動將非字符型的數(shù)據(jù)轉換為字符型。例如在命令窗口輸入并執(zhí)行下面的代碼,即可顯示當天的日期:Output.Show( 今天是: & Date.Today)需要注意的是,&運算符前后必須有空格,將下面的代碼復制到命令窗口執(zhí)行:Dim s1 As String = abc

38、Dim s2 As String = defOutput.Show(s1&s2) 因為沒有空格,執(zhí)行時會出現(xiàn)錯誤.上述代碼在執(zhí)行時,會出現(xiàn)錯誤提示,要正確執(zhí)行,必須改為:Dim s1 As String = abcDim s2 As String = defOutput.Show(s1 & s2) &運算符前后有了空格,可以正常執(zhí)行了Like運算符Like使用通配符來比較字符串。可用的通配符有:字符 說明? 任何單個字符* 零或多個字符# 任何單個數(shù)字(0 到 9)字符列表 字符列表中的任何單個字符,例如abx表示a、b、x三個字符中的任何一個。!字符列表 不在字符列表中的任何單個字符,例如!

39、abx表示除a、b、x之外的任何一個字符。方括號中的字符列表,可以使用連字符 () 將范圍的上下限分開,例如a-e表示字母a到e中的任意一個,a-z就表示任意一個字母,而0-9表示任意一數(shù)字。將下面的代碼復制到命令窗口執(zhí)行,請留意注釋和執(zhí)行結果:任意3個字符,后接3個數(shù)字Output.Show( ABC123 Like ?#) 匹配Output.Show( A1212A Like ?#) 不匹配任意一個字符,隨后是ABC三字符中的任意一個Output.Show( RB Like ?ABC) 匹配Output.Show( RD Like ?ABC) 不匹配任意一個字符,隨后是除ABC三字符之外的

40、任意一個字符Output.Show( RB Like ?!ABC) 不匹配Output.Show( RD Like ?!ABC) 匹配任意一個字母,隨后是兩個數(shù)字Output.Show( a12 Like a-z#) 匹配Output.Show( 112 Like a-z#) 不匹配If 語句If語句有三種形式單分支形式:If 條件表達式 Then代碼 End If如果條件表達式的計算結果為True,也就是條件成立的話,則執(zhí)行代碼。例如在命令窗口輸入下面的代碼:Dim Mark As Integer = 61If Mark = 60 ThenOutput.Show( 及格)End If執(zhí)行之后

41、,上述的代碼會得到結果及格,如果將變量Mark的值改為59,則不會返回任何內(nèi)容。雙分支形式:If 條件 Then代碼1 Else 代碼2 End If條件成立,則執(zhí)行代碼1,不成立,則執(zhí)行代碼2。例如,在命令窗口輸入下面的代碼:Dim Mark As Integer = 61If Mark = 60 ThenOutput.Show( 及格)Else Output.Show( 不及格)End If執(zhí)行之后,上述的代碼會得到結果及格,如果將變量Mark的值改為59,則會得到結果不及格。多分支形式:If 條件1 Then代碼1 ElseIf 條件2 Then代碼2 ElseIf 條件3 Then代碼

42、3 .Else 代碼X End If條件1成立,執(zhí)行代碼1,條件2成立,執(zhí)行代碼2,其余類推,所有條件均不成立,則執(zhí)行代碼X。例如在命令窗口輸入:Dim Mark As Integer = 90If Mark = 90 ThenOutPut.Show(優(yōu)秀)ElseIf Mark = 80 ThenOutPut.Show(良好)ElseIf Mark = 60 ThenOutPut.Show(及格)Else OutPut.Show(不及格)End If在命令窗口改變變量Mark的值,執(zhí)行看看會得到什么結果。條件攔截:在多分支形式下,即使多個條件成立,if語句只會執(zhí)行第一個滿足條件的分支。例如在

43、命令窗口執(zhí)行下面的代碼:Dim Mark As Integer = 90If Mark = 60 ThenOutPut.Show(及格)ElseIf Mark = 80 ThenOutPut.Show(良好)ElseIf Mark = 90 ThenOutPut.Show(優(yōu)秀)Else OutPut.Show(不及格)End If雖然變量Mark等于90,但是輸出的結果是“及格”,而不是“優(yōu)秀”,因為Mark等于90的時候,第一個條件(Mark =60)成立,所以輸出“及格”,其余分支不再執(zhí)行,直接跳轉到End If。Select Case語句Select Case語句也是條件判斷語句,通用

44、性不如If語句,只能根據(jù)一個值的清單來測試一個變量,但是Select Case語句比If語句要簡潔一些。Select Case語句的語法為:Select Case 變量Case 值1代碼1Case 值2代碼2Case 值3代碼3Case Else代碼XEnd Select如果變量的值等于值1,則執(zhí)行代碼1,如果等于值2,則執(zhí)行代碼2,依次類推,如果不等于已經(jīng)列出的任何值,則執(zhí)行代碼X例如,在命令窗口輸入:Dim Value As Integer = 5Dim Result As StringSelect Case ValueCase 1Result = 低于20分Case 2Result =

45、低于60分Case 3Result = 低于80分Case 4Result = 低于90分Case 5Result = 超過90分Case ElseResult = 無效值End SelectOutput.Show(Result)將變量Value的值分別設為1、2、3、4、5、6,然后執(zhí)行代碼,看看會得到什么結果。一個Case語句可以同時設置多個值,各個值之間用逗號分開,例如:Dim Value As Integer = 5Select Case ValueCase 1,3,5,7,9OutPut.Show(奇數(shù))Case 2,4,6,8,10OutPut.Show(偶數(shù))End Select

46、Case語句還可以是一個范圍,起始值和終止值用關鍵詞To隔開,例如:Dim Mark As Integer = 65Dim Result As StringSelect Case Mark Case 0 To 40 Result = ECase 41 To 60Result = DCase 61 To 70Result = CCase 71 To 90Result = BCase 91 To 100Result = AEnd SelectOutPut.Show(Result)Select Case語句可以對各種數(shù)據(jù)類型的變量進行比較,包括字符型、日期型、邏輯型、各種數(shù)值型,例如下面使用字符型變

47、量:Dim Value As String = ADim Result As StringSelect Case ValueCase EResult = 低于20分Case DResult = 低于60分Case CResult = 低于80分Case BResult = 低于90分Case AResult = 超過90分Case ElseResult = 無效值End SelectOutput.Show(Result)For.Next語句For.Next語句是循環(huán)語句的一種,可以將一段代碼重復執(zhí)行設定的次數(shù),語法為:For 計數(shù)器變量 = 初始值 To 終止值 Step 步長值代碼Next每

48、執(zhí)行一次代碼,計數(shù)器變量就加上步長值,然后再次執(zhí)行代碼,直到計數(shù)器變量超過終止值。實際使用的時候,如果步長為1,可以省略Step語句。例如,求 1 + 2 + 3 +. + 100的和:Dim Sum As IntegerDim i As IntegerFor i = 1 to 100Sum = Sum + iNext Output.Show(Sum)如果要累加1到100之間的偶數(shù),那么代碼應該是:Dim Sum As IntegerDim i As IntegerFor i = 2 To 100 Step 2Sum = Sum + iNext Output.Show(Sum) 在循環(huán)過程中,

49、如果提前退出循環(huán),可以用Exit For語句,例如:Dim Sum As IntegerDim i As IntegerFor i = 1 To 100If i = 51 ThenExit ForEnd If Sum = Sum + iNext OutPut.Show(Sum)上面的代碼實際上只是求得1到50的累計值,因為在計數(shù)器變量i等于51的時候,,程序退出了循環(huán)。如果符合特定條件的時候,不執(zhí)行循環(huán)代碼,而是直接進行下一次循環(huán),可以用Continue For語句,例如對于下面的語句:Dim Sum As IntegerDim i As IntegerFor i = 1 To 100If i

50、 Mod 2 = 0 ThenContinue ForEnd If Sum = Sum + iNext Output.Show(Sum)上面的代碼累加了1到100之間的奇數(shù),因為碰到偶數(shù),就直接進行下一次循環(huán),而沒有累加到變量Sum中。你可以直接在For語句中聲明計數(shù)器變量,語法為:For 計數(shù)器變量 As 數(shù)據(jù)類型 = 初始值 To 終止值 Step 步長值代碼Next 此時計數(shù)器變量只能在循環(huán)代碼中使用,例如:Dim Sum As IntegerFor i As Integer = 1 To 100Sum = Sum + iNext Output.Show(Sum)For.Next語句經(jīng)常

51、用于遍歷數(shù)組或集合,例如下面的代碼,定義一個數(shù)組,然后給每個數(shù)組元素設置值:Dim Values(100) As IntegerFor Index As Integer = 0 To Values.Length - 1Values(Index) = Index * 2Next 再例如下面的代碼,首先定義一個字符型集合,接著向集合加入一些值,最后利用For.Next語句列出集合中所有的值:Dim Values As New List(Of String)Values.Add(北京市)Values.Add(上海市)Values.Add(天津市)For i As Integer = 0 To Val

52、ues.Count -1Output.Show(Values(i)Next 我們可以用Step語句將步長設為負值,這樣可以倒序來執(zhí)行,例如:For i As Integer = 100 To 1 Step -1Output.Show(i)Next在命令窗口執(zhí)行下面的代碼,會得到:100999897.321For Each 語句For Each 語句用來遍歷一個集合或數(shù)組的全部成員 ,語法為:For Each 循環(huán)變量 In 集合代碼Next針對集合中每一個成員執(zhí)行代碼;語句中的循環(huán)變量,其數(shù)據(jù)類型必須和集合成員的類型相同。如下面的代碼,首先定義一個字符型集合,接著向集合加入一些值,最后利用Fo

53、r Each語句列出集合中所有的值:Dim Values As New List(Of String)Dim Value As StringValues.Add(北京市)Values.Add(上海市)Values.Add(天津市)For Each Value In ValuesOutput.Show(Value)Next 你可以直接在For語句中聲明循環(huán)變量,語法為:For Each 循環(huán)變量 As 變量類型 In 集合代碼Next此時循環(huán)變量只能在循環(huán)代碼中使用,例如:Dim Values As New List(Of String)Values.Add(北京市)Values.Add(上海市)Values.Add(天津市)For Each Value As String In ValuesOutput.Show

溫馨提示

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

評論

0/150

提交評論