版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第2章Visual FoxPro中的數(shù)據(jù)與運(yùn)算目 錄上一頁下一頁退 出目 錄上一頁下一頁退 出2 本本 章章 要要 點(diǎn)點(diǎn)2.1 Visual FoxPro2.1 Visual FoxPro的數(shù)據(jù)類型的數(shù)據(jù)類型 2.2 Visual FoxPro2.2 Visual FoxPro的常量與變量的常量與變量 2.3 Visual FoxPro2.3 Visual FoxPro的函數(shù)的函數(shù) 2.4 Visual FoxPro2.4 Visual FoxPro的表達(dá)式的表達(dá)式 思考題目 錄上一頁下一頁退 出32.1 Visual FoxPro中的數(shù)據(jù)類型 數(shù)據(jù)是反映現(xiàn)實(shí)世界中客觀事物屬性的記錄,它包括
2、兩個(gè)方面:數(shù)據(jù)內(nèi)容與數(shù)據(jù)形式。數(shù)據(jù)內(nèi)容就是數(shù)據(jù)的值,數(shù)據(jù)形式就是數(shù)據(jù)的存儲(chǔ)形式和操作使用方式,也稱為數(shù)據(jù)類型。VFP6系統(tǒng)為使用戶建立和操作數(shù)據(jù)庫(kù)更加方便,將系統(tǒng)中所有操作、處理的數(shù)據(jù),分為幾種不同數(shù)據(jù)類型: 字符型、數(shù)值型、日期型、日期時(shí)間型、邏輯型、備注型、通用型、貨幣型、二進(jìn)制字符型和二進(jìn)制備注型。 目 錄上一頁下一頁退 出4 2.1.1 字符型 字符型(Character)數(shù)據(jù)是不具計(jì)算能力的文字?jǐn)?shù)據(jù)類型,用字母C表示。字符型數(shù)據(jù)包括中文字符、英文字符、數(shù)字字符和其他ASCII字符,其長(zhǎng)度(即字符個(gè)數(shù))范圍是0254個(gè)字符。 目 錄上一頁下一頁退 出5 2.1.2 數(shù)值型 數(shù)值型數(shù)據(jù)是
3、表示數(shù)量、可以進(jìn)行數(shù)值運(yùn)算的數(shù)據(jù)類型。數(shù)值型數(shù)據(jù)由數(shù)字、小數(shù)點(diǎn)、正負(fù)號(hào)和表示乘冪的字母E組成,數(shù)值精度達(dá)16位。在Visual FoxPro系統(tǒng)中,按存儲(chǔ)、表示形式與取值范圍不同,數(shù)值型數(shù)據(jù)又分為四種不同類型。 1 1數(shù)值型數(shù)值型 數(shù)值型(Numeric)數(shù)據(jù)由數(shù)字、小數(shù)點(diǎn)、正負(fù)號(hào)和字母E組成,用字母N表示。數(shù)值型數(shù)據(jù)的取值范圍是:-0.9999999999E+190.9999999999E+20,包括正負(fù)號(hào)、小數(shù)點(diǎn)和字母E在內(nèi),其長(zhǎng)度(數(shù)據(jù)位數(shù))最大20位。通常用于表示實(shí)數(shù)。如23,-103.45,1.3E-5(即1.310-5)等;目 錄上一頁下一頁退 出6 2 2浮點(diǎn)型浮點(diǎn)型 浮點(diǎn)型(F
4、loat)數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種,用字母F表示。它與數(shù)值型數(shù)據(jù)完全等價(jià),只是在存儲(chǔ)形式上采用浮點(diǎn)格式,主要是為了得到較高的計(jì)算精度。 3 3雙精度型雙精度型 雙精度型(Double)數(shù)據(jù)是具有更高精度的一種數(shù)值型數(shù)據(jù),用字母B表示。它采用固定長(zhǎng)度浮點(diǎn)格式存儲(chǔ),占用8個(gè)字節(jié),其取值范圍是:+/-4.94065645841247E-324 +/-8.9884656743115E307。 4 4整型整型 整型(Integer)數(shù)據(jù)是不包含小數(shù)部分的數(shù)值型數(shù)據(jù),用字母I表示。整型數(shù)據(jù)只用來表示整數(shù),以二進(jìn)制形式存儲(chǔ),占用4個(gè)字節(jié)。其取值范圍是:-2147483621474836。目 錄上一頁下一頁退
5、出7 2.1.3 日期型 日期型(Date)數(shù)據(jù)是表示日期的數(shù)據(jù),用字母D表示。日期的默認(rèn)格式是mm/dd/yyyy,其中mm表示月份,dd表示日期,yyyy表示年度,固定長(zhǎng)度8位。如09/16/2002表示2002年9月16日這一日期數(shù)據(jù)。 2.1.4 日期時(shí)間型 日期時(shí)間型(Date Times)數(shù)據(jù)是表示日期和時(shí)間的數(shù)據(jù),用字母T表示。日期時(shí)間的默認(rèn)格式是mm/dd/yyyy hh:mm:ss,其中mm、dd、yyyy的意義與日期型相同,而hh表示小時(shí),mm表示分鐘,ss表示秒數(shù)。日期時(shí)間型數(shù)據(jù)也是采用固定長(zhǎng)度8位,取值范圍是:日期為01/01/000112/31/9999,時(shí)間為00:
6、00:0023:59:59。如10/01/2002 10:30:30表示2002年10月1日10時(shí)30分30秒這一日期時(shí)間數(shù)據(jù)。 目 錄上一頁下一頁退 出8 2.1.5 邏輯型 邏輯型(Logic)數(shù)據(jù)是描述客觀事物真假的數(shù)據(jù)類型,表示邏輯判斷的結(jié)果,用字母L表示。邏輯型數(shù)據(jù)只有真(.t.或.y.)和假(.f.或.n.)兩種,固定長(zhǎng)度1位。為區(qū)別其他數(shù)據(jù)類型,一般需在表示邏輯值的字母t、y、f、n的前后加圓點(diǎn)符“.”。 2.1.6 備注型 備注型(Memo)數(shù)據(jù)是表示、存放較多字符的數(shù)據(jù)類型??梢园阉闯墒亲址蛿?shù)據(jù)的特殊形式,用字母M表示。 備注型數(shù)據(jù)沒有數(shù)據(jù)長(zhǎng)度限制,僅受限于磁盤空間。它只
7、用于表中字段類型的定義,字段長(zhǎng)度固定為10位,實(shí)際數(shù)據(jù)存放在與表文件同名的備注文件(.FPT)中,長(zhǎng)度根據(jù)數(shù)據(jù)的內(nèi)容而定。目 錄上一頁下一頁退 出9 2.1.7 通用型 通用型(General)數(shù)據(jù)是存儲(chǔ)OLE(對(duì)象鏈接嵌入)對(duì)象的數(shù)據(jù)類型,用字母G表示。通用型數(shù)據(jù)中的OLE對(duì)象可以是電子表格、文檔、圖形圖片等。它只用于表中字段類型的定義。通用型數(shù)據(jù)字段長(zhǎng)度固定為4位,實(shí)際數(shù)據(jù)長(zhǎng)度僅受限于磁盤空間。 OLE對(duì)象的實(shí)際內(nèi)容、類型和數(shù)據(jù)量則取決于鏈接或嵌入OLE對(duì)象的操作方式。如果采用鏈接OLE對(duì)象的方式,則表中只包含對(duì)OLE對(duì)象的引用說明,以及對(duì)創(chuàng)建該OLE對(duì)象的應(yīng)用程序的引用說明;如果采用嵌入
8、OLE對(duì)象方式,則表中除包含對(duì)創(chuàng)建該OLE對(duì)象的應(yīng)用程序的引用說明,還包含OLE對(duì)象中的實(shí)際數(shù)據(jù)。目 錄上一頁下一頁退 出10 2.1.8 貨幣型 貨幣型(Currency)數(shù)據(jù)是為存儲(chǔ)美元金額而使用的一種稱為貨幣(Currency)的數(shù)據(jù)類型,其取值范圍是:-922337203685477.5808 922337203685477.5807,默認(rèn)保留4位小數(shù),占據(jù)8字節(jié)存儲(chǔ)空間。貨幣型數(shù)據(jù)用字母Y表示。 2.1.9 二進(jìn)制字符型和二進(jìn)制備注型 這兩類數(shù)據(jù)是以二進(jìn)制格式存儲(chǔ)的數(shù)據(jù)類型,只能用在表中字段數(shù)據(jù)的定義。所存儲(chǔ)的數(shù)據(jù)不受代碼頁改變的影響。 2.1.10 數(shù)據(jù)類型的應(yīng)用范圍 以上數(shù)據(jù)類型
9、均可應(yīng)用于表中字段數(shù)據(jù)類型的定義,但其中雙精度型、浮點(diǎn)型、通用型、整型、備注型、二進(jìn)制字符型和二進(jìn)制備注型只能應(yīng)用于字段,其余則可以用于變量、數(shù)組和字段。目 錄上一頁下一頁退 出112.2 Visual FoxPro的常量與變量 在Visual FoxPro系統(tǒng)中,數(shù)據(jù)可用常量、變量、數(shù)組表示,數(shù)據(jù)還可以用字段、記錄和對(duì)象中,由它們存儲(chǔ)、容納各種類型的數(shù)據(jù)。因此,常把這些供數(shù)據(jù)存儲(chǔ)的常量、變量、數(shù)組、字段、記錄和對(duì)象等稱為數(shù)據(jù)存儲(chǔ)容器。用戶正是利用不同的數(shù)據(jù)存儲(chǔ)容器,在Visual FoxPro系統(tǒng)中表示、存儲(chǔ)、操作、處理各種類型的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)處理的應(yīng)用。 目 錄上一頁下一頁退 出12 2.
10、2.1 常量 常量是在命令或程序中可直接引用、具有具體值的命名數(shù)據(jù)項(xiàng),其特征是在整個(gè)操作過程中它的值和表現(xiàn)形式保持不變。Visual FoxPro按常量取值的數(shù)據(jù)類型,將常量分為6種類型 數(shù)值型常量、浮點(diǎn)型常量、字符型常量、邏輯型常量、日期型常量、日期時(shí)間型常量。目 錄上一頁下一頁退 出13 1 1數(shù)值型常量數(shù)值型常量 由數(shù)字、小數(shù)點(diǎn)和正負(fù)號(hào)組成,表示整數(shù)或?qū)崝?shù)值。 如;100,-21,15.31,-21092.5041等分別是數(shù)值型常量中的整數(shù)和實(shí)數(shù)。 2 2浮點(diǎn)型常量浮點(diǎn)型常量 以浮點(diǎn)格式表示的數(shù)值常量。通常用來表示那些絕對(duì)值很大或很小、而有效位數(shù)不太長(zhǎng)的一些數(shù)值,對(duì)應(yīng)于日常應(yīng)用中的科學(xué)記
11、數(shù)法。 如中國(guó)的人口數(shù)接近13億,以實(shí)數(shù)形式表示是1,300,000,000,以科學(xué)記數(shù)法的乘冪形式表示是1.3109。顯然用科學(xué)記數(shù)法形式表示比較簡(jiǎn)短、方便、適用,對(duì)應(yīng)在Visual FoxPro中采用浮點(diǎn)型常量表示為1.3E+9,其中,1.3稱為尾數(shù),表示有效數(shù)字,9稱為階碼,表示冪指數(shù)。階碼只能是整數(shù),尾數(shù)可以是整數(shù),也可以是小數(shù);尾數(shù)與階碼均可正可負(fù)。目 錄上一頁下一頁退 出14 3 3字符型常量字符型常量 由任意ASCII字符、漢字和漢字字符組成的字符型數(shù)據(jù),字符型常量又稱為字符串。為與其他類型常量、變量和標(biāo)識(shí)符相區(qū)別,Visual FoxPro要求將字符串中所有字符,用一對(duì)雙引號(hào)“
12、”或單引號(hào)“”或方括號(hào)“”作為定界符對(duì)括起來。 如“ I am a student.”,中華人民共和國(guó),Visual FoxPro 6.0系統(tǒng)都是字符串。 4 4邏輯型常量邏輯型常量 邏輯型常量就是表示邏輯判斷結(jié)果“真”或“假”的邏輯值。邏輯常量只有真和假兩種值,分別用(.t.或.y.)和(.f.或.n.)表示真和假。一般應(yīng)在表示邏輯常量的字母左右加注圓點(diǎn)符“.”以示區(qū)別。 目 錄上一頁下一頁退 出15 5 5日期型常量日期型常量 日期型常量是表示日期值的數(shù)據(jù),其默認(rèn)格式是mm/dd/yyyy。如10/01/02和10/01/2002均表示2002年10月1日這一日期常量值。 6 6日期時(shí)間型
13、常量日期時(shí)間型常量 Visual FoxPro系統(tǒng)中增加了一種表示日期和時(shí)間值的日期時(shí)間型常量,其默認(rèn)格式是: mm/dd/yyyy mm/dd/yyyy , hh:mm:ssa|p hh:mm:ssa|p 其中a和p分別表示AM(上午)和PM(下午)。 日期值和日期時(shí)間值的輸入格式與輸出格式并不完全相同,特別是輸出格式受系統(tǒng)環(huán)境設(shè)置的影響,用戶可根據(jù)應(yīng)用需要進(jìn)行相應(yīng)調(diào)整、設(shè)置。 目 錄上一頁下一頁退 出16 (1)日期格式中的世紀(jì)值 通常日期格式中用2位數(shù)表示年份,但涉及到世紀(jì)問題就不便區(qū)分。Visual FoxPro提供設(shè)置命令對(duì)此進(jìn)行相應(yīng)設(shè)置。 命令格式: SET CENTURY ON
14、| OFF | TO nCentury 命令功能: ON:日期數(shù)據(jù)顯示10位,其中年份4 位,即日期值輸出時(shí)顯示年份值; OFF:(默認(rèn)值)。日期數(shù)據(jù)顯示8位,年份2位,即日期值輸出時(shí)不顯示年份值; TO nCentury:指定日期數(shù)據(jù)所對(duì)應(yīng)的世紀(jì)值。nCentury是一個(gè)199的整數(shù),代表世紀(jì)數(shù)。 目 錄上一頁下一頁退 出17 (2)設(shè)置日期顯示格式 用戶可以調(diào)整、設(shè)置日期值和時(shí)間值的顯示輸出格式。既可以用命令方式設(shè)置,也可以用菜單方式設(shè)置。 命令格式: SET DATE TO AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JA
15、PAN | USA | MDY | DMY | YMD | SHORT | LONG 命令功能:設(shè)置日期型和日期時(shí)間型數(shù)據(jù)的顯示輸出格式。系統(tǒng)默認(rèn)為AMERICAN美國(guó)格式。 如果日期格式設(shè)置為SHORT或LONG格式,Visual FoxPro系統(tǒng)將按Windows系統(tǒng)設(shè)置的短日期格式或長(zhǎng)日期格式顯示輸出日期數(shù)據(jù),而且SET CENTURY命令的設(shè)置被忽略。 目 錄上一頁下一頁退 出18 各種日期格式設(shè)置所對(duì)應(yīng)的日期顯示輸出格式,見表2-1所示。 表2-1 系統(tǒng)日期格式 設(shè)設(shè) 置置 值值 日日 期期 格格 式式 設(shè)設(shè) 置置 值值 日日 期期 格格 式式 AMERICAN mm/dd/yy U
16、SAmm-dd-yyANSIyy.mm.ddMDY mm/dd/yyBRITISH / BRITISH / FRENCHFRENCH dd/mm/yyDMY dd/mm/yy GERMAN dd.mm.yy YMD yy/mm/dd ITALIAN dd-mm-yySHORTWindowsWindows短日期格式JAPAN yy/mm/ddLONGWindowsWindows長(zhǎng)日期格式目 錄上一頁下一頁退 出19 (3)設(shè)置日期2000年兼容性 通常日期型和日期時(shí)間型數(shù)據(jù)的結(jié)果,與SET DATE命令和SET CENTURY命令設(shè)置狀態(tài)及當(dāng)前系統(tǒng)時(shí)間有關(guān)。由于系統(tǒng)時(shí)間與相應(yīng)設(shè)置不同,同一數(shù)據(jù)的
17、結(jié)果可能有不同的解釋。如日期值10/11/12可以解釋為1912 年 10 月 11 日、2012 年 10 月 11 日、1912 年 11 月 10 日、1910 年 11 月 12 日或者 2010 年 11 月 12 日等。這顯然會(huì)導(dǎo)致系統(tǒng)混亂,而且還可能造成2000年兼容性錯(cuò)誤,影響系統(tǒng)正常、有效的操作運(yùn)行。目 錄上一頁下一頁退 出20 Visual FoxPro系統(tǒng)增加了一種所謂嚴(yán)格的日期格式。不論哪種設(shè)置,按嚴(yán)格日期格式表示的日期型和日期時(shí)間型數(shù)據(jù),都具有相同的值和表示形式。嚴(yán)格的日期格式是: yyyy-mm-dd,hh:mm:ssa|pyyyy-mm-dd,hh:mm:ssa|
18、p 符號(hào)表明該格式是嚴(yán)格的日期格式,并按照 YMD 的格式解釋日期型和日期時(shí)間型數(shù)據(jù),它是嚴(yán)格日期格式的標(biāo)志,不可缺少。有效的日期型和日期時(shí)間型數(shù)據(jù)分隔符為:連字符“-”、正斜杠“/”、句點(diǎn)“.”和空格。如2002-10-01、2002-10-01 10:30:30a,分別以嚴(yán)格的日期格式表示2002年10月1日及該日上午10時(shí)30分30秒這兩個(gè)日期數(shù)據(jù)。目 錄上一頁下一頁退 出21 Visual FoxPro系統(tǒng)默認(rèn)采用嚴(yán)格的日期格式,并以此檢測(cè)所有日期型和日期時(shí)間型數(shù)據(jù)的格式是否規(guī)范、合法。為與早期版本兼容,用戶通過命令或菜單設(shè)置改變這一格式。 命令設(shè)置的命令格式: SET STRICTD
19、ATE TO 0 | 1 | 2 命令功能: 0:關(guān)閉嚴(yán)格的日期格式檢測(cè),即設(shè)置日期格式按傳統(tǒng)的嚴(yán)格的格式; 1:設(shè)置嚴(yán)格的日期格式檢測(cè)(默認(rèn)值),要求所有日期型和日期時(shí)間型數(shù)據(jù)均按嚴(yán)格的格式; 2:設(shè)置與1相同,但如果程序代碼中出現(xiàn)CTOD()和CTOT()函數(shù)時(shí),會(huì)出現(xiàn)編譯錯(cuò)誤。這個(gè)設(shè)置最適合調(diào)試時(shí)使用,用來檢測(cè)2000年兼容性錯(cuò)誤; 省略:恢復(fù)系統(tǒng)默認(rèn)值,等價(jià)于1的設(shè)置。目 錄上一頁下一頁退 出22 2.2.2 變量 變量是在操作過程中可以改變其取值或數(shù)據(jù)類型的數(shù)據(jù)項(xiàng)。在Visual FoxPro系統(tǒng)中變量分為字段變量、內(nèi)存變量、數(shù)組變量和系統(tǒng)變量4類。此外,作為面向?qū)ο蟮某绦蛘Z言,Vi
20、sual FoxPro在進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì)中引入了對(duì)象的概念,對(duì)象實(shí)質(zhì)上也是一類變量。 確定一個(gè)變量,需要確定其三個(gè)要素:變量名、數(shù)據(jù)類型和變量值。目 錄上一頁下一頁退 出23 1 1命名約定命名約定 在Visual FoxPro系統(tǒng)中,將表示、存儲(chǔ)數(shù)據(jù)的常量、變量、數(shù)組、字段、記錄、對(duì)象、表、數(shù)據(jù)庫(kù)等,都稱之為數(shù)據(jù)容器。所有數(shù)據(jù)容器均需命名以相互區(qū)別,為規(guī)范各類對(duì)象的命名,Visual FoxPro系統(tǒng)推薦了若干“命名約定”供用戶參考,以提高操作命令與程序的可讀性和規(guī)范性。 使用字母,下劃線和數(shù)字命名。一般建議不采用漢字命名; 命名以字母或下劃線開頭;除自由表中字段名、索引的TAG標(biāo)識(shí)名
21、最多只能10個(gè)字符外,其他的命名可使用1128個(gè)字符; 避免使用 Visual FoxPro的保留字; 文件名的命名應(yīng)遵循操作系統(tǒng)的約定。 目 錄上一頁下一頁退 出24 2 2字段變量字段變量 表由若干記錄構(gòu)成,每個(gè)記錄都包含若干個(gè)數(shù)量相同的字段,同一字段在不同記錄中分別對(duì)應(yīng)不同的字段值,因此,字段也是變量。與其他變量不同的是,字段變量是定義在表中的變量,隨表的存取而存取,因而是永久性變量。字段名就是變量名;變量的數(shù)據(jù)類型為Visual FoxPro中任意數(shù)據(jù)類型,字段值就是變量值。目 錄上一頁下一頁退 出25 3 3內(nèi)存變量?jī)?nèi)存變量 內(nèi)存變量是在內(nèi)存中定義的、一種單個(gè)數(shù)據(jù)元素的臨時(shí)性變量。
22、(1)內(nèi)存變量的數(shù)據(jù)類型 內(nèi)存變量的數(shù)據(jù)類型包括:數(shù)值型、字符型、邏輯型、日期型和日期時(shí)間型; (2)內(nèi)存變量的建立 建立內(nèi)存變量就是給內(nèi)存變量賦值。內(nèi)存變量賦值既可定義一個(gè)新的內(nèi)存變量,也可改變已朋內(nèi)存變量的值或數(shù)據(jù)類型。 命令格式: STORE TO 命令功能:計(jì)算的值并賦值給各個(gè)內(nèi)存變量。 命令格式: = 命令功能:計(jì)算的值并賦值給指定內(nèi)存變量。目 錄上一頁下一頁退 出26 (3)內(nèi)存變量的顯示輸出 可以用兩個(gè)命令在屏幕上顯示輸出內(nèi)存變量的值。 命令格式: ?| ? AT 命令功能:計(jì)算表達(dá)式表中各表達(dá)式的值,并在屏幕上指定位置顯示輸出各式的值。 ?:先回車換行,再計(jì)算并輸出表達(dá)式的值;
23、 ?:在屏幕上當(dāng)前位置,計(jì)算并直接輸出表達(dá)式的值; :多個(gè)心逗號(hào)兩兩分隔的表達(dá)式,各表達(dá)式的值輸出時(shí),以空格分隔; AT 子句指定表達(dá)式值從指定列開始顯示輸出。AT的定位只對(duì)它前面的一個(gè)表達(dá)式有效,多個(gè)表達(dá)式必須用多個(gè)AT子句分別定位輸出,而且可反序定位。目 錄上一頁下一頁退 出27 4 4數(shù)組變量數(shù)組變量 數(shù)組變量是結(jié)構(gòu)化的變量,是一組具有相同名稱、以下標(biāo)相互區(qū)分的有序內(nèi)存變量。一個(gè)數(shù)組通常都包含多個(gè)數(shù)據(jù)元素。Visual FoxPro系統(tǒng)中只允許使用一維數(shù)組(相當(dāng)于數(shù)列)和二維數(shù)組(相當(dāng)于行列式或矩陣)。目 錄上一頁下一頁退 出28 (1)數(shù)組元素 數(shù)組中各有序變量(數(shù)據(jù)元素)組成數(shù)組的成
24、員,稱為數(shù)組元素。數(shù)組元素實(shí)質(zhì)上是一個(gè)內(nèi)存變量,也稱數(shù)組變量,它們具有相同變量名即數(shù)組名,彼此以下標(biāo)區(qū)分; 數(shù)組元素的名稱(變量名)用數(shù)組加下標(biāo)構(gòu)成。如AA(1),BB(2,3)分別表示一維數(shù)組AA的第1個(gè)元素,二維數(shù)組BB中第2行第3列的元素; 下標(biāo)必須用圓括號(hào)對(duì)括;一維數(shù)組的元素只有一個(gè)下標(biāo),二維數(shù)組的元素有兩個(gè)以逗號(hào)分隔的下標(biāo); 下標(biāo)必須是非負(fù)數(shù)值,可以是常量、變量、函數(shù)或表達(dá)式,下標(biāo)值會(huì)自動(dòng)取整。如AA(1.5),AA(nA1),AA(2+10/3)等; 數(shù)組元素的數(shù)據(jù)類型決定于最后賦值的數(shù)據(jù)類型;不同數(shù)組元素的數(shù)據(jù)類型可以不同; 數(shù)組元素與普通內(nèi)存變量一樣操作,可以賦值和引用。目 錄
25、上一頁下一頁退 出29 (2)數(shù)組的定義 數(shù)組必須先定義后使用,定義數(shù)組是向系統(tǒng)申請(qǐng)數(shù)組元素在內(nèi)存中的存儲(chǔ)空間。 命令格式: DIMENSION | DECLARE (,) ,(,) 命令功能:定義指定的各個(gè)數(shù)組。 (3)數(shù)組的賦值與引用 數(shù)組元素的賦值與引用,與普通內(nèi)存變量的規(guī)則相同。目 錄上一頁下一頁退 出30 5 5系統(tǒng)變量系統(tǒng)變量 系統(tǒng)變量是Visual FoxPro系統(tǒng)特有的內(nèi)存變量,它由Visual FoxPro系統(tǒng)定義、維護(hù)。系統(tǒng)變量有很多,其變量名均以下劃線“_”開始,因此在定義內(nèi)存變量和數(shù)組變量名時(shí),不要以下劃線開始,以免與系統(tǒng)變量名沖突。系統(tǒng)變量設(shè)置、保存了很多系統(tǒng)的狀態(tài)、
26、特性,了解、熟悉并且充分地運(yùn)用系統(tǒng)變量,會(huì)給數(shù)據(jù)庫(kù)系統(tǒng)的操作、管理帶來很多方便,特別是開發(fā)應(yīng)用程序時(shí)更為突出,學(xué)習(xí)時(shí)可對(duì)此有所關(guān)注。目 錄上一頁下一頁退 出31 6 6內(nèi)存變量與數(shù)組變量的基本操作內(nèi)存變量與數(shù)組變量的基本操作 (1)變量的顯示 用?/?命令可以分別顯示單個(gè)或一組變量的值。有時(shí)用戶還需了解變量其他相關(guān)信息,如數(shù)據(jù)類型、作用范圍,或了解系統(tǒng)變量的信息。Visual FoxPro系統(tǒng)提供了相應(yīng)操作命令。 命令格式; DISPLAY | LIST MEMORY LIKE TO PRINTER PROMPT | TO FILE NOCONSOLE 命令功能:顯示指定變量的信息。目 錄上一
27、頁下一頁退 出32 (2)變量的保存 Visual FoxPro提供相應(yīng)命令,可用文件形式將某些變量保存起來,以便重復(fù)使用。 命令格式: SAVE TO ALL LIKE | ALL EXCEPT 命令功能:將指定變量的信息保存到指定的變量文件(*.MEM)中。 ALL LIKE :只保存符合通配符條件的所有變量; ALL EXCEPT :只保存不符合通配符條件的所有變量。目 錄上一頁下一頁退 出33 (3)變量的恢復(fù) 需要保存在文件中的變量信息時(shí),必須先恢復(fù)到內(nèi)存后方可使用。 命令格式: RESTORE FROM ADDITIVE 命令功能:將指定變量文件(*.MEM)中變量信息恢復(fù)到內(nèi)存中
28、。 ADDITIVE:省略此項(xiàng),清除內(nèi)存所有變量后再恢復(fù)文件中變量的信息;加選此項(xiàng),將變量文件中的變量信息追加到內(nèi)存現(xiàn)有變量信息中。 (4)變量的清除 Visual FoxPro系統(tǒng)對(duì)定義內(nèi)存變量的數(shù)量是有限制的,應(yīng)及時(shí)清理,盡量減少內(nèi)存的占用,定義其他變量。 命令格式: RELEASE RELEASE ALL LIKE | EXCEPT 目 錄上一頁下一頁退 出342.3 Visual FoxPro的函數(shù) Visual FoxPro系統(tǒng)中,函數(shù)是一段程序代碼,用來進(jìn)行一些特定的運(yùn)算或操作,支持和完善命令的功能,幫助用戶完成各種操作與管理。Visual FoxPro系統(tǒng)有數(shù)百種不同函數(shù),按函數(shù)
29、提供方式,可分為系統(tǒng)(標(biāo)準(zhǔn))函數(shù)和用戶自定義函函數(shù),按函數(shù)運(yùn)算、處理對(duì)象和結(jié)果的數(shù)據(jù)類型,可分為數(shù)值型函數(shù)、字符型函數(shù)、邏輯型函數(shù)、日期時(shí)間型函數(shù)、數(shù)據(jù)轉(zhuǎn)換函數(shù)等,按函數(shù)的功能和特點(diǎn),可分為數(shù)據(jù)處理函數(shù)、數(shù)據(jù)庫(kù)操作函數(shù)、文件管理函數(shù)、鍵盤和鼠標(biāo)處理函數(shù)、輸出函數(shù)、窗口界面操作函數(shù)、程序設(shè)計(jì)函數(shù)、數(shù)據(jù)庫(kù)環(huán)境函數(shù)、網(wǎng)絡(luò)操作函數(shù)、系統(tǒng)信息函數(shù)動(dòng)態(tài)數(shù)據(jù)操作函數(shù)等。目 錄上一頁下一頁退 出35 Visual FoxPro的函數(shù)由函數(shù)名與自變量?jī)刹糠纸M成。標(biāo)準(zhǔn)函數(shù)是Visual FoxPro系統(tǒng)提供的系統(tǒng)函數(shù),其函數(shù)名是Visual FoxPro保留字,自定義函數(shù)是用戶自已定義的函數(shù),函數(shù)名用戶指定;自變
30、量必須用圓括號(hào)對(duì)括起來,如有多個(gè)自變量,各自變量以逗號(hào)分隔;有些函數(shù)可省略自變量,或不需自變量,但也必須保留括號(hào);自變量數(shù)據(jù)類型由函數(shù)的定義確定,數(shù)據(jù)形式可以是常量、變量、函數(shù)或表達(dá)式等。 函數(shù)是一類數(shù)據(jù)項(xiàng),除個(gè)別(如宏替換)函數(shù)外,函數(shù)都不能像命令一樣單獨(dú)使用,只能作為命令的一部分進(jìn)行操作運(yùn)算。 目 錄上一頁下一頁退 出36 2.3.1 數(shù)值函數(shù) 數(shù)值函數(shù)用于數(shù)值運(yùn)算,其自變量與函數(shù)都是數(shù)值型數(shù)據(jù)。 1 1取絕對(duì)值函數(shù)取絕對(duì)值函數(shù)ABS( )ABS( ) 【格式】ABS() 【功能】計(jì)算nExp的值,并返回該值的絕對(duì)值。 2 2指數(shù)函數(shù)指數(shù)函數(shù)EXP( )EXP( ) 【格式】EXP() 【
31、功能】求以e為底、nExp值為指數(shù)的冪,即返回ex的值。 3 3取整函數(shù)取整函數(shù)INT( )INT( ) 【格式】INT() 【功能】計(jì)算nExp的值,返回該值的整數(shù)部分。目 錄上一頁下一頁退 出37 4 4上界函數(shù)上界函數(shù)CEILING( )CEILING( ) 【格式】CEILING() 【功能】計(jì)算nExp的值,返回一個(gè)大于或等于該值的最小整數(shù)。 5 5下界函數(shù)下界函數(shù)FLOOR( )FLOOR( ) 【格式】FLOOR() 【功能】計(jì)算nExp的值,返回一個(gè)小于或等于該值的最大整數(shù)。 6 6自然對(duì)數(shù)函數(shù)自然對(duì)數(shù)函數(shù)LOG( )LOG( ) 【格式】LOG() 【功能】求nExp的自然對(duì)
32、數(shù)。nExp的值必須為正數(shù)。 7 7常用對(duì)數(shù)函數(shù)常用對(duì)數(shù)函數(shù) 【格式】LOG10() 【功能】求nExp的常用對(duì)數(shù)。nExp的值必須為正數(shù)。目 錄上一頁下一頁退 出38 8 8平方根函數(shù)平方根函數(shù)SQRT( )SQRT( ) 【格式】SQRT() 【功能】求非負(fù)nExp的平方根。 9 9最大值函數(shù)最大值函數(shù)MAX( )MAX( )和最小值函數(shù)和最小值函數(shù)MIN( )MIN( ) 【格式】MAX(,.) MIN(,.) 【功能】返回?cái)?shù)值表達(dá)式中的最大值MAX( )和最小值MIN( )。 1010求余數(shù)函數(shù)求余數(shù)函數(shù)MOD( )MOD( ) 【格式】MOD(,) 【功能】返回nExp1除以nExp
33、2的余數(shù)。余數(shù)的小數(shù)位數(shù)與nExp1相同,符號(hào)與nExp2相同。目 錄上一頁下一頁退 出39 1111四舍五入函數(shù)四舍五入函數(shù)ROUND( )ROUND( ) 【格式】ROUND(,) 【功能】返回nExp1四舍五入的值, nExp2表示保留的小數(shù)位數(shù)。 1212函數(shù)函數(shù)PI( )PI( ) 【格式】PI( ) 【功能】返回常量的近似值 1313正弦函數(shù)正弦函數(shù)SIN(SIN( ) 【格式】SIN() 【功能】返回nExp的正弦值。nExp以弧度為單位,函數(shù)值域?yàn)?1,1。 1414余弦函數(shù)余弦函數(shù)COS( )COS( ) 【格式】COS() 【功能】返回nExp的余弦值。nExp以弧度為單位
34、,函數(shù)的值域?yàn)?1,1。目 錄上一頁下一頁退 出40 1515正切函數(shù)正切函數(shù)TAN( )TAN( ) 【格式】TAN() 【功能】返回nExp的正切值。nExp以弧度為單位,其值為/2或- /2時(shí),系統(tǒng)返回一個(gè)絕對(duì)值很大的數(shù)。 1616反正弦函數(shù)反正弦函數(shù)ASIN( )ASIN( ) 【格式】ASIN() 【功能】返回nExp的反正弦值。自變量值必須在-1,1內(nèi),函數(shù)值為弧度,且值域?yàn)?/2, /2。 1717反余弦函數(shù)反余弦函數(shù)ACOS( )ACOS( ) 【格式】ACOS() 【功能】返回nExp的反余弦值。自變量的值必須在-1,1內(nèi),函數(shù)值為弧度,值域?yàn)?/2, /2。 1818反正切
35、函數(shù)反正切函數(shù)ATAN( )ATAN( ) 【格式】ATAN() 【功能】返回nExp的反正切值。函數(shù)值為弧度,值域?yàn)?-/2, /2)。目 錄上一頁下一頁退 出41 2.3.2 字符函數(shù) 字符函數(shù)是處理字符型數(shù)據(jù)的函數(shù),其自變量或函數(shù)值中至少有一個(gè)是字符型數(shù)據(jù)。函數(shù)中涉及的字符型數(shù)據(jù)項(xiàng),均以cExp表示。 1 1子串位置函數(shù)子串位置函數(shù) 【格式】AT(,) 【功能】返回串cExp1在串cExp2中的起始位置。函數(shù)值為整數(shù)。如果串cExp2不包含串cExp1,函數(shù)返回值為零。目 錄上一頁下一頁退 出42 2 2取左子串函數(shù)取左子串函數(shù)LEFT( )LEFT( ) 【格式】LEFT(,) 【功能
36、】返回從cExp串中第一個(gè)字符開始,截取nExp個(gè)字符的子串。 3取右子串函數(shù)取右子串函數(shù)RIGHT( )RIGHT( ) 【格式】RIGHT(,) 【功能】返回從cExp串中右邊第一個(gè)字符開始,截取nExp個(gè)字符的子串。有關(guān)說明同LEFT( )函數(shù)。 4 4取子串函數(shù)取子串函數(shù)SUBSTR( )SUBSTR( ) 【格式】SUBSTR (, , ) 【功能】返回從串cExp中第nExp1個(gè)字符開始,截取nExp2個(gè)字符的子串。目 錄上一頁下一頁退 出43 5 5字符串長(zhǎng)度函數(shù)字符串長(zhǎng)度函數(shù)LEN( )LEN( ) 【格式】LEN() 【功能】返回cExp串的字符數(shù)(長(zhǎng)度)。函數(shù)值為N型。 6
37、 6刪除字符串前導(dǎo)空格函數(shù)刪除字符串前導(dǎo)空格函數(shù)LTRIM( )LTRIM( ) 【格式】LTRIM() 【功能】刪除cExp串的前導(dǎo)空格字符。 7 7刪除字符串尾部空格函數(shù)刪除字符串尾部空格函數(shù)RTRIM( ) | TRIM( )RTRIM( ) | TRIM( ) 【格式】RTRIM | TRIM() 【功能】刪除cExp串尾部空格字符。 8 8空格函數(shù)空格函數(shù)SPACE( )SPACE( ) 【格式】SPACE () 【功能】返回一個(gè)包含nExp個(gè)空格的字符串。目 錄上一頁下一頁退 出44 9 9字符串替換函數(shù)字符串替換函數(shù)STUFF( )STUFF( ) 【格式】STUFF(,) 【功
38、能】從nExp1指定位置開始,用cExp2串替換 cExp1串中nExp2個(gè)字符。 1010字符復(fù)制函數(shù)字符復(fù)制函數(shù) REPLICATE( )REPLICATE( ) 【格式】REPLICATE (,) 【功能】返回將cExp串重復(fù)nExp次的字符串。 1111定義輸出格式函數(shù)定義輸出格式函數(shù) TRANSFORM( )TRANSFORM( ) 【格式】TRANSFORM (,) 【功能】按格式描述式cExp指定的格式,輸出任意表達(dá)式eExp的值。 目 錄上一頁下一頁退 出45 1212大小寫轉(zhuǎn)換函數(shù)大小寫轉(zhuǎn)換函數(shù)LOWER( ) LOWER( ) 和和UPPER( )UPPER( ) 【格式】
39、LOWER () UPPER () 【功能】LOWER( )將cExp串中字母全部變成小寫字母,UPPER( )將cExp串中字母全部變成大寫字母,其它字符不變。 1313宏替換函數(shù)宏替換函數(shù) & & 【格式】& . 【功能】替換出字符型變量cVar中字符。目 錄上一頁下一頁退 出46 2.3.3 日期時(shí)間函數(shù) 日期時(shí)間函數(shù)是處理日期型或日期時(shí)間型數(shù)據(jù)的函數(shù)。其自變量為日期型表達(dá)式dExp或日期時(shí)間型表達(dá)式tExp。 1 1系統(tǒng)日期函數(shù)系統(tǒng)日期函數(shù)DATE( )DATE( ) 【格式】DATE() 【功能】返回當(dāng)前系統(tǒng)日期,此日期由Windows系統(tǒng)設(shè)置。函數(shù)值為D型。 2 2系統(tǒng)時(shí)間函數(shù)系統(tǒng)
40、時(shí)間函數(shù)TIME( )TIME( ) 【格式】TIME() 【功能】返回當(dāng)前系統(tǒng)時(shí)間,時(shí)間顯示格式為hh:mm:ss。若選擇了nExp ,則不管為何值,返回的系統(tǒng)時(shí)間還包括秒的小數(shù)部分,精確至小數(shù)點(diǎn)后兩位。函數(shù)值為C型。目 錄上一頁下一頁退 出47 3 3日期函數(shù)日期函數(shù)DAY( )DAY( ) 【格式】DAY() 【功能】返回dExp式中的天數(shù)。函數(shù)值為N型 4 4星期函數(shù)星期函數(shù)DOW( )DOW( )、CDOW( )CDOW( ) 【格式】DOW() CDOW() 【功能】DOW( )函數(shù)返回dExp式中星期的數(shù)值,用17表示星期日星期六。函數(shù)值為N型。CDOW( ) 函數(shù)返回dExp式
41、中星期的英文名稱。函數(shù)值為C型。 5 5月份函數(shù)月份函數(shù)MONTH( )MONTH( )、CMONTH( )CMONTH( ) 【格式】MONTH() CMONTH() 【功能】MONTH( )函數(shù)返回dExp式中月份數(shù)。函數(shù)值為N型。CMONTH( )函數(shù)則返回月份的英文名。函數(shù)值為C型。 6 6年份函數(shù)年份函數(shù)YEAR( )YEAR( ) 【格式】YEAR() 【功能】函數(shù)返回dExp式中年份值。函數(shù)值為N型。目 錄上一頁下一頁退 出48 2.3.4 轉(zhuǎn)換函數(shù) 在數(shù)據(jù)庫(kù)應(yīng)用的過程中,經(jīng)常要將不同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行相應(yīng)轉(zhuǎn)換,滿足實(shí)際應(yīng)用的需要。Visual FoxPro系統(tǒng)提供了若干個(gè)轉(zhuǎn)換函
42、數(shù),較好地解決了數(shù)據(jù)類型轉(zhuǎn)換的問題。 1 1ASCIIASCII碼函數(shù)碼函數(shù)ASC( )ASC( ) 【格式】ASC () 【功能】返回cExp串首字符的ASCII碼值。函數(shù)值為N型。 2 2ASCIIASCII字符函數(shù)字符函數(shù)CHR( )CHR( ) 【格式】CHR() 【功能】返回以nExp值為ASCII碼的ASCII字符。函數(shù)值為C型。目 錄上一頁下一頁退 出49 3 3字符日期型轉(zhuǎn)換函數(shù)字符日期型轉(zhuǎn)換函數(shù)CTOD( )CTOD( ) 【格式】CTOD() 【功能】把“/”格式的cExp串轉(zhuǎn)換成對(duì)應(yīng)日期值。函數(shù)值為D型。 4 4日期字符型轉(zhuǎn)換函數(shù)日期字符型轉(zhuǎn)換函數(shù)DTOC( )DTOC(
43、 ) 【格式】DTOC(, 1) 【功能】把日期dExp轉(zhuǎn)換成相應(yīng)的字符串。函數(shù)值為C型。 5 5數(shù)值字符型轉(zhuǎn)換函數(shù)數(shù)值字符型轉(zhuǎn)換函數(shù)STR( )STR( ) 【格式】STR(,) 【功能】將nExp1的數(shù)值轉(zhuǎn)換成字符串形式。函數(shù)值為C型。 6 6字符數(shù)值型轉(zhuǎn)換函數(shù)字符數(shù)值型轉(zhuǎn)換函數(shù)VAL( )VAL( ) 【格式】VAL () 【功能】將cExp串中數(shù)字轉(zhuǎn)換成對(duì)應(yīng)數(shù)值,轉(zhuǎn)換結(jié)果取兩位小數(shù)。函數(shù)值為N型。目 錄上一頁下一頁退 出50 2.3.5 測(cè)試函數(shù) 在數(shù)據(jù)庫(kù)應(yīng)用的操作過程中,用戶需要了解數(shù)據(jù)對(duì)象的類型、狀態(tài)等屬性,Visual FoxPro提供了相關(guān)的測(cè)試函數(shù),使用戶能夠準(zhǔn)確地獲取操作對(duì)
44、象的相關(guān)屬性。 1 1數(shù)據(jù)類型函數(shù)數(shù)據(jù)類型函數(shù)TYPE( )TYPE( ) 【格式】TYPE() 【功能】返回cExp 串表示的數(shù)據(jù)對(duì)象的數(shù)據(jù)類型,返回值是一個(gè)表示數(shù)據(jù)類型的大寫字母。C:字符型,D:日期型,N:數(shù)值型,L:邏輯型,M:備注型,G:通用型,U:未定義。 2 2文件查找函數(shù)文件查找函數(shù)FILEFILE()() 【格式】FILE() 【功能】根據(jù)cExp串中指定路徑查找文件,如未指定路徑,則在默認(rèn)目錄中查找。文件存在,返回邏輯真(.T.) 值,否則為邏輯假(.F.)值。目 錄上一頁下一頁退 出51 3 3條件測(cè)試函數(shù)條件測(cè)試函數(shù)IIF( )IIF( ) 【格式】IIF(,) 【功能
45、】邏輯表達(dá)式lExp值為真(.T.),返回表達(dá)式eExp1的值,否則返回表達(dá)式eExp2的值。eExp1和eExp2可以是任意數(shù)據(jù)類型的表達(dá)式。 4 4表結(jié)束標(biāo)志測(cè)試函數(shù)表結(jié)束標(biāo)志測(cè)試函數(shù)EOF( )EOF( ) 【格式】EOF( | ) 【功能】測(cè)試記錄指針是否移到表結(jié)束處。如果記錄指針指向表中尾記錄之后,函數(shù)返回真(.T.),否則為假(.F.)。 5 5表起始標(biāo)識(shí)測(cè)試函數(shù)表起始標(biāo)識(shí)測(cè)試函數(shù)BOF ( )BOF ( ) 【格式】BOF ( | ) 【功能】測(cè)試記錄指針是否移到表起始處。如果記錄指針指向表中首記錄前面,函數(shù)返回真(.T.),否則為假(.F.)。工作區(qū)說明見EOF()函數(shù)。目 錄
46、上一頁下一頁退 出52 6 6當(dāng)前記錄號(hào)函數(shù)當(dāng)前記錄號(hào)函數(shù)RECNO()RECNO() 【格式】RECNO( | ) 【功能】返回指定工作區(qū)中表的當(dāng)前記錄的記錄號(hào)。對(duì)于空表返回值為1。 7 7當(dāng)前記錄邏輯刪除標(biāo)志測(cè)試函數(shù)當(dāng)前記錄邏輯刪除標(biāo)志測(cè)試函數(shù)DELETED( )DELETED( ) 【格式】DELETED( | ) 【功能】測(cè)試指定工作區(qū)中表的當(dāng)前記錄是否被邏輯刪除。如果當(dāng)前記有邏輯刪除標(biāo)記,函數(shù)返回真(.T.),否則為假(.F.)。 8 8記錄數(shù)函數(shù)記錄數(shù)函數(shù)RECCOUNT( )RECCOUNT( ) 【格式】RECCOUNT ( | ) 【功能】返回指定工作區(qū)中表的記錄個(gè)數(shù)。如果工
47、作區(qū)中沒有打開表則返回0。 9 9記錄大小測(cè)試函數(shù)記錄大小測(cè)試函數(shù)RECSIZE( )RECSIZE( ) 【格式】RECSIZE( | ) 【功能】返回指定工作區(qū)中表的記錄總長(zhǎng)度。如果工作區(qū)中沒有打開表則返回0。目 錄上一頁下一頁退 出53 1010屏幕列坐標(biāo)和行坐標(biāo)函數(shù)屏幕列坐標(biāo)和行坐標(biāo)函數(shù) COL( )COL( )、ROW( )ROW( ) 【格式】COL ( ) ROW() 【功能】COL ( )返回光標(biāo)的列坐標(biāo)值,ROW ( )返回光標(biāo)的行坐標(biāo)值。 1111打印機(jī)列坐標(biāo)和行坐標(biāo)函數(shù)打印機(jī)列坐標(biāo)和行坐標(biāo)函數(shù)PCOL( )PCOL( ),PROW( )PROW( ) 【格式】PCOL(
48、) PROW() 【功能】返回打印機(jī)打印頭所處位置的列坐標(biāo)和行坐標(biāo)。目 錄上一頁下一頁退 出542.4 Visual FoxPro的表達(dá)式 在Visual FoxPro系統(tǒng)中,表達(dá)式是由常量、變量、函數(shù)及其他數(shù)據(jù)容器單獨(dú)或與運(yùn)算符組成的有意義的運(yùn)算式子。 運(yùn)算符是對(duì)數(shù)據(jù)對(duì)象進(jìn)行加工處理的符號(hào),根據(jù)其處理數(shù)據(jù)對(duì)象的數(shù)據(jù)類型,運(yùn)算符分為算術(shù)(數(shù)值)運(yùn)算符、字符運(yùn)算符、日期時(shí)間運(yùn)算符、邏輯運(yùn)算符和關(guān)系運(yùn)算符五類,相應(yīng)的,表達(dá)式也分為算術(shù)表達(dá)式、字符表達(dá)式、日期時(shí)間表達(dá)式、邏輯表達(dá)式和關(guān)系表達(dá)式五類。 常量、變量和函數(shù)可以作為表達(dá)式的特例。今后涉及到表達(dá)式的描述,除特別指明,均可包含這些特殊的形式。目
49、 錄上一頁下一頁退 出55 在一個(gè)表達(dá)式中可能包含多個(gè)由不同運(yùn)算符連接起來的、具有不同數(shù)據(jù)類型的數(shù)據(jù)對(duì)象,但任何運(yùn)算符兩側(cè)的數(shù)據(jù)對(duì)象必須具有相同數(shù)據(jù)類型,否則運(yùn)算將會(huì)出錯(cuò);由于表達(dá)式中有多種運(yùn)算,不同的運(yùn)算順序可能得出不同結(jié)果,甚至出現(xiàn)運(yùn)算錯(cuò)誤,因此當(dāng)表達(dá)式中包含多種運(yùn)算時(shí),必須按一定順序施行相應(yīng)運(yùn)算,才能保證運(yùn)算的合理性和結(jié)果的正確性、惟一性。用戶也可以通過給表達(dá)式加圓括號(hào)的方式,改變其默認(rèn)運(yùn)算順序。在Visual FoxPro系統(tǒng)中,各類運(yùn)算的優(yōu)先順序如下: 圓括號(hào)圓括號(hào) 算術(shù)和日期運(yùn)算算術(shù)和日期運(yùn)算 字符串運(yùn)算字符串運(yùn)算 關(guān)系運(yùn)算關(guān)系運(yùn)算 邏邏輯運(yùn)算輯運(yùn)算 同一類運(yùn)算符也有一定的運(yùn)算優(yōu)先
50、順序,這在各類表達(dá)式中分別介紹。如果多個(gè)同一級(jí)別的運(yùn)算,則按在表達(dá)式中出現(xiàn)的先后順序進(jìn)行運(yùn)算。目 錄上一頁下一頁退 出56 2.4.1 算術(shù)表達(dá)式 算術(shù)表達(dá)式又稱數(shù)值表達(dá)式,其運(yùn)算對(duì)象和運(yùn)算結(jié)果均為數(shù)值型數(shù)據(jù)。數(shù)值運(yùn)算符的功能及運(yùn)算優(yōu)先順序,如表2-2所示。表中運(yùn)算符按運(yùn)算優(yōu)先級(jí)別從高到低順序排列。 表2-2 算術(shù)運(yùn)算符運(yùn)算符功 能表 達(dá) 式 舉 例運(yùn)算結(jié)果優(yōu)先級(jí)別( )圓括號(hào)(2-5)*(3+2)-15最高 | | | | 最低-取相反數(shù)-(3-8)5*、乘冪2*5、3232、9*、/乘、除2*10、25/520、5%取余數(shù)20%50+、-加、減36+19、29-4755、-18目 錄上一頁
51、下一頁退 出57 2.4.2 字符表達(dá)式 字符表達(dá)式是由字符運(yùn)算符將字符型數(shù)據(jù)對(duì)象連接起來進(jìn)行運(yùn)算的式子。字符運(yùn)算的對(duì)象是字符型數(shù)據(jù)對(duì)象,運(yùn)算結(jié)果是字符常量或邏輯常量。表2-3為字符運(yùn)算符 的功能。 +與 -都是字符連接運(yùn)算符,都將兩字符串順序連接,但“+”是直接連接,“-”則將串1尾部所有空格移到串2尾部后再連接;“$”運(yùn)算實(shí)質(zhì)上是比較兩個(gè)串的包含關(guān)系,因此有些書籍中將其歸于關(guān)系運(yùn)算,其作用是比較、判斷串1 是否為串2的子串,如果串1是串2的子串,運(yùn)算結(jié)果為“真”,否則為“假”。所謂子串,如果串1中所有字符均包含在串2中、且與串1中排列方式與順序完全一致,則稱串1為串2的子串。目 錄上一頁下
52、一頁退 出58 表2-3 字符運(yùn)算符 兩個(gè)連接運(yùn)算的優(yōu)先級(jí)別相同,但高于$的比較運(yùn)算。運(yùn)算符功能表達(dá)式舉例運(yùn)算結(jié)果+串1+串2:兩串順序相連接12 +5612 56-串1-串2:串1尾空格移到串2尾后再順序相連接12 -561256 $串1$串2:串1是否為串2子串1234$ a123451234$ 34512.T.F.目 錄上一頁下一頁退 出59 2.4.3 日期表達(dá)式 由日期運(yùn)算符將一個(gè)日期型或日期時(shí)間型數(shù)據(jù)與一個(gè)數(shù)值型數(shù)據(jù)連接而成的運(yùn)算式稱為日期表達(dá)式。日期運(yùn)算符分為“+”和“-”兩種,其作用分別是在日期數(shù)據(jù)上增加或減少一個(gè)天數(shù),在日期時(shí)間數(shù)據(jù)上增加或減少一個(gè)秒數(shù)。兩個(gè)運(yùn)算的優(yōu)先級(jí)別相同。目 錄上一頁下一頁退 出60 2.4.4 關(guān)系表達(dá)式 由關(guān)系運(yùn)算符連接兩個(gè)同類數(shù)據(jù)對(duì)象進(jìn)行關(guān)系比較的運(yùn)算式稱為關(guān)系表達(dá)式。關(guān)
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工地油罐出售合同范例
- 交通銀行合同范例
- 填埋場(chǎng)滅蠅合同范例
- 山藥種植租地合同范例
- 委托 執(zhí)行 合同范例
- 手機(jī)銷售玻璃合同模板
- 度銷售協(xié)議合同范例
- 庫(kù)房配件轉(zhuǎn)讓合同模板
- 勞務(wù)家政合同模板
- 房屋設(shè)備合同范例
- 心理健康教育教學(xué)中的語言藝術(shù)文檔
- 購(gòu)買文件登記表.doc
- 弧長(zhǎng)與扇形的面積教學(xué)設(shè)計(jì)范文
- [山東]建筑工程施工技術(shù)資料管理規(guī)程表格
- 《葫蘆絲演奏的入門練習(xí)》教學(xué)設(shè)計(jì)
- 安全生產(chǎn)工作匯報(bào)材料 (4000字)
- 噪聲傷害事故PPT課件
- 四川省農(nóng)業(yè)水價(jià)綜合改革試點(diǎn)末級(jí)渠系工程建設(shè)項(xiàng)目實(shí)施方案
- 入團(tuán)積極分子“推優(yōu)入團(tuán)”申請(qǐng)推薦表
- 企業(yè)如何提高員工安全意識(shí)探究
- 線性代數(shù)在密碼學(xué)中的應(yīng)用
評(píng)論
0/150
提交評(píng)論