第五章 FoxPro綜述
數(shù)據(jù)庫(kù)每一記錄字段數(shù)是255,可以同時(shí)打開的數(shù)據(jù)庫(kù)文件數(shù)225 ,內(nèi)存變量(數(shù)組)數(shù)65000。
1.數(shù)據(jù)類型:(1)字符型(C-254) (2)數(shù)據(jù)型(N-20) (3)浮點(diǎn)型(F-20) (4)邏輯型(L-1) (5)日期型(D-8) (6)備注型(M-10) (7)通用型(G-10)
2.常量: (1)字符型 (2)數(shù)據(jù)型 (3)日期型 (4)邏輯型
3.變量:
(1)字段變量: 字符型, 數(shù)據(jù)型, 浮點(diǎn)型, 邏輯型, 日期型, 備注型, 通用型
(2)內(nèi)存變量: 字符型, 數(shù)據(jù)型, 浮點(diǎn)型, 邏輯型,屏幕型(S)
*當(dāng)字段變量與內(nèi)存變量同名時(shí),字段變量?jī)?yōu)先。但可以通過(guò)內(nèi)存變量名前加上前綴M.或M->來(lái)區(qū)別。
4.運(yùn)算符及其優(yōu)先級(jí)
類別 符號(hào) 說(shuō)明 優(yōu)先級(jí)
算術(shù)運(yùn)算符 ()
+、-
**或∧
*、/、%
+、- 括號(hào)
正、負(fù)號(hào)
乘冪
乘除、求余
加、減 高
底
字符串
運(yùn)算符 +
- 字符串聯(lián)接
字符串聯(lián)接 同類優(yōu)先級(jí)相等
關(guān)系運(yùn)算符 〈
〉 小于
大于 同類優(yōu)先級(jí)相等
邏輯運(yùn)算符 ()
。NOT。
。AND。
。OR?! ?括號(hào)
邏輯非
邏輯與
邏輯或 來(lái)源:www.examda.com 高
底
5.命令格式:〈命令名〉[〈表達(dá)式表〉][〈范圍〉][FOR〈條件〉][WHILE〈條件〉][TO FILE〈文件名〉|TO PRINTER|TO ARRAY〈數(shù)組表〉|TO〈內(nèi)存變量〉]ALL[LIKE|EXCEPT〈通配符〉]][IN〈別名〉]
*范圍選擇:RECORD N 對(duì)第N條記錄進(jìn)行操作
NEXT N 對(duì)從當(dāng)前記錄開始的N條記錄進(jìn)行操作
ALL 對(duì)所有的記錄進(jìn)行操作
REST 對(duì)當(dāng)前記錄開始到文件結(jié)束的所有記錄進(jìn)行操作
FOR〈條件〉:對(duì)所有滿足“條件”的記錄進(jìn)行操作。
WHILE〈條件〉:對(duì)直到不滿足條件的記錄為止的所有已滿足條件的記錄進(jìn)行操作。
6.命令的執(zhí)行方式;1.立即方式 2.程序方式
7.內(nèi)存變量的賦值:(1)STORE <表達(dá)式> TO <內(nèi)存變量表>
(2)<內(nèi)存變量>=<表達(dá)式>
(3)SAVE SCREEN TO <屏幕型內(nèi)存變量>
RESTORE SCREEN FROM <屏幕型內(nèi)存變量>
8.內(nèi)存變量的釋放:(1)RELEASE<內(nèi)存變量表>
(2)RELEASE ALL [LIKE|EXCEPT<通配符>]
(3)CLEAR MEMORY/CLEAR ALL
9.內(nèi)存變量文件:(1)內(nèi)存變量文件的建立
SAVE TO <內(nèi)存變量文件名>[ALL[LIKE|EXCEPT<通配符>]]
(2)內(nèi)存變量的恢復(fù)
RESTORE FROM<內(nèi)存變量文件名>[ ADDITIVE]
ADDITIVE沒有表示清除當(dāng)前內(nèi)存中所有的內(nèi)存變量,有時(shí)表示保留當(dāng)前內(nèi)存變量。
10.內(nèi)存變量的顯示:(1)LIST MENORY [TO PRINT]
(2)DISPLAY MENORY [TO PRINT]
11.內(nèi)存變量的輸出:(1)(光標(biāo)所在的下一行顯示)|(從當(dāng)前光標(biāo)所在顯示)
12.數(shù)組操作:(1)數(shù)組定義DIMENSION<數(shù)組1>(<數(shù)值表達(dá)式>…。
(2)數(shù)組元素的賦值:STORE<表達(dá)式> TO <數(shù)組>
<數(shù)組>=<表達(dá)式>
(3)數(shù)組與數(shù)據(jù)庫(kù)文件的記錄進(jìn)行數(shù)據(jù)交換
數(shù)據(jù)庫(kù)文件記錄值傳送到數(shù)組:
SCATTER [FIELDS<字段表>]TO<數(shù)組>[BIANK]|MEMVAR[BLANK]
數(shù)組中的數(shù)據(jù)傳送到數(shù)據(jù)庫(kù)文件:
GATHER FROM <數(shù)組>|MEMVAR[FLELDS<字段表>]
13.函數(shù):
(1) 數(shù)組函數(shù):
絕對(duì)值函數(shù)ABS(<數(shù)值表達(dá)式>) 取整函數(shù)INT(<數(shù)值表達(dá)式>)
值函數(shù)MAX(N1,N2,…。) 最小值函數(shù)MIN(N1,N2,…。)
四舍五入ROUND(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)
(2) 字符串函數(shù):
字符串長(zhǎng)度函數(shù)LEN(<字符表達(dá)式>) 刪除尾部空格函數(shù)TRIM(<字符表達(dá)式>) 刪除頭部空格函數(shù)LTRIM(<字符表達(dá)式>)
子字符串函數(shù)SUBSTR(<字符表達(dá)式>,<數(shù)值表達(dá)式1>,[<數(shù)值表達(dá)式2>] 子字符串查找函數(shù)AT(<字符表達(dá)式1>,<字符表達(dá)式2>)
字符串替換函數(shù)STUFF(<字符表達(dá)式1>,<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>,<字符表達(dá)式2>) 大寫/小寫LOWER(<字符表達(dá)式>)
小寫/大寫UPPER(<字符表達(dá)式>) 宏替換函數(shù)&<內(nèi)存變量>[,<字符表達(dá)式>](其中內(nèi)存變量只能是字符型)
(3) 日期和時(shí)間函數(shù)
DATE() TIME() YEAR(<日期表達(dá)式>) MONTH(<日期表達(dá)式>)
DAY(<日期表達(dá)式>) MDY(<日期表達(dá)式>)(以月,日,年顯示的字符串)
(4) 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
字符型轉(zhuǎn)數(shù)值型函數(shù)VAL(<字符表達(dá)式>)
數(shù)值型轉(zhuǎn)字符型函數(shù)STR(<數(shù)值表達(dá)式>)[,<數(shù)值表達(dá)式2>[.<數(shù)值表達(dá)式3>]])
字符型轉(zhuǎn)日期型函數(shù)CTOD(<字符型表達(dá)式>)
日期型轉(zhuǎn)字符型函數(shù)DTOC(<日期表達(dá)式>[,1])(帶“1”表示可以進(jìn)行索引的日期字符串。)
(5) 測(cè)試函數(shù)
數(shù)據(jù)類型測(cè)試函數(shù)TYPE(<字符表達(dá)式>)
測(cè)試文件尾函數(shù)EOF([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試文件頭函數(shù)BOF([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試當(dāng)前記錄號(hào)函數(shù)RECNO([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試庫(kù)文件記錄數(shù)函數(shù)RECCOUNT([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試查找記錄函數(shù)FOUND([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試屏幕(打印頭)光標(biāo)坐標(biāo)函數(shù)ROW(PROW)()與COL(PCOL())
數(shù)據(jù)庫(kù)每一記錄字段數(shù)是255,可以同時(shí)打開的數(shù)據(jù)庫(kù)文件數(shù)225 ,內(nèi)存變量(數(shù)組)數(shù)65000。
1.數(shù)據(jù)類型:(1)字符型(C-254) (2)數(shù)據(jù)型(N-20) (3)浮點(diǎn)型(F-20) (4)邏輯型(L-1) (5)日期型(D-8) (6)備注型(M-10) (7)通用型(G-10)
2.常量: (1)字符型 (2)數(shù)據(jù)型 (3)日期型 (4)邏輯型
3.變量:
(1)字段變量: 字符型, 數(shù)據(jù)型, 浮點(diǎn)型, 邏輯型, 日期型, 備注型, 通用型
(2)內(nèi)存變量: 字符型, 數(shù)據(jù)型, 浮點(diǎn)型, 邏輯型,屏幕型(S)
*當(dāng)字段變量與內(nèi)存變量同名時(shí),字段變量?jī)?yōu)先。但可以通過(guò)內(nèi)存變量名前加上前綴M.或M->來(lái)區(qū)別。
4.運(yùn)算符及其優(yōu)先級(jí)
類別 符號(hào) 說(shuō)明 優(yōu)先級(jí)
算術(shù)運(yùn)算符 ()
+、-
**或∧
*、/、%
+、- 括號(hào)
正、負(fù)號(hào)
乘冪
乘除、求余
加、減 高
底
字符串
運(yùn)算符 +
- 字符串聯(lián)接
字符串聯(lián)接 同類優(yōu)先級(jí)相等
關(guān)系運(yùn)算符 〈
〉 小于
大于 同類優(yōu)先級(jí)相等
邏輯運(yùn)算符 ()
。NOT。
。AND。
。OR?! ?括號(hào)
邏輯非
邏輯與
邏輯或 來(lái)源:www.examda.com 高
底
5.命令格式:〈命令名〉[〈表達(dá)式表〉][〈范圍〉][FOR〈條件〉][WHILE〈條件〉][TO FILE〈文件名〉|TO PRINTER|TO ARRAY〈數(shù)組表〉|TO〈內(nèi)存變量〉]ALL[LIKE|EXCEPT〈通配符〉]][IN〈別名〉]
*范圍選擇:RECORD N 對(duì)第N條記錄進(jìn)行操作
NEXT N 對(duì)從當(dāng)前記錄開始的N條記錄進(jìn)行操作
ALL 對(duì)所有的記錄進(jìn)行操作
REST 對(duì)當(dāng)前記錄開始到文件結(jié)束的所有記錄進(jìn)行操作
FOR〈條件〉:對(duì)所有滿足“條件”的記錄進(jìn)行操作。
WHILE〈條件〉:對(duì)直到不滿足條件的記錄為止的所有已滿足條件的記錄進(jìn)行操作。
6.命令的執(zhí)行方式;1.立即方式 2.程序方式
7.內(nèi)存變量的賦值:(1)STORE <表達(dá)式> TO <內(nèi)存變量表>
(2)<內(nèi)存變量>=<表達(dá)式>
(3)SAVE SCREEN TO <屏幕型內(nèi)存變量>
RESTORE SCREEN FROM <屏幕型內(nèi)存變量>
8.內(nèi)存變量的釋放:(1)RELEASE<內(nèi)存變量表>
(2)RELEASE ALL [LIKE|EXCEPT<通配符>]
(3)CLEAR MEMORY/CLEAR ALL
9.內(nèi)存變量文件:(1)內(nèi)存變量文件的建立
SAVE TO <內(nèi)存變量文件名>[ALL[LIKE|EXCEPT<通配符>]]
(2)內(nèi)存變量的恢復(fù)
RESTORE FROM<內(nèi)存變量文件名>[ ADDITIVE]
ADDITIVE沒有表示清除當(dāng)前內(nèi)存中所有的內(nèi)存變量,有時(shí)表示保留當(dāng)前內(nèi)存變量。
10.內(nèi)存變量的顯示:(1)LIST MENORY [TO PRINT]
(2)DISPLAY MENORY [TO PRINT]
11.內(nèi)存變量的輸出:(1)(光標(biāo)所在的下一行顯示)|(從當(dāng)前光標(biāo)所在顯示)
12.數(shù)組操作:(1)數(shù)組定義DIMENSION<數(shù)組1>(<數(shù)值表達(dá)式>…。
(2)數(shù)組元素的賦值:STORE<表達(dá)式> TO <數(shù)組>
<數(shù)組>=<表達(dá)式>
(3)數(shù)組與數(shù)據(jù)庫(kù)文件的記錄進(jìn)行數(shù)據(jù)交換
數(shù)據(jù)庫(kù)文件記錄值傳送到數(shù)組:
SCATTER [FIELDS<字段表>]TO<數(shù)組>[BIANK]|MEMVAR[BLANK]
數(shù)組中的數(shù)據(jù)傳送到數(shù)據(jù)庫(kù)文件:
GATHER FROM <數(shù)組>|MEMVAR[FLELDS<字段表>]
13.函數(shù):
(1) 數(shù)組函數(shù):
絕對(duì)值函數(shù)ABS(<數(shù)值表達(dá)式>) 取整函數(shù)INT(<數(shù)值表達(dá)式>)
值函數(shù)MAX(N1,N2,…。) 最小值函數(shù)MIN(N1,N2,…。)
四舍五入ROUND(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)
(2) 字符串函數(shù):
字符串長(zhǎng)度函數(shù)LEN(<字符表達(dá)式>) 刪除尾部空格函數(shù)TRIM(<字符表達(dá)式>) 刪除頭部空格函數(shù)LTRIM(<字符表達(dá)式>)
子字符串函數(shù)SUBSTR(<字符表達(dá)式>,<數(shù)值表達(dá)式1>,[<數(shù)值表達(dá)式2>] 子字符串查找函數(shù)AT(<字符表達(dá)式1>,<字符表達(dá)式2>)
字符串替換函數(shù)STUFF(<字符表達(dá)式1>,<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>,<字符表達(dá)式2>) 大寫/小寫LOWER(<字符表達(dá)式>)
小寫/大寫UPPER(<字符表達(dá)式>) 宏替換函數(shù)&<內(nèi)存變量>[,<字符表達(dá)式>](其中內(nèi)存變量只能是字符型)
(3) 日期和時(shí)間函數(shù)
DATE() TIME() YEAR(<日期表達(dá)式>) MONTH(<日期表達(dá)式>)
DAY(<日期表達(dá)式>) MDY(<日期表達(dá)式>)(以月,日,年顯示的字符串)
(4) 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
字符型轉(zhuǎn)數(shù)值型函數(shù)VAL(<字符表達(dá)式>)
數(shù)值型轉(zhuǎn)字符型函數(shù)STR(<數(shù)值表達(dá)式>)[,<數(shù)值表達(dá)式2>[.<數(shù)值表達(dá)式3>]])
字符型轉(zhuǎn)日期型函數(shù)CTOD(<字符型表達(dá)式>)
日期型轉(zhuǎn)字符型函數(shù)DTOC(<日期表達(dá)式>[,1])(帶“1”表示可以進(jìn)行索引的日期字符串。)
(5) 測(cè)試函數(shù)
數(shù)據(jù)類型測(cè)試函數(shù)TYPE(<字符表達(dá)式>)
測(cè)試文件尾函數(shù)EOF([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試文件頭函數(shù)BOF([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試當(dāng)前記錄號(hào)函數(shù)RECNO([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試庫(kù)文件記錄數(shù)函數(shù)RECCOUNT([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試查找記錄函數(shù)FOUND([<工作區(qū)號(hào)>|<文件別名>])
測(cè)試屏幕(打印頭)光標(biāo)坐標(biāo)函數(shù)ROW(PROW)()與COL(PCOL())