已閱讀5頁(yè),還剩103頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Visual FoxPro 6.0 程序設(shè)計(jì)與應(yīng)用教程,第三章,數(shù)據(jù)類型、函數(shù)與表達(dá)式,3.1 數(shù)據(jù)類型 VFP提供11種的數(shù)據(jù)類型,字符型 (Character C): 由任意字符(字母、漢字、數(shù)字、空格、符號(hào)等)組成 每個(gè)字符占一個(gè)字節(jié),長(zhǎng)度為0254,最多可有254個(gè) 字符型的常量要用英文的單引號(hào)、雙引號(hào)或方括號(hào)括起來(不可用中文標(biāo)點(diǎn))如:A0001、數(shù)學(xué)系 數(shù)值型 (Numeric N):表示數(shù)量 由數(shù)字09、一個(gè)正負(fù)符號(hào)(或)和小數(shù)點(diǎn)(.)組成。 數(shù)值型數(shù)據(jù)取值的范圍是: -0.9999999999E+190.9999999999E+20 內(nèi)存變量18字節(jié),字段變量120字節(jié) 小數(shù)點(diǎn)和小數(shù)位數(shù)是字段總長(zhǎng)度的一部分,整型 (Integer N) 用于存儲(chǔ)無小數(shù)部分的數(shù)值,只能用于數(shù)據(jù)表中字段的定義。在數(shù)據(jù)表中,整型字段占用4個(gè)字節(jié),取值范圍是: -21474836472147483647 整型以二進(jìn)制形式存儲(chǔ),不像數(shù)值型那樣需要轉(zhuǎn)換成ASCII字符存儲(chǔ)。 浮點(diǎn)型 (Float N) 只能用于數(shù)據(jù)表中字段的定義,包含此類型是為了提供兼容性,浮點(diǎn)型在功能上與數(shù)值型等價(jià)。,雙精度型 (Double N) 用于取代數(shù)值型,以便能提供更高的數(shù)值精度。雙精度型只能用于數(shù)據(jù)表中字段的定義,它采用固定存儲(chǔ)長(zhǎng)度的浮點(diǎn)數(shù)形式。與數(shù)值型不同,雙精度型數(shù)據(jù)的小數(shù)點(diǎn)的位置是由輸入的數(shù)據(jù)值來決定的。每個(gè)雙精度型數(shù)據(jù)占8個(gè)字節(jié)。 貨幣型 (Currency Y) 在使用貨幣值時(shí),可以使用貨幣型來代替數(shù)值型。 貨幣型數(shù)據(jù)取值的范圍是: -922337203685477.5807922337203685477.5807 小數(shù)位數(shù)超過4位時(shí),系統(tǒng)將進(jìn)行四舍五入的處理。每個(gè)貨幣型數(shù)據(jù)占8個(gè)字節(jié)。當(dāng)涉及貨幣時(shí)使用,使用貨幣型數(shù)據(jù)要在前面加上符號(hào)$,如:$100,日期型(Date D) 用于存儲(chǔ)不帶時(shí)間的日期值,寬度為8字節(jié) 日期型數(shù)據(jù)的存儲(chǔ)格式為yyyymmdd其中yyyy為年,占4位,mm為月,占2位,dd為日,占2位。 日期型數(shù)據(jù)取值的范圍是: 公元0001年1月1日公元9999年12月31日。 日期型數(shù)據(jù)的表示有多種格式,最常用的格式為 mm/ddyyyy。 系統(tǒng)默認(rèn)格式為mm/dd/yy,可通過SET DATE、SET MARK、SET CENTURY命令設(shè)置日期格式,或通過系統(tǒng)的選項(xiàng)對(duì)話框中的區(qū)域卡中設(shè)置。 日期型常量要放在花括號(hào)中, 如:dDate=09/10/2001 dBlank=:空日期,常用格式: 標(biāo)準(zhǔn)ANSI: yy.mm.dd *美國(guó)式AMERICAN: mm/dd/yy 歐州式BRITISH: dd/mm/yy 輸入日期時(shí),其日期輸入格式由STRICTDATE設(shè)置決定 設(shè)置SET STRICTDATE TO 1 須按嚴(yán)格的日期輸入方式:?1999/11/12 年月日時(shí)分秒:1999/11/12 4:2:5 設(shè)置SET STRICTDATE TO 0 則可用通常的日期輸入方式,日期時(shí)間型 (DateTime T) 用以保存日期和時(shí)間值。 日期時(shí)間型數(shù)據(jù)的存儲(chǔ)格式為 yyyymmddhhmmss其中yyyy為年,占4位,mm為月,占2位,dd為日,占2位,hh為時(shí)間中的小時(shí),占2位,mm為時(shí)間中的分鐘,占2位,ss為時(shí)間中的秒,占2位。 與日期型一樣,要用將數(shù)據(jù)括起來 若要指定空日期時(shí)間值,要在花括號(hào)中加 一個(gè)空格和冒號(hào),如: :,邏輯型 (Logical L) 用于存儲(chǔ)只有兩個(gè)值的數(shù)據(jù)。存入的值只有真(.T.)和假(.F.)兩種狀態(tài),寬度固定,占1個(gè)字節(jié)。 通用型(General G) 用于存儲(chǔ)OLE(對(duì)象鏈接和嵌入)對(duì)象,只能用于數(shù)據(jù)表中字段的定義。該字段包含了對(duì)OLE對(duì)象的引用,而OLE對(duì)象的具體內(nèi)容可以是一個(gè)電子表格、一個(gè)字處理器的文本、圖片等,是由其他應(yīng)用軟件建立的。寬度為4字節(jié) 表中存儲(chǔ)的是指向OLE對(duì)象的引用,備注型(Memo) 備注型用于字符型數(shù)據(jù)塊的存儲(chǔ),只能用于數(shù)據(jù)表中字段的定義。在數(shù)據(jù)表中,備注型字段占用10個(gè)字節(jié),并用這10個(gè)字節(jié)來引用備注的實(shí)際內(nèi)容。實(shí)際備注內(nèi)容的多少只受內(nèi)存可用空間的限制。 備注型字段的實(shí)際內(nèi)容變化很大,不能直接將備注內(nèi)容存在數(shù)據(jù)表(.DBF)文件中。 系統(tǒng)將備注內(nèi)容存放在一個(gè)相對(duì)獨(dú)立的文件中,該文件的擴(kuò)展名為FPT。 由于沒有備注型的變量,所以對(duì)備注型字段的處理,需轉(zhuǎn)換成字符型變量,然后使用字符型函數(shù)進(jìn)行處理。,3.2 數(shù)據(jù)存儲(chǔ)類型,3.2.1 常量 常量:在運(yùn)算過程中值不變的量(即不變的量). 包括字符型常量、數(shù)值型常量、邏輯型常量、日期型常量和貨幣型常量五種。 五種常量:C、 N、 D(T)、L、Y 字符型常量是用定界符標(biāo)識(shí)的字符串。 所以也叫字符串常量。 定界符必須是ASCII碼的單引號(hào)、雙引號(hào)和方括號(hào)。如果一種定界符已做為字符型常量的組成部分,則應(yīng)選擇另一種定界符來標(biāo)識(shí)字符串。其書寫方法如:男、工程師、財(cái)金系“金融專業(yè)“。,數(shù)值型、浮點(diǎn)型常量可以是實(shí)數(shù)或整數(shù),通常也叫做常數(shù),可以用定點(diǎn)式表示,也可以用科學(xué)計(jì)數(shù)法表示。 邏輯型常量規(guī)定用.Y.或.T.表示邏輯真,.N.或.F.表示邏輯假,小寫亦可。 日期型、時(shí)間型常量 常用的日期格式 mm/dd/yy,hh:mm:ssa|p 嚴(yán)格的日期格式 yyyy-mm-dd,hh:mm:ssa|p,貨幣型常量 小數(shù)位數(shù)超過4位時(shí),系統(tǒng)將進(jìn)行四舍五入的處理。 當(dāng)涉及貨幣時(shí)使用,使用貨幣型數(shù)據(jù)要在前面加上符號(hào)$,如:$100,3.2.2 內(nèi)存變量 內(nèi)存變量是表示暫時(shí)存放在內(nèi)存變量工作區(qū)中的有關(guān)程序運(yùn)行或命令執(zhí)行過程中所需要使用到的數(shù)據(jù),包括常量、中間結(jié)果和最終結(jié)果。 變量命名基本準(zhǔn)則: 首字符不能是數(shù)字;以字母(下劃線或漢字)開頭,由字母、數(shù)字、下劃線和漢字組成 名字的長(zhǎng)度1到128個(gè)字符,不可以與系統(tǒng)保留名同名 詞義要盡量準(zhǔn)確。,內(nèi)存變量的賦值命令 內(nèi)存變量表達(dá)式 STORE 表達(dá)式 TO 內(nèi)存變量表 說明:該命令計(jì)算表達(dá)式的值,并把計(jì)算結(jié)果賦給內(nèi)存變量名(格式2 能夠給多個(gè)內(nèi)存變量賦值) (1)格式1中的稱為賦值號(hào),而不是等于號(hào)。 即有首先計(jì)算右部的值,然后送給左邊的變量名;而且具有明顯的時(shí)序性、方向性和不可移項(xiàng)性。 如:X=2 X=X+1 (2)格式2中的內(nèi)存變量名表是一組用逗號(hào)分隔開的變量, 對(duì)于不同類型的變量,不能用格式2同時(shí)賦值。,3.2.3 數(shù)組變量,1.數(shù)組的定義 一維數(shù)組的定義 DIMENSIONDECLARE 數(shù)組名1(M1),數(shù)組名2(M2) 二維數(shù)組的定義 DIMENSIONDECLARE 數(shù)組名1(M1,N1),數(shù)組名2(M2,N2) 例如: DIME X(3) 有 X(1)、X(2)、X(3) DIME A(3,2) 有 A(1,1)、A(1,2)、A(2,1)、A(2,2)、A(3,1)、A(3,2),VFP中最多可定義65000個(gè)數(shù)組,每個(gè)數(shù)組最多可有65000個(gè)元素 數(shù)組的賦值 數(shù)組須先定義后賦值 例如: DIME A(2) A(1)123 A(2)ABC 數(shù)組定義后各元素的初值均為: .F.,3.2.4 字段變量,一個(gè)數(shù)據(jù)庫(kù)由若干相關(guān)的數(shù)據(jù)表組成,一個(gè)數(shù)據(jù)表又由若干個(gè)具有相同屬性的記錄組成,而每個(gè)記錄又由若干個(gè)字段組成 ,字段變量就是指表中已定義的任意一個(gè)字段。 字段變量的類型由建表時(shí)定義的字段類型一致。 區(qū)別:內(nèi)存變量 字段變量 獨(dú)立存在,關(guān)機(jī)丟失 隸屬于表,存于磁盤 類型與長(zhǎng)度可由賦值改變 由表結(jié)構(gòu)決定,不可改變 單值變量 多值變量 當(dāng)內(nèi)存變量與字段變量同名時(shí),默認(rèn)為字段變量,內(nèi)存變量可用前綴M- 或 M.區(qū)別。,3.2.5 記錄,記錄是數(shù)據(jù)表中一組數(shù)據(jù)項(xiàng)的集合,同一個(gè)數(shù)據(jù)表中可以有若干個(gè)記錄,每一個(gè)記錄具有相同的字段數(shù)。 在VFP中,許多操作都是通過記錄操作來完成的。 3.2.6 對(duì)象 對(duì)象:構(gòu)成程序的基本單位和運(yùn)行實(shí)體,3.3 函數(shù),絕對(duì)值函數(shù):ABS(N型表達(dá)式) 函數(shù)值為N型 如:? ABS(-123.456) 值為123.456 指數(shù)函數(shù): EXP(N型表達(dá)式) 函數(shù)值為N型 如:? EXP(1) 值為2.72,一、數(shù)值類操作函數(shù),取整函數(shù):,INT(N型表達(dá)式) 函數(shù)值為N型 如:? INT(-132.93) 值為 -132,自然對(duì)數(shù)函數(shù),LOG(N型表達(dá)式) 函數(shù)值為N型 如:? LOG(1)值為 0.00 ? LOG(100) 值為 4. 61,取最大者函數(shù):,MAX(表達(dá)式1,表達(dá)式2,表達(dá)式3) 函數(shù)值為最大者,表達(dá)式必須同類 型比較, 表達(dá)式可以是N型、D型、不能為C型 ? MAX(12,43,20) 值為43 ? MAX(12,-43,20) 值為20 ? MAX(CTOD(01/01/97),CTOD(10/03/97) 值為 10/03/97,取最小者函數(shù):,MIN(表達(dá)式1,表達(dá)式2,表達(dá)式3.) 函數(shù)值為最小者,兩個(gè)表達(dá)式必須同類型 如: ? MIN(12,-43,20)值為-43 ? MIN(CTOD(01/01/97),CTOD(10/03/97) 值為 01/01/97,取余函數(shù):,MOD(N型表達(dá)式1,N型表達(dá)式2) 或:N1 % N2 取表達(dá)式1除以表達(dá)式2的余數(shù) 函數(shù)值的符號(hào)一定和表達(dá)式2符號(hào)相同 如:? MOD(21,4)值為1 ? MOD(-21,4) 值為3 ? MOD(21,-4) 值為-3 ? MOD(-21,-4)值為-1,四舍五入函數(shù):,ROUND(N型表達(dá)式1,N型表達(dá)式2) 函數(shù)值為N型, 如:? ROUND(123.45678,2) 值為123.46 ? ROUND(123.45678,0) 值為 123 ? ROUND(123.45678,-1) 值為 120,開平方函數(shù):,SQRT(N型表達(dá)式) 如:? SQRT(10000) 值為100.00 N型表達(dá)式不能負(fù)數(shù),隨機(jī)函數(shù) RAND( ) 返回隨機(jī)值,即大于0且小于1的任一正小數(shù)。 例如:?RAND(),隨機(jī)函數(shù):,二、字符類函數(shù),判子串在母串中的位置: AT(子串,母串) 函數(shù)值為N型, 如:? AT(AD,WTADCER) 值為3 若母串中無子串,則函數(shù)值為0,求子串函數(shù):,SUBSTR(C型,N1,N2) 函數(shù)值為C型,實(shí)數(shù)取整 ?SUBSTR(ABC.DEF,5.99,2.1) +SUBSTR(123.4567,4) 值為DE.4567,取左子串函數(shù):,LEFT(C型表達(dá)式,N型表達(dá)式) ?LEFT(中國(guó)人民,4)值為中國(guó) 函數(shù)值為C型,N=0值為空串,取右子串函數(shù):,RIGHT(C型表達(dá)式,N型表達(dá)式) 函數(shù)值為C型, ? RIGHT(中國(guó)人民,4)值為人民 N=0值為空串 ? RIGHT(123,2)+RIGHT(123 ,-1)+RIGHT(中國(guó)人民,4) 值為23人民,取消前導(dǎo)空格函數(shù):,LTRIM(C型表達(dá)式) 函數(shù)值為C型 ?LTRIM ( 123+LTRIM ( 中國(guó)) 值為123中國(guó),取消尾部空格函數(shù):,RTRIM(C型表達(dá)式) 函數(shù)值為C型 ? RTRIM(123 +RTRIM(中國(guó)人民 ) 值為123中國(guó)人民,取消尾隨空格函數(shù),TRIM(C型表達(dá)式) 函數(shù)值為C型 ?TRIM(012345 )+TRIM(中國(guó)人民 ) 值為 012345中國(guó)人民,取消前部與尾隨空格函數(shù),ALLTRIM(C型表達(dá)式) 函數(shù)值為C型 ?ALLT( 012345 )+ALLT( 中國(guó)人民 ) 值為 012345中國(guó)人民,字符串測(cè)試函數(shù),測(cè)字母開關(guān)函數(shù): ISALPHA(C型表達(dá)式) 函數(shù)值為 L型 若字符串開頭是字母,函數(shù)值為.T.,否則返回.F. ?ISALPHA(1ABC2) 值為.f. ?ISALPHA(中國(guó)人民) 值為.f. ?ISALPHA(abc) 值為.T. ?ISALPHA(ABC)值為.T.,測(cè)小寫字母開頭函數(shù),ISLOWER(C型表達(dá)式) 函數(shù)值為L(zhǎng)型 若字符串開頭是小寫字母開頭,函數(shù)值為.T.,否則為.F. ?ISLOWER(ABC2) 值為.F. ?ISLOWER(中國(guó)人民) 值為.F. ?ISLOWER(abc) 值為.T.,測(cè)大寫字母開頭函數(shù),ISUPPER(C型表達(dá)式) 函數(shù)值為 L型 若字符串是大寫字母開頭字母,函數(shù)值為.T.,否則函數(shù)值為.F. ? ISUPPER(ABC2) 值為.T. ?ISUPPER(中國(guó)人民)值為.F. ?ISUPPER(abc) 值為.F. ?ISUPPER(ABC) 值為.T.,求字符串長(zhǎng)度,LEN(C型表達(dá)式) 函數(shù)值為N型 函數(shù)值為字符串的個(gè)數(shù) ?LEN(ABCDEIE) 值為7 ?LEN(中國(guó)人民) 值為8,字符串轉(zhuǎn)換函數(shù),宏替換:&C型內(nèi)存變量 &作用是去掉字符串的界限符號(hào)。 如:C1=姓名 ?&C1 值為 姓名 如:A1=中國(guó) ?&A1.漳州 值為 中國(guó)漳州,注意: C 型內(nèi)存變量 不允許是C型數(shù)組元素。 宏代換函數(shù)可以嵌套使用。 .C2=Good! .C1=2 .C=C&C1 .?&C 值為Good! .? &C1.2*3 值 為 66,大寫字母換成小字母,LOWER(C型表達(dá)式) 將字符串中的所有大寫字母換成小寫字母 如:?LOWER(abAB635&) 值為 abab635&,替換子串函數(shù),STUFF(串1,N1,N2,串2) 串1中第N1個(gè)字符開始N2個(gè)字符用串2替換 如:C1=1234567890 ?STUFF(C1,2,4,AB) 值為1AB67890,當(dāng)N1大于串1的長(zhǎng)度,則串2直接連接在串1后面 ?STUFF(C1,12,5,AB) 值為1234567890AB 當(dāng)N2=0,則串2直接插入第N1個(gè)字符前 ?STUFF(C1,1,0,AB) 值為AB1234567890,格式轉(zhuǎn)換函數(shù),TRANSFORM(表達(dá)式,C型表達(dá)式) ? Transform (12.34,$.99) $12.23,小寫字母轉(zhuǎn)換成大寫字母,UPPER(C型表達(dá)式) 值為C型 將字符串中所有的小寫字母轉(zhuǎn)換成大寫字母 如:?UPPER(abCD32) 值為 ABCD32,生成重復(fù)的字符串,REPLICATE( C型表達(dá)式,N) 值為C型 重復(fù)生成字符串N次 如:?REPLICATE(*,10) 值為 *,生成空格字符串,SPACE(N) 值為C型 生成N個(gè)空格的字符串 如:?12+SPACE(4)+AB 值為 12 AB,三、日期與時(shí)間類函數(shù),求星期函數(shù): CDOW(D型表達(dá)式) 值為C型 函數(shù)值為日期的星期(英文) 如:D1=CTOD(07/01/95) ?CDOW(D1) 值為Saturday,系統(tǒng)日期,DATE() D型 函數(shù)值為系統(tǒng)的日期 ?DATE() 值為系統(tǒng)的日期,系統(tǒng)時(shí)間,TIME() C型 函數(shù)值為計(jì)算機(jī)系統(tǒng)的時(shí)間 ?TIME() 值為系統(tǒng)的時(shí)間,日期時(shí)間函數(shù),DATETIME() T型 函數(shù)值為計(jì)算機(jī)系統(tǒng)的日期時(shí)間 ?DATETIME() 值為系統(tǒng)的日期時(shí)間 09/01/03 08:00:24 AM,求星期中的星期幾(整數(shù)),DOW(D型表達(dá)式) 值為N型 函數(shù)值為日期對(duì)應(yīng)的數(shù)字 日 一 二 三 四 五 六 1 2 3 4 5 6 7 如:D1=CTOD(07/01/95) ?DOW(D1) 值為 7,求日期中的月份(英文)函數(shù),CMONTH(D型表達(dá)式) C型 函數(shù)值為日期對(duì)應(yīng)的月份(英文) 如:D1=CTOD(07/01/95) ?CMONTH(D1) 值為 July,求日期中的號(hào)數(shù)函數(shù),DAY(D型表達(dá)式) N型 函數(shù)值為日期對(duì)應(yīng)的號(hào)數(shù) 如:D1=CTOD(07/01/95) ?DAY(D1) 值為 1,求日期中的月份函數(shù),MONTH(D型表達(dá)式) N型 函數(shù)值為日期對(duì)應(yīng)的月份(整數(shù)) D1=CTOD(07/01/95) ?MONTH(D1) 值為 7,求日期中的年份函數(shù),YEAR(D型表達(dá)式) N型 函數(shù)值為日期對(duì)應(yīng)的年份(四位整數(shù)) 如:D1=(07/01/95) ?YEAR(D1) 值為1995,四、類型轉(zhuǎn)換類函數(shù),字符轉(zhuǎn)換成ASCAII碼值函數(shù): ASC(C型表達(dá)式) 值為字符串中第一個(gè)字符的ASCII碼值 如:?ASC(ABCD) 值為65,ASCII碼值轉(zhuǎn)換成字符函數(shù),CHR(N型表達(dá)式) C型 值為數(shù)值對(duì)應(yīng)的ASCII碼字符 ?CHR(66) 值為B 實(shí)數(shù)先取整后求值 如:?CHR(98.45) 值為b CHR(7) 值為響鈴,字符串與數(shù)值轉(zhuǎn)換函數(shù),數(shù)值轉(zhuǎn)換字符型函數(shù) STR(N1,N2,N3) C型 如:N1=1234.56789 ?STR(N1, 9,2) 值為 1234.57 寬度9(位數(shù)不足前面用空格補(bǔ)齊) 若省略N3,只轉(zhuǎn)換到整數(shù) 如:?STR(N1,5) 值為 1235 寬度為5 若省略N2和N3,則默認(rèn)N2=10,N3=0,字符型轉(zhuǎn)換成數(shù)值函數(shù),VAL(C型表達(dá)式) N型 將字符串第1個(gè)字符開始到第1個(gè)非數(shù) 值字符之間的字符串轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值 如:?VAL(12.45A) 值為12.45 若字符串中的第一個(gè)字符為非數(shù)值字符,則返回0 如:?VAL(A12.45) 值為0.00 ?VAL(253) 值為253.00(默認(rèn)小數(shù)點(diǎn)的個(gè)數(shù)為兩個(gè)),字符與日期轉(zhuǎn)換函數(shù),字符型轉(zhuǎn)換成日期型函數(shù) CTOD(C型表達(dá)式) D型 ?MONTH(CTOD(07/01/95) 值為7,日期型轉(zhuǎn)換成字符型函數(shù),DTOC(D型表達(dá)式) C型 將日期轉(zhuǎn)換成形式為月月/日日/年年字符型數(shù)據(jù) ?DTOC(DATE() 值為 01/01/99,日期轉(zhuǎn)換為YYYYMMDD格式字符串,DTOS() C型 返回YYYYMMDD字符串 例如:?DTOS(10/01/99) 返回值為:19991001,五、狀態(tài)檢驗(yàn)類操作函數(shù),FoxPRO在內(nèi)存中開辟多個(gè)工作區(qū),允許在多個(gè)工作區(qū)上打開多個(gè)數(shù)據(jù)庫(kù)文件,但只有一個(gè)工作區(qū)是當(dāng)前工作區(qū),其中的庫(kù)文件為當(dāng)前庫(kù)文件。,1、數(shù)據(jù)庫(kù)參數(shù)測(cè)試函數(shù),庫(kù)文件別名測(cè)試函數(shù): ALIAS (N型表達(dá)式) 值為第N型表達(dá)式號(hào)工作區(qū)上 已打開的數(shù)據(jù)庫(kù)文件別名。 若省略N型表達(dá)式,則值為當(dāng)前庫(kù)文件別名 若指定工作區(qū)上無打開庫(kù)文件,則值為空串,庫(kù)文件名測(cè)試函數(shù) DBF(N型表達(dá)式 ) 值為N型表達(dá)式號(hào)工作區(qū)上已打開的庫(kù)文件名 省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)上無打開庫(kù)文件,則值為空串,庫(kù)文件字段數(shù)測(cè)試函數(shù) FCOUNT(N型表達(dá)式 ) 值為N型表達(dá)式號(hào)工作區(qū)上已打開的庫(kù)文件中的字段的數(shù)目。 省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)上無打開庫(kù)文件,則值為0,庫(kù)文件字段名測(cè)試函數(shù) FIELD(N型表達(dá)式 1, N型表達(dá)式2) 值為N型表達(dá)式2號(hào)工作區(qū)上已打開的庫(kù)文件中第N型表達(dá)式1個(gè)字段的字段名,函數(shù)值為C型。 省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)上無打開庫(kù)文件,則值為空串,若N型表達(dá)式1的值小于、大于庫(kù)文件的字段數(shù),值也為0,庫(kù)文件最近的修改日期測(cè)試函數(shù) LUPDATE( ) 值為當(dāng)前庫(kù)文件最近一次修改的日期, 函數(shù)值為D型 若當(dāng)前無打開庫(kù)文件,則值為空日期 / /,測(cè)試索引文件名 NDX(N型表達(dá)式 ) 值為打開的索引文件名表中第N型表達(dá)式個(gè)索引文件的名稱,N=17 值為C型 若第N型表達(dá)式個(gè)索引文件不存在,則值為空串,庫(kù)文件記錄數(shù)測(cè)試函數(shù) RECCOUNT(N型表達(dá)式 ) 值為N型表達(dá)式號(hào)工作區(qū)上已打開的庫(kù)文件中的記錄總數(shù),值為N型 省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)上無打開庫(kù)文件,則值為0,庫(kù)文件記錄長(zhǎng)度測(cè)試函數(shù) RECSIZE(N型表達(dá)式 ) 值為N型表達(dá)式號(hào)工作區(qū)上已打開的庫(kù)文件中記錄的長(zhǎng)度(所有字段長(zhǎng)度和加1),函數(shù)值為N型。 省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)上無打開庫(kù)文件,則值為0,2、當(dāng)前記錄狀態(tài)測(cè)試函數(shù),測(cè)試庫(kù)文件頭函數(shù): BOF (N型表達(dá)式) 當(dāng)?shù)贜型表達(dá)式號(hào)工作區(qū)上已打開的數(shù)據(jù)庫(kù)文件記錄指針在首記錄之前,值 為.T. ,否則為.F. ,值為L(zhǎng)型。 若省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)無打開庫(kù)文件,則值為.F.,測(cè)試當(dāng)前記錄是否邏輯刪除函數(shù): DELETED (N型表達(dá)式) 測(cè)試第N型表達(dá)式號(hào)工作區(qū)上已打開的數(shù)據(jù)庫(kù)文件中當(dāng)前記錄是否被邏輯刪除,是,值 為.T. ,否,值為.F. ,值為L(zhǎng)型。 若省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)無打開庫(kù)文件,則值為.F.,測(cè)試數(shù)據(jù)庫(kù)文件尾函數(shù): EOF (N型表達(dá)式) 當(dāng)?shù)贜型表達(dá)式號(hào)工作區(qū)上已打開的數(shù)據(jù)庫(kù)文件中當(dāng)前記錄已指向末記錄之后,(稱為文件尾)是,值 為.T. ;否,值為.F. ,值為L(zhǎng)型。 若省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)無打開庫(kù)文件,則值為.F.,測(cè)試查找結(jié)果函數(shù): FOUND (N型表達(dá)式) 在第N型表達(dá)式號(hào)工作區(qū)上已打開的數(shù)據(jù)庫(kù)文件中進(jìn)行查找,若查到,值 為.T. ,否,值為.F. ,值為L(zhǎng)型。 若省略N型表達(dá)式,指當(dāng)前工作區(qū),測(cè)試當(dāng)前記錄號(hào)函數(shù): RECNO (N型表達(dá)式) 測(cè)試第N型表達(dá)式號(hào)工作區(qū)上已打開的數(shù)據(jù)庫(kù)文件中當(dāng)前記錄的記錄號(hào),值為N型。 若省略N型表達(dá)式,指當(dāng)前工作區(qū) 若指定工作區(qū)無打開庫(kù)文件,則值為0,若記錄指針為BOF()為.T. ,則值為1 ,若EOF()為.T. ,值為記錄總數(shù) 加1,3、顯示器測(cè)試函數(shù),測(cè)試光標(biāo)所在列數(shù)函數(shù) COL() 返回值是屏幕上當(dāng)前光標(biāo)所在的列數(shù)(0132),函數(shù)值為N型,測(cè)試光標(biāo)所在行數(shù)函數(shù) ROW() 返回值是屏幕上當(dāng)前光標(biāo)所在的行數(shù)(033),函數(shù)值為N型,測(cè)試顯示器色彩函數(shù) ISCOLOR() 若啟動(dòng)FOXBASE時(shí)是在彩色方式下,則返回值是.T. ,否則為.F. ,函數(shù)值為L(zhǎng)型,六、打印機(jī)測(cè)試函數(shù),測(cè)試打印頭所在列數(shù)函數(shù) PCOL() 返回值是打錢機(jī)上打印頭當(dāng)前所在的列數(shù),函數(shù)值為N型,測(cè)試打印頭所在行數(shù)函數(shù) PROW() 返回值是打印機(jī)上打印頭當(dāng)前所在的行數(shù),函數(shù)值為N型,七、其它測(cè)試函數(shù),測(cè)試當(dāng)前可用字節(jié)函數(shù) DISKSPACE() 返回值是當(dāng)前盤上可用空間的字節(jié)數(shù),函數(shù)值為N型,空值判斷函數(shù),EMPTY() 若表達(dá)式為空值,則返回真值.T. 否則返回.F. 表達(dá)式可是C,N,D,L型,可以是表的字段名表達(dá)式。對(duì)不同表達(dá)式類型,空值概念不同。 C型:空串,空格,換行符等 D型、M型、G型: 空 L型 :邏輯假.F. N型: 0 值 以上幾種類型EMPTY()返回真.T.,測(cè)試文件是否存在函數(shù) FILE(C型表達(dá)式) 若C型表達(dá)式指定的文件名存在,則返回值是.T. ,否則返回值是.F. ,函數(shù)值為L(zhǎng)型,讀一鍵函數(shù) INKEY(N型表達(dá)式) 返回值是從鍵盤輸入的一個(gè)鍵的鍵值,等待用戶按鍵的時(shí)間為N型表達(dá)式秒,函數(shù)值為N型 若N型表達(dá)式0,則無限期等待,若超過等待時(shí)間,用戶未按鍵,則返回為0 INKEY()函數(shù)返回的某些特殊鍵的鍵值如 回車 13 空格 32 等,測(cè)試當(dāng)前工作區(qū)號(hào)函數(shù) SELECT() 返回值是當(dāng)前工作區(qū)的區(qū)號(hào),函數(shù)值為N型,TYPE(表達(dá)式) 返回值是引號(hào)內(nèi) 表達(dá)式 的類型,函數(shù)值為C型 共有 N、C、D、L、M、T、U等 數(shù)據(jù)類型與返回的字符 字符型 C 未定義的表達(dá)式類型 U 通用型 G 貨幣型 Y 日期型 D 日期時(shí)間型 T 邏輯型 L 備注型 M 對(duì)象型 O Screen (用 SAVE SCREEN 命令建立) S 數(shù)值型(或者整數(shù)、單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)) N ? type(customer.contact) &顯示c ? type(12 * 3) + 4) &顯示n ? type(date( ) & 顯示d ? type(answer=42) & 顯示u,測(cè)試表達(dá)式類型函數(shù),信息對(duì)話框函數(shù),MESSAGEBOX(提示文本,對(duì)話框類型N1+N2+N3,標(biāo)題文本) 提示文本:指定在對(duì)話框中顯示的文本。在提示文本中包含回車符 (CHR(13) 可以使信息移到下一行顯示。 對(duì)話框類型:指定對(duì)話框中的按鈕N1和圖標(biāo)N2 、顯示對(duì)話框時(shí)的默認(rèn)按鈕N3以及對(duì)話框的行為。 它可以是下面每個(gè)表中選一個(gè)值組成的三個(gè)值的和 標(biāo)題文本:指定對(duì)話框標(biāo)題欄中的文本。若省略標(biāo)題欄中將顯示Microsoft Visual FoxPro,當(dāng)省略對(duì)話框類型時(shí),等同于指定對(duì)話框類型值為0。 N1數(shù)值 對(duì)話框按鈕 (從 0 到 5 指定了顯示的按鈕) 0 僅有確定按鈕 1 確定和取消按鈕 2 放棄、重試和忽略按鈕 3 是、否和取消按鈕 4 是、否按鈕 5 重試和取消按鈕 N2數(shù)值 圖標(biāo) (指定了對(duì)話框中的圖標(biāo)) 0 不顯示圖標(biāo) 16 停止圖標(biāo) 32 問號(hào) 48 驚嘆號(hào) 64 信息 (i) 圖標(biāo),N3數(shù)值 默認(rèn)按鈕 (指定對(duì)話框中哪個(gè)按鈕為默認(rèn)按鈕) 0 第一個(gè)按鈕 256 第二個(gè)按鈕 512 第三個(gè)按鈕 例如,若對(duì)話框類型值為 290(2+32+256) 則指定的對(duì)話框含有如下特征: 放棄、重試或忽略按鈕。 消息框顯示問號(hào)圖標(biāo)。 第二個(gè)按鈕,重試為默認(rèn)按鈕。,MESSAGEBOX( )返回值類型:數(shù)值型 說明:MESSAGEBOX( ) 的返回值標(biāo)明選取了對(duì)話框中的哪個(gè)按鈕。在含有取消按鈕的對(duì)話框中,如果按下 ESC 鍵退出對(duì)話框,則與選取取消按鈕一樣,返回值 (2)。 注意本函數(shù)的最短縮寫為 MESSAGEB( )。 下表列出了 MESSAGEBOX( ) 對(duì)應(yīng)每個(gè)按鈕的返回值。 返回值 按鈕 返回值 按鈕 1 確定 5 忽略 2 取消 6 是 3 放棄 7 否 4 重試,程序例子:F_3P1.prg cmessagetitle = messagebox函數(shù)測(cè)試?yán)?cmessagetext = 記錄沒有找到 你是否再次搜索 ? ndialogtype = 4 + 32 + 256 * 4 = yes and no buttons * 32 = question mark icon * 256 = second button is default nanswer = messagebox(cmessagetext, ndialogtype, cmessagetitle) do case case nanswer = 6 wait window 你選擇了 是 yes case nanswer = 7 wait window 你選擇了 否 no endcase,3.4 運(yùn)算符,可用于運(yùn)算的數(shù)據(jù)有四種類型所以有四種類型的運(yùn)算符 一、算術(shù)運(yùn)算符: 括號(hào)()正負(fù)+ - 取模% 乘方* 乘除 * / 加減+ - 符號(hào)優(yōu)先次序: ()、正負(fù)號(hào)、乘方、乘除、取模、加減,+ - 符號(hào)用于日期型的三種情況: 日期型數(shù)據(jù) + 整數(shù)(天數(shù)) 結(jié)果是該日期之后的新日期,仍為日期型數(shù)據(jù)。 日期型數(shù)據(jù) 整數(shù)(天數(shù)) 結(jié)果是該日期之前的新日期,仍為日期型數(shù)據(jù)。 日期型數(shù)據(jù)1 日期型數(shù)據(jù) 結(jié)果是兩日期之間的天數(shù),二、字符運(yùn)算符,完全連接符 + 字符串1 + 字符串2 (原樣連接) 將串2連接到串1的后面 不完全連接符(去空格)- 字符串1 字符串2 (緊縮連接) 將串2 連接到串1的后面,但串1 的尾部空格移到串2的后面 包含運(yùn)算符(比較) 字符串1$ 字符串2 字符串2是否包含字符串1 如: ABCD +EFG 返回 ABCD EFG ABCD -EFG 返回 ABCDEFG 張$張王李 返回 .T.,三、關(guān)系運(yùn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勤儉節(jié)約小學(xué)作文
- 簡(jiǎn)易減法計(jì)算器課程設(shè)計(jì)
- 背起爸爸上學(xué)觀后感
- 建筑防雷課程設(shè)計(jì)
- 組織學(xué)客運(yùn)課程設(shè)計(jì)
- 污泥泵房課程設(shè)計(jì)
- 水循環(huán)核心素養(yǎng)課程設(shè)計(jì)
- 巧手童年課程設(shè)計(jì)
- 二零二五年健身器材租賃及私教輔導(dǎo)一體化合同3篇
- 2025版酒吧藝人工作日程安排合同模板3篇
- 2024電商消費(fèi)趨勢(shì)年度報(bào)告-flywheel飛未-202412
- 《農(nóng)機(jī)安全》課件
- 浙江省溫州市2023-2024學(xué)年六年級(jí)上學(xué)期期末科學(xué)試卷(含答案)3
- 深圳大學(xué)《激光原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安市高新第一中學(xué)八年級(jí)上冊(cè)地理期末試卷(含答案)
- 2024年廣東省深圳市中考英語(yǔ)適應(yīng)性試卷
- 駕駛證學(xué)法減分(學(xué)法免分)試題和答案(50題完整版)1650
- 【人民日?qǐng)?bào)】72則金句期末評(píng)語(yǔ)模板-每頁(yè)4張
- 小組合作學(xué)習(xí)學(xué)生評(píng)價(jià)量表
- 新錄用公務(wù)員服務(wù)協(xié)議書
- 電氣控制與PLC復(fù)習(xí)課件
評(píng)論
0/150
提交評(píng)論