第2章數(shù)據(jù)和表達(dá)式_第1頁(yè)
第2章數(shù)據(jù)和表達(dá)式_第2頁(yè)
第2章數(shù)據(jù)和表達(dá)式_第3頁(yè)
第2章數(shù)據(jù)和表達(dá)式_第4頁(yè)
第2章數(shù)據(jù)和表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 本章要點(diǎn)本章要點(diǎn)& 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型& 常量與變量常量與變量& 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式& 常用函數(shù)常用函數(shù)第第2 2章章 數(shù)據(jù)與數(shù)據(jù)類(lèi)型數(shù)據(jù)與數(shù)據(jù)類(lèi)型2.1 2.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型縮寫(xiě)縮寫(xiě)說(shuō)明說(shuō)明數(shù)據(jù)寬度數(shù)據(jù)寬度數(shù)值型數(shù)值型N N整數(shù)或小數(shù)整數(shù)或小數(shù)在內(nèi)存中占在內(nèi)存中占8 8個(gè)字節(jié),在表中個(gè)字節(jié),在表中占占1-201-20個(gè)字節(jié)個(gè)字節(jié)浮點(diǎn)型浮點(diǎn)型F F整數(shù)或小數(shù)整數(shù)或小數(shù)在內(nèi)存中占在內(nèi)存中占8 8個(gè)字節(jié),在表中個(gè)字節(jié),在表中占占120120個(gè)字節(jié)個(gè)字節(jié)雙精度型雙精度型B B雙精度數(shù)值雙精度數(shù)值8 8個(gè)字節(jié)個(gè)字節(jié)整型整型I I整型值整型值

2、4 4個(gè)字節(jié)個(gè)字節(jié)貨幣型貨幣型Y Y貨幣單位貨幣單位8 8個(gè)字節(jié)個(gè)字節(jié)數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型2.1 2.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型縮寫(xiě)縮寫(xiě)說(shuō)明說(shuō)明數(shù)據(jù)寬度數(shù)據(jù)寬度字符型字符型C C任意文本任意文本每個(gè)字符占用一個(gè)字節(jié),最大為每個(gè)字符占用一個(gè)字節(jié),最大為254254個(gè)字符個(gè)字符日期型日期型D D年、月、日年、月、日8 8個(gè)字節(jié)個(gè)字節(jié)日期時(shí)間型日期時(shí)間型T T年、月、日、年、月、日、時(shí)、分、秒時(shí)、分、秒8 8個(gè)字節(jié)個(gè)字節(jié)邏輯型邏輯型L L真或假真或假1 1個(gè)字節(jié)個(gè)字節(jié)備注型備注型M M不定長(zhǎng)的字符、不定長(zhǎng)的字符、數(shù)值或文本數(shù)值或文本4 4個(gè)字節(jié)個(gè)字節(jié)通用型通用型G GOLEOLE對(duì)象鏈接與對(duì)象

3、鏈接與嵌入嵌入4 4個(gè)字節(jié)個(gè)字節(jié)數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型2.2.1 2.2.1 常量常量1 1、數(shù)值型常量、數(shù)值型常量 數(shù)值型常量即常數(shù),用來(lái)表示一個(gè)數(shù)量的大小,由數(shù)字?jǐn)?shù)值型常量即常數(shù),用來(lái)表示一個(gè)數(shù)量的大小,由數(shù)字0909、小、小數(shù)點(diǎn)和正負(fù)號(hào)構(gòu)成。如:數(shù)點(diǎn)和正負(fù)號(hào)構(gòu)成。如:2525、25.4525.45、-6.78-6.78。為了表示很大或很小。為了表示很大或很小的數(shù)值型常量,也可以使用科學(xué)記數(shù)法形式書(shū)寫(xiě)。的數(shù)值型常量,也可以使用科學(xué)記數(shù)法形式書(shū)寫(xiě)。2 2、字符型常量、字符型常量 字符型常量也稱(chēng)為字符串,其表示方法是用半角單引號(hào)、雙引字符型常量也稱(chēng)為字符串,其表示方法是用半角單引號(hào)、雙引號(hào)或方括號(hào)把

4、字符串?dāng)U起來(lái)。注意,不包含任何字符的字符串(號(hào)或方括號(hào)把字符串?dāng)U起來(lái)。注意,不包含任何字符的字符串()叫空串??沾c包含空格的字符串(叫空串??沾c包含空格的字符串( )不同。)不同。2.2 2.2 常量與變量常量與變量3 3邏輯型常量邏輯型常量 邏輯型數(shù)據(jù)只有邏輯真和邏輯型數(shù)據(jù)只有邏輯真和邏輯假兩個(gè)值。邏輯真的常量邏輯假兩個(gè)值。邏輯真的常量表示形式有:表示形式有:.T.T、.t.t、.Y.Y.和和.y.y。邏輯假的常量表示形。邏輯假的常量表示形式有:式有:.F.F、.f.f.、.N.N.和和.n.n.。2.2 2.2 常量和變量常量和變量4 4、日期型常量、日期型常量 日期型常量的定界符是一

5、對(duì)花括號(hào)。日期型常量的定界符是一對(duì)花括號(hào)?;ɡㄌ?hào)內(nèi)包括年、月、日三部分內(nèi)容,花括號(hào)內(nèi)包括年、月、日三部分內(nèi)容,各部分內(nèi)容之間用分隔符分隔。分隔符各部分內(nèi)容之間用分隔符分隔。分隔符可以是斜杠(可以是斜杠(/ /)、連字號(hào))、連字號(hào)(-)(-)、句點(diǎn)、句點(diǎn)( () )或空格,其中斜杠是系統(tǒng)在顯示日或空格,其中斜杠是系統(tǒng)在顯示日期型數(shù)據(jù)時(shí)使用的默認(rèn)分隔符。系統(tǒng)默期型數(shù)據(jù)時(shí)使用的默認(rèn)分隔符。系統(tǒng)默認(rèn)的日期格式是美國(guó)日期格式:月日認(rèn)的日期格式是美國(guó)日期格式:月日年年2.2 2.2 常量和變量常量和變量2.2.2 2.2.2 變量變量 在程序運(yùn)行過(guò)程中不斷變化的量即是變?cè)诔绦蜻\(yùn)行過(guò)程中不斷變化的量即是變量

6、。量。Visual FoxProVisual FoxPro的變量分為字段變量和內(nèi)的變量分為字段變量和內(nèi)存變量?jī)纱箢?lèi)。表中的字段稱(chēng)為字段名變量。存變量?jī)纱箢?lèi)。表中的字段稱(chēng)為字段名變量。內(nèi)存變量是內(nèi)存中的一個(gè)存儲(chǔ)區(qū)域,變量值就內(nèi)存變量是內(nèi)存中的一個(gè)存儲(chǔ)區(qū)域,變量值就是存放在這個(gè)存儲(chǔ)區(qū)域里的數(shù)據(jù),變量值的類(lèi)是存放在這個(gè)存儲(chǔ)區(qū)域里的數(shù)據(jù),變量值的類(lèi)型包括字符型、數(shù)值型、貨幣型、邏輯型、日型包括字符型、數(shù)值型、貨幣型、邏輯型、日期型和日期時(shí)間型。期型和日期時(shí)間型。2.2 2.2 常量和變量常量和變量 1 1、字段變量、字段變量 表的每一個(gè)字段都是一個(gè)字段變量,是表的每一個(gè)字段都是一個(gè)字段變量,是由于對(duì)于

7、某一個(gè)字段,它的值因記錄而異。由于對(duì)于某一個(gè)字段,它的值因記錄而異。 字段變量的值取決于當(dāng)前記錄的值。字段變量的值取決于當(dāng)前記錄的值。 如果當(dāng)前數(shù)據(jù)表中有與內(nèi)存變量同名的字段如果當(dāng)前數(shù)據(jù)表中有與內(nèi)存變量同名的字段變量,字段名變量?jī)?yōu)先于內(nèi)存變量。訪問(wèn)內(nèi)變量,字段名變量?jī)?yōu)先于內(nèi)存變量。訪問(wèn)內(nèi)存變量時(shí),必須在變量前加上前綴存變量時(shí),必須在變量前加上前綴“M.”M.”或或“M-”M-”,否則系統(tǒng)將訪問(wèn)同名的字段變量。,否則系統(tǒng)將訪問(wèn)同名的字段變量。 2 2、內(nèi)存變量、內(nèi)存變量 不管是字段名變量還是內(nèi)存變量,變不管是字段名變量還是內(nèi)存變量,變量名的量名的命名規(guī)則命名規(guī)則是:是: (1 1)只能由字母、漢

8、字、數(shù)字或下劃線組)只能由字母、漢字、數(shù)字或下劃線組成;成; (2 2)以字母、漢字或下劃線開(kāi)始;)以字母、漢字或下劃線開(kāi)始; (3 3)長(zhǎng)度不能超過(guò))長(zhǎng)度不能超過(guò)128128個(gè)字符;個(gè)字符; (4 4)不能使用)不能使用VFPVFP的保留字作為變量的名。的保留字作為變量的名。內(nèi)存變量的賦值內(nèi)存變量的賦值 內(nèi)存變量的賦值有以下兩種形式:內(nèi)存變量的賦值有以下兩種形式:(1 1)命令格式:)命令格式: = 命令功能:將表達(dá)式的計(jì)算結(jié)果送到內(nèi)存命令功能:將表達(dá)式的計(jì)算結(jié)果送到內(nèi)存變量中。變量中。(2 2)命令格式:)命令格式:STORE STORE TO TO 命令功能:將表達(dá)式的值賦給命令功能:將

9、表達(dá)式的值賦給 中指定的那些內(nèi)存變量。中指定的那些內(nèi)存變量。內(nèi)存變量的顯示內(nèi)存變量的顯示(1)(1)輸出內(nèi)存變量的值輸出內(nèi)存變量的值格式格式1:?1:?,格式格式2:?2:?,(2)(2)顯示內(nèi)存變量顯示內(nèi)存變量格式格式1 1:LIST MEMORY LIKELIST MEMORY LIKETO TO PRINTER|TO FILEPRINTER|TO FILE格式格式2 2:DISPLAY MEMORY LIKEDISPLAY MEMORY LIKETO TO PRINTER |TO FILEPRINTER |TO FILE說(shuō)明:通配符說(shuō)明:通配符“?”代表一個(gè)任意字符;代表一個(gè)任意字符;“

10、* *”代代表多個(gè)任意字符。表多個(gè)任意字符。 2.2.3 記錄 記錄是數(shù)據(jù)表中一組數(shù)據(jù)項(xiàng)的集合。在同一個(gè)數(shù)據(jù)表中可以有若干條記錄,每條記錄具有相同的字段個(gè)數(shù)。在數(shù)據(jù)表中記錄的順序不影響對(duì)記錄的操作。(第5章) 2.2.4 對(duì)象 對(duì)象是數(shù)據(jù)存儲(chǔ)器的一種。對(duì)象是類(lèi)的實(shí)體,對(duì)象也是類(lèi)的變量,它是任何具有屬性和方法的信息的集合。 對(duì)象的建立可以通過(guò)設(shè)計(jì)器和CreateObject()函數(shù)來(lái)實(shí)現(xiàn)。(第12章) 2.2.5 內(nèi)存變量的作用域 1.內(nèi)存變量的作用范圍 變量的作用域指的是變量在什么范圍內(nèi)是有效或能夠被訪問(wèn)的。在Visual FoxPro中,若以變量的作用域來(lái)分,內(nèi)存變量可分為公共變量、私有變量

11、和局部變量三類(lèi)。 (1)公共變量(又稱(chēng)全局變量) 在任何模塊中都可使用的變量稱(chēng)為公共變量。 命令格式: PUBLIC 命令功能:建立公共的內(nèi)存變量,并為它們賦初值為邏輯假.F.。 公共變量一旦建立就一直有效,即使程序運(yùn)行結(jié)束返回到命令窗口也不會(huì)消失。只有當(dāng)執(zhí)行CLEAR MEMORY、RELEASE、QUIT等命令后,公共變量才被釋放。 在命令窗口中直接使用的變量也是公共變量。 (2)私有變量 在程序中直接使用(沒(méi)有用PUBLIC和LOCAL命令事先聲明)的變量都是私有變量。 命令格式: PRIVATE 私有變量的作用域是建立它的模塊及其下屬的各層模塊。一旦建立它的模塊程序運(yùn)行結(jié)束,這些私有變

12、量將自動(dòng)清除。 (3)局部變量 局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。 命令格式: LOCAL 當(dāng)建立它的模塊程序運(yùn)行結(jié)束時(shí),局部變量自動(dòng)釋放。局部變量要先建立后使用。 該命令建立指定的局部?jī)?nèi)存變量,并為它們賦初值邏輯假.F.。由于LOCAL與LOCATE前四個(gè)字母相同,所以這條命令的命令動(dòng)詞不能縮寫(xiě)。 說(shuō)明:由于內(nèi)存變量存放在獨(dú)立于數(shù)據(jù)表文件的臨時(shí)存儲(chǔ)單元中,所以,變量和字段可以 同名。字段具有更高的優(yōu)先級(jí),若要訪問(wèn)變量,變量名前應(yīng)加上m.或m-前綴來(lái)引用它。 2.內(nèi)存變量文件 退出VFP后,所有的內(nèi)存變量及其值將全部丟失。再次進(jìn)入Visual FoxPro時(shí),這些內(nèi)

13、存變量均不能再使用。在磁盤(pán)上建立專(zhuān)門(mén)存放內(nèi)存變量的文件了長(zhǎng)期保存某些內(nèi)存變量,這種文件就是內(nèi)存變量文件,擴(kuò)展名為“.mem”。內(nèi)存變量的清除內(nèi)存變量的清除命令格式命令格式1 1:CLEAR MEMORYCLEAR MEMORY命令功能:清除所有內(nèi)存變量。命令功能:清除所有內(nèi)存變量。命令格式命令格式2 2:RELEASE ALL EXTENDEDRELEASE ALL EXTENDED命令功能:清除所有的內(nèi)存變量。在人機(jī)命令功能:清除所有的內(nèi)存變量。在人機(jī)會(huì)話狀態(tài)其作用同命令格式會(huì)話狀態(tài)其作用同命令格式1 1內(nèi)存變量存盤(pán)內(nèi)存變量存盤(pán)save all to save all to 內(nèi)存變量文件名內(nèi)

14、存變量文件名恢復(fù)內(nèi)存變量恢復(fù)內(nèi)存變量Restore from memoRestore from memo 2.3 2.3 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 2.3.1 運(yùn)算符 運(yùn)算符是對(duì)數(shù)據(jù)對(duì)象進(jìn)行加工處理的符號(hào),根據(jù)其處理數(shù)據(jù)對(duì)象的數(shù)據(jù)類(lèi)型,運(yùn)算符分為算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符四類(lèi)。 表達(dá)式是由運(yùn)算對(duì)象和運(yùn)算符號(hào)組成的式子,它包括常量、變量、函數(shù)和各種運(yùn)算符號(hào)。表達(dá)式根據(jù)進(jìn)行運(yùn)算的數(shù)據(jù)類(lèi)型分為算術(shù)表達(dá)式、字符型表達(dá)式、關(guān)系型表達(dá)式、邏輯型表達(dá)式和日期表達(dá)式。 2.3.2 算術(shù)表達(dá)式 算術(shù)表達(dá)式又稱(chēng)數(shù)值表達(dá)式,其運(yùn)算對(duì)象和運(yùn)算結(jié)果均為數(shù)值型數(shù)據(jù)。數(shù)值運(yùn)算符的功能及運(yùn)算優(yōu)先順序

15、,如表2-2所示。表中運(yùn)算符按運(yùn)算優(yōu)先級(jí)別從高到低順序排列。操作數(shù)必須是數(shù)值,結(jié)果也是數(shù)值。運(yùn)算符及優(yōu)先次序:(),*或,*、/、%,+、- 算術(shù)運(yùn)算符2.3.3 2.3.3 字符表達(dá)式字符表達(dá)式字符表達(dá)式是將兩個(gè)字符串連接生成一個(gè)字符串。字符表達(dá)式是將兩個(gè)字符串連接生成一個(gè)字符串。運(yùn)算符:運(yùn)算符: + +:將兩個(gè)字符串連接成一個(gè)新的字符串。:將兩個(gè)字符串連接成一個(gè)新的字符串。 - -:將兩個(gè)字符串連接成一個(gè)字符串,并將前字符串尾部的空:將兩個(gè)字符串連接成一個(gè)字符串,并將前字符串尾部的空格移到合并后的新字符串的尾部。格移到合并后的新字符串的尾部。運(yùn)算符功能表達(dá)式舉例運(yùn)算結(jié)果+串1+串2:兩串順

16、序相連接12 +5612 56-串1-串2:串1尾空格移到串2尾后再順序相連接12 -561256 $串1$串2:串1是否為串2子串 (子串匹配)1234$ a123451234$ 34512.T.F. 2.3.4 2.3.4 日期時(shí)間表達(dá)式日期時(shí)間表達(dá)式:只有兩種運(yùn)算,:只有兩種運(yùn)算,一種是兩個(gè)日期時(shí)間相減,結(jié)果為相差的一種是兩個(gè)日期時(shí)間相減,結(jié)果為相差的天數(shù)或秒數(shù);另一種是一個(gè)日期加減一個(gè)天數(shù)或秒數(shù);另一種是一個(gè)日期加減一個(gè)數(shù)值,結(jié)果為新的日期時(shí)間。數(shù)值,結(jié)果為新的日期時(shí)間。2.3.5 2.3.5 關(guān)系表達(dá)式:關(guān)系表達(dá)式:對(duì)兩個(gè)式子進(jìn)行比較運(yùn)算,結(jié)果為邏輯值。對(duì)兩個(gè)式子進(jìn)行比較運(yùn)算,結(jié)果為

17、邏輯值。運(yùn)算符運(yùn)算符說(shuō)明說(shuō)明運(yùn)算符運(yùn)算符說(shuō)明說(shuō)明小于小于大于大于=大于等于大于等于=等于等于= =恒等于恒等于、#、!=不等于不等于$子字符串查找子字符串查找說(shuō)明:說(shuō)明:(1 1)關(guān)系運(yùn)算符的優(yōu)先級(jí)別相同。)關(guān)系運(yùn)算符的優(yōu)先級(jí)別相同。(2 2)數(shù)值型和貨幣型數(shù)據(jù)按值的大小比較;日期和時(shí)間型數(shù)據(jù)越)數(shù)值型和貨幣型數(shù)據(jù)按值的大小比較;日期和時(shí)間型數(shù)據(jù)越晚值越大;邏輯型數(shù)據(jù)晚值越大;邏輯型數(shù)據(jù).T.T.大于大于.F.F.。(3 3)字符串比較根據(jù)排序序列的設(shè)置比較大小;)字符串比較根據(jù)排序序列的設(shè)置比較大??;(4 4)精確比較與不精確比較設(shè)置命令)精確比較與不精確比較設(shè)置命令SET EXACT ON

18、|OFFSET EXACT ON|OFF。運(yùn)算符功 能表 達(dá) 式 舉 例結(jié)果小于15大于A 1.T.=等于2+4 = 3*5.F.、#、!=不等于5 -10.T.=小于或等于abc =大于或等于10-10-02=10/01/02.T.=字符串恒同abc=abcabc.F.在Visual FoxPro系統(tǒng)中,字符型數(shù)據(jù)的比較相對(duì)復(fù)雜,默認(rèn)規(guī)則為:(1)單個(gè)字符 單個(gè)字符的比較是以字符ASCII碼的大小,作為字符的“大小”,也就是先后順序;(2)字符串 兩個(gè)字符串進(jìn)行比較的基本原則是從左到右逐個(gè)字符進(jìn)行比較,但因系統(tǒng)相關(guān)設(shè)置狀態(tài)不同,比較的結(jié)果與預(yù)期的不完全相同。 相等比較:用運(yùn)算符進(jìn)行兩串比較時(shí)

19、,或者到達(dá)右端串的末尾字符為止(當(dāng)SET EXACT OFF時(shí)),或者當(dāng)?shù)竭_(dá)兩串的末端為止(當(dāng)SET EXACT ON時(shí)),以判斷兩串是否相等; 恒同比較:用運(yùn)算符=進(jìn)行兩串的恒同比較時(shí),不論SET EXACT的設(shè)置如何,只有當(dāng)兩串長(zhǎng)度相同,字符相同,排列一致時(shí)才成立; 大小比較:用運(yùn)算符進(jìn)行兩串比較時(shí),比較到第個(gè)不相同字符為止,否則,長(zhǎng)度較長(zhǎng)的串較“大”; 其他比較:除上述運(yùn)算符之外的其他運(yùn)算符、=的比較,均可看作是兩個(gè)運(yùn)算符以邏輯“或”的關(guān)系構(gòu)成的復(fù)合運(yùn)算;(3)漢字 系統(tǒng)默認(rèn)按漢字的拼音排列漢字的順序,也就是以漢字的拼音順序比較“大小”,因此,漢字比較實(shí)質(zhì)上是以字母的順序進(jìn)行比較;但Vi

20、sual FoxPro系統(tǒng)可以設(shè)置漢字按筆畫(huà)排列順序,因而,漢字的“大小”就決定其筆畫(huà)數(shù)的多少。 用菜單設(shè)置漢字排列順序方式的操作步驟為:?jiǎn)螕簟竟ぞ摺縷【選項(xiàng)】命令,將打開(kāi)“選項(xiàng)”對(duì)話框中,在“數(shù)據(jù)”選項(xiàng)卡的“排序序列”下拉列表框中選擇“Stroke”項(xiàng)并確定,系統(tǒng)將按漢字的筆畫(huà)數(shù)進(jìn)行漢字的排序、比較運(yùn)算。2.3.6 2.3.6 邏輯表達(dá)式邏輯表達(dá)式運(yùn)算符有:運(yùn)算符有:.NOT.NOT.(或?。?、(或?。?、.AND.AND.、.OR.OR.運(yùn)算規(guī)則:運(yùn)算規(guī)則:X XY YX AND YX AND YX OR YX OR YNOT XNOT X.T.T.T.T.T.T.T.T.F.F.T.T.F

21、.F.F.F.T.T.F.F.F.F.T.T.F.F.T.T.T.T.F.F.F.F.F.F.F.F.T.T. 2.3.7 2.3.7 表達(dá)式的表達(dá)式的優(yōu)先級(jí)優(yōu)先級(jí) 算術(shù)運(yùn)算符、字符串運(yùn)算符和日期時(shí)間運(yùn)算術(shù)運(yùn)算符、字符串運(yùn)算符和日期時(shí)間運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符。算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符。 運(yùn)算符 功 能優(yōu)先級(jí)別( ) 圓括號(hào)最高|最低.NOT.或! 邏輯非.AND. 邏輯與.OR. 邏輯或1 1、函數(shù)的要素、函數(shù)的要素 函數(shù)有函數(shù)名、參數(shù)和函數(shù)值函數(shù)有函數(shù)名、參數(shù)和函數(shù)值3 3個(gè)要素。個(gè)要素。2 2、函數(shù)的類(lèi)型、函數(shù)的類(lèi)型 函數(shù)類(lèi)型就是函數(shù)值的類(lèi)型。函數(shù)類(lèi)型就是函數(shù)值的類(lèi)型。3 3、

22、常用函數(shù)、常用函數(shù)(1 1)數(shù)值函數(shù):)數(shù)值函數(shù):ABSABS()、()、SIGNSIGN()、()、SQRTSQRT()、()、PIPI()、()、INTINT()、()、CEILINGCEILING()、()、FLOORFLOOR()、()、ROUNDROUND()、()、MODMOD()、()、MAXMAX()、()、MINMIN()()(2 2)字符函數(shù):)字符函數(shù):LENLEN()、()、LOWERLOWER()、()、UPPERUPPER()、()、SPACESPACE()、()、TRIMTRIM()、()、LTRIMLTRIM()、()、ALLTRIMALLTRIM()、()、L

23、EFTLEFT()、()、RIGHTRIGHT()、()、SUBSTRSUBSTR()、()、OCCURSOCCURS()、()、ATAT()、()、ATCATC()、()、STUFFSTUFF()、()、CHRTRANCHRTRAN()、()、LIKELIKE()()(3 3)日期時(shí)間函數(shù):)日期時(shí)間函數(shù):DATEDATE()、()、TIMETIME()、()、DATETIMEDATETIME()、()、YEARYEAR()、()、MONTHMONTH()、()、DAYDAY()、()、HOURHOUR()、()、MINUTEMINUTE()、()、SECSEC()()(4 4)數(shù)據(jù)類(lèi)型轉(zhuǎn)換

24、函數(shù):)數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù):STRSTR()、()、VALVAL()、()、CTODCTOD()、()、CTOTCTOT()、()、DTOCDTOC()、()、TTOCTTOC()、()、& &(5 5)測(cè)試函數(shù):)測(cè)試函數(shù):BETWEENBETWEEN()、()、ISNULLISNULL()、()、EMPTYEMPTY()、()、VARTYPEVARTYPE()、()、EOFEOF()、()、BOFBOF()、()、RECNORECNO()、()、RECCOUNTRECCOUNT()、()、IIFIIF()、()、 2.4 2.4 常用函數(shù)常用函數(shù)2.4 2.4 常用函數(shù)常用函

25、數(shù)Visual FoxPro系統(tǒng)中,函數(shù)是一段程序代碼,用來(lái)進(jìn)行一些特定的運(yùn)算或操作,支持和完善命令的功能,幫助用戶完成各種操作與管理。Visual FoxPro系統(tǒng)有數(shù)百種不同函數(shù),按函數(shù)提供方式,可分為系統(tǒng)(標(biāo)準(zhǔn))函數(shù)和用戶自定義函函數(shù),按函數(shù)運(yùn)算、處理對(duì)象和結(jié)果的數(shù)據(jù)類(lèi)型,可分為數(shù)值型函數(shù)、字符型函數(shù)、邏輯型函數(shù)、日期時(shí)間型函數(shù)、數(shù)據(jù)轉(zhuǎn)換函數(shù)等,按函數(shù)的功能和特點(diǎn),可分為數(shù)據(jù)處理函數(shù)、數(shù)據(jù)庫(kù)操作函數(shù)、文件管理函數(shù)、鍵盤(pán)和鼠標(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ù)等。Visual FoxPro的函數(shù)由函數(shù)名與自變量?jī)刹?/p>

26、分組成。標(biāo)準(zhǔn)函數(shù)是Visual FoxPro系統(tǒng)提供的系統(tǒng)函數(shù),其函數(shù)名是Visual FoxPro保留字,自定義函數(shù)是用戶自已定義的函數(shù),函數(shù)名用戶指定;自變量必須用圓括號(hào)對(duì)括起來(lái),如有多個(gè)自變量,各自變量以逗號(hào)分隔;有些函數(shù)可省略自變量,或不需自變量,但也必須保留括號(hào);自變量數(shù)據(jù)類(lèi)型由函數(shù)的定義確定,數(shù)據(jù)形式可以是常量、變量、函數(shù)或表達(dá)式等。 函數(shù)是一類(lèi)數(shù)據(jù)項(xiàng),除個(gè)別(如宏替換)函數(shù)外,函數(shù)都不能像命令一樣單獨(dú)使用,只能作為命令的一部分進(jìn)行操作運(yùn)算。 2.4.1 數(shù)值函數(shù) 數(shù)值函數(shù)用于數(shù)值運(yùn)算,其自變量與函數(shù)都是數(shù)值型數(shù)據(jù)。 1 1取絕對(duì)值函數(shù)取絕對(duì)值函數(shù)ABS( )ABS( ) 【格式】

27、ABS() 【功能】計(jì)算nExp的值,并返回該值的絕對(duì)值。 2 2指數(shù)函數(shù)指數(shù)函數(shù)EXP( )EXP( ) 【格式】EXP() 【功能】求以e為底、nExp值為指數(shù)的冪,即返回ex的值。 3 3取整函數(shù)取整函數(shù)INT( )INT( ) 【格式】INT() 【功能】計(jì)算nExp的值,返回該值的整數(shù)部分。 4.4.上界函數(shù)上界函數(shù)CEILING( )CEILING( ) 【格式】CEILING() 【功能】計(jì)算nExp的值,返回一個(gè)大于或等于該值的最小整數(shù)。 5 5下界函數(shù)下界函數(shù)FLOOR( )FLOOR( ) 【格式】FLOOR() 【功能】計(jì)算nExp的值,返回一個(gè)小于或等于該值的最大整數(shù)。

28、 6 6自然對(duì)數(shù)函數(shù)自然對(duì)數(shù)函數(shù)LOG( )LOG( ) 【格式】LOG() 【功能】求nExp的自然對(duì)數(shù)(以e為底)。nExp的值必須為正數(shù)。 7 7常用對(duì)數(shù)函數(shù)常用對(duì)數(shù)函數(shù) 【格式】LOG10() 【功能】求nExp的常用對(duì)數(shù)(以10為底)。nExp的值必須為正數(shù)。 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

29、求余數(shù)函數(shù)求余數(shù)函數(shù)MOD( )MOD( ) 【格式】MOD(,) 【功能】返回nExp1除以nExp2的余數(shù)。余數(shù)的小數(shù)位數(shù)與nExp1相同,符號(hào)與nExp2相同。同號(hào)時(shí),下取整之后的余數(shù);異號(hào)時(shí),上取整之后的不夠的差值。 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)?/p>

30、-1,1。 14.14.余弦函數(shù)余弦函數(shù)COS( )COS( ) 【格式】COS() 【功能】返回nExp的余弦值。nExp以弧度為單位,函數(shù)的值域?yàn)?1,1。 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() 【功

31、能】返回nExp的反余弦值。自變量的值必須在-1,1內(nèi),函數(shù)值為弧度,值域?yàn)?/2, /2。 1818反正切函數(shù)反正切函數(shù)ATAN( )ATAN( ) 【格式】ATAN() 【功能】返回nExp的反正切值。函數(shù)值為弧度,值域?yàn)?-/2, /2)。 2.4.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ù)返回值為零。 2 2取左子串函數(shù)取左子串函數(shù)LEFT

32、( )LEFT( ) 【格式】LEFT(,) 【功能】返回從cExp串中第一個(gè)字符開(kāi)始,截取nExp個(gè)字符的子串。 3取右子串函數(shù)取右子串函數(shù)RIGHT( )RIGHT( ) 【格式】RIGHT(,) 【功能】返回從cExp串中右邊第一個(gè)字符開(kāi)始,截取nExp個(gè)字符的子串。有關(guān)說(shuō)明同LEFT( )函數(shù)。 4.4.取子串函數(shù)取子串函數(shù)SUBSTR( )SUBSTR( ) 【格式】SUBSTR (, , ) 【功能】返回從串cExp中第nExp1個(gè)字符開(kāi)始,截取nExp2個(gè)字符的子串。 5 5字符串長(zhǎng)度函數(shù)字符串長(zhǎng)度函數(shù)LEN( )LEN( ) 【格式】LEN() 【功能】返回cExp串的字符數(shù)(

33、長(zhǎng)度)。函數(shù)值為N型。 6 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ù)allTRIM( )allTRIM( ) 【格式】ALLTRIM() 【功能】刪除cExp串首、尾部空格字符。 9 9字符串替換函數(shù)字符串替換函數(shù)STUFF( )STUF

34、F( ) 【格式】STUFF(,) 【功能】從nExp1指定位置開(kāi)始,用cExp2串替換 cExp1串中nExp2個(gè)字符。 1010字符復(fù)制函數(shù)字符復(fù)制函數(shù) REPLICATE( )REPLICATE( ) 【格式】REPLICATE (,) 【功能】返回將cExp串重復(fù)nExp次的字符串。 1111定義輸出格式函數(shù)定義輸出格式函數(shù) TRANSFORM( )TRANSFORM( ) 【格式】TRANSFORM (,) 【功能】按格式描述式cExp指定的格式,輸出任意表達(dá)式eExp的值。 1212大小寫(xiě)轉(zhuǎn)換函數(shù)大小寫(xiě)轉(zhuǎn)換函數(shù)LOWER( ) LOWER( ) 和和UPPER( )UPPER( )

35、 【格式】LOWER () UPPER () 【功能】LOWER( )將cExp串中字母全部變成小寫(xiě)字母,UPPER( )將cExp串中字母全部變成大寫(xiě)字母,其它字符不變。 1313宏替換函數(shù)宏替換函數(shù) & & 【格式】& . 【功能】替換出字符型變量cVar中字符。 14.14.空格函數(shù)空格函數(shù)SPACE( )SPACE( ) 【格式】SPACE () 【功能】返回一個(gè)包含nExp個(gè)空格的字符串。2.4.3 日期和時(shí)間函數(shù) 日期時(shí)間函數(shù)是處理日期型或日期時(shí)間型數(shù)據(jù)的函數(shù)。其自變量為日期型表達(dá)式dExp或日期時(shí)間型表達(dá)式tExp。 1 1系統(tǒng)日期函數(shù)系統(tǒng)日期函數(shù)DATE

36、( )DATE( ) 【格式】DATE() 【功能】返回當(dāng)前系統(tǒng)日期,此日期由Windows系統(tǒng)設(shè)置。函數(shù)值為D型。 2 2系統(tǒng)時(shí)間函數(shù)系統(tǒng)時(shí)間函數(shù)TIME( )TIME( ) 【格式】TIME() 【功能】返回當(dāng)前系統(tǒng)時(shí)間,時(shí)間顯示格式為hh:mm:ss。若選擇了nExp ,則不管為何值,返回的系統(tǒng)時(shí)間還包括秒的小數(shù)部分,精確至小數(shù)點(diǎn)后兩位。函數(shù)值為C型。 3 3日期函數(shù)日期函數(shù)DAY( )DAY( ) 【格式】DAY() 【功能】返回dExp式中的天數(shù)。函數(shù)值為N型 4.4.星期函數(shù)星期函數(shù)DOW( )DOW( )、CDOW( )CDOW( ) 【格式】DOW() CDOW() 【功能】D

37、OW( )函數(shù)返回dExp式中星期的數(shù)值,用17表示星期日星期六。函數(shù)值為N型。CDOW( ) 函數(shù)返回dExp式中星期的英文名稱(chēng)。函數(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型。 2.4.4 轉(zhuǎn)換函數(shù) 在數(shù)據(jù)庫(kù)應(yīng)用的過(guò)程中,經(jīng)常要將不同數(shù)據(jù)類(lèi)型的

38、數(shù)據(jù)進(jìn)行相應(yīng)轉(zhuǎn)換,滿足實(shí)際應(yīng)用的需要。Visual FoxPro系統(tǒng)提供了若干個(gè)轉(zhuǎn)換函數(shù),較好地解決了數(shù)據(jù)類(lèi)型轉(zhuǎn)換的問(wèn)題。 1 1ASCIIASCII碼函數(shù)碼函數(shù)ASC( )ASC( ) 【格式】ASC () 【功能】返回cExp串首字符的ASCII碼值。函數(shù)值為N型。 2 2ASCIIASCII字符函數(shù)字符函數(shù)CHR( )CHR( ) 【格式】CHR() 【功能】返回以nExp值為ASCII碼的ASCII字符。函數(shù)值為C型。 3 3字符日期型轉(zhuǎn)換函數(shù)字符日期型轉(zhuǎn)換函數(shù)CTOD( )CTOD( ) 【格式】CTOD() 【功能】把“/”格式的cExp串轉(zhuǎn)換成對(duì)應(yīng)日期值。函數(shù)值為D型。 4.4.

39、日期字符型轉(zhuǎn)換函數(shù)日期字符型轉(zhuǎn)換函數(shù)DTOC( )DTOC( ) 【格式】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型。 2.4.5 測(cè)試函數(shù) 在數(shù)據(jù)庫(kù)應(yīng)用的操作過(guò)程中,用戶需要了解數(shù)據(jù)對(duì)象的類(lèi)型、狀態(tài)等屬性,Visual FoxPro提供了相關(guān)的測(cè)試

40、函數(shù),使用戶能夠準(zhǔn)確地獲取操作對(duì)象的相關(guān)屬性。 1 1數(shù)據(jù)類(lèi)型函數(shù)數(shù)據(jù)類(lèi)型函數(shù)TYPE( )TYPE( ) 【格式】TYPE() 【功能】返回cExp 串表示的數(shù)據(jù)對(duì)象的數(shù)據(jù)類(lèi)型,返回值是一個(gè)表示數(shù)據(jù)類(lèi)型的大寫(xiě)字母。C:字符型,D:日期型,N:數(shù)值型,L:邏輯型,M:備注型,G:通用型,U:未定義。 2 2文件查找函數(shù)文件查找函數(shù)FILEFILE()() 【格式】FILE() 【功能】根據(jù)cExp串中指定路徑查找文件,如未指定路徑,則在默認(rèn)目錄中查找。文件存在,返回邏輯真(.T.) 值,否則為邏輯假(.F.)值。 3 3條件測(cè)試函數(shù)條件測(cè)試函數(shù)IIF( )IIF( ) 【格式】IIF(,) 【

41、功能】邏輯表達(dá)式lExp值為真(.T.),返回表達(dá)式eExp1的值,否則返回表達(dá)式eExp2的值。eExp1和eExp2可以是任意數(shù)據(jù)類(lèi)型的表達(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ū)說(shuō)明見(jiàn)EOF()函數(shù)。

42、 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ù)。如果工作區(qū)中沒(méi)有打 開(kāi)表則

43、返回0。 9 9記錄大小測(cè)試函數(shù)記錄大小測(cè)試函數(shù)RECSIZE( )RECSIZE( ) 【格式】RECSIZE( | ) 【功能】返回指定工作區(qū)中表的記錄總長(zhǎng)度。如果工作區(qū)中沒(méi)有打開(kāi)表則返回0。 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( ) PROW() 【功能】返回打印機(jī)打印頭所處

44、位置的列坐標(biāo)和行坐標(biāo)。2.5 數(shù)組 Visual FoxPro和其他高級(jí)語(yǔ)言一樣也具有數(shù)組和其他高級(jí)語(yǔ)言一樣也具有數(shù)組功能。數(shù)組是內(nèi)存變量,不過(guò)它與我們前面學(xué)過(guò)功能。數(shù)組是內(nèi)存變量,不過(guò)它與我們前面學(xué)過(guò)的內(nèi)存變量有差別。比如:的內(nèi)存變量有差別。比如:X=123.4Y=ABCDE 其中其中X,Y都是內(nèi)存變量,它們之間是相互獨(dú)立的都是內(nèi)存變量,它們之間是相互獨(dú)立的沒(méi)有從屬或一定順序相鄰的關(guān)系,常稱(chēng)之為簡(jiǎn)單沒(méi)有從屬或一定順序相鄰的關(guān)系,常稱(chēng)之為簡(jiǎn)單變量。數(shù)組是一組變量的集合,也就是說(shuō)一個(gè)數(shù)變量。數(shù)組是一組變量的集合,也就是說(shuō)一個(gè)數(shù)組含有若干個(gè)變量,這些變量之間有順序的聯(lián)系,組含有若干個(gè)變量,這些變量之間有順序的聯(lián)系,并同屬于一個(gè)數(shù)組。在并同屬于一個(gè)數(shù)組。在VFP中,把名字相同、用中,把名字相同、用下標(biāo)區(qū)分

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論