FoxPro共有225個工作區(qū),工作區(qū)號為1-255.其中前10個工作區(qū)也可命名為A-J.。最近一交換選擇的工作區(qū)稱為當前工作區(qū)。調(diào)用其它工作區(qū)的字段時應按工作區(qū)/別名->字段名“或”別名。字段名格式。
一個數(shù)組占1個內(nèi)存變量名額,通過數(shù)組定義命令DIMENSION建立,賦值前數(shù)組各元素的初值為邏輯假值
進入FoxPro系統(tǒng)時,系統(tǒng)初始選中1號工作區(qū)。在FoxPro命令行中同時使用的各個子句,其位置可以交換。
在FoxPro中用戶可以使用兩種方式執(zhí)行命令,即立即執(zhí)行方式和程序方式。
立即方式是一種交互方式。好處是簡單方便,缺點是工作量大,易出錯,降低了計算機的使用效率。
程序方式又稱命令文件方式,這種方式要求用戶事先根據(jù)任務編寫程序。好處是速度快,計算機使用效率高。是Foxpro的主要使用方式。缺點是要求用戶學習和掌握程序設(shè)計方法。
&&表示其后內(nèi)容是注釋,系統(tǒng)不執(zhí)行。
下列命令的語法規(guī)則中,非法的是D
(A)命令動詞可只寫前四個字母 (B)命令動詞后的子句位置可交換
(C)命令動詞大小寫字母等價 (D)各短語和參數(shù)要連續(xù)輸入無空格
對內(nèi)存變量的敘述,不正確的是D .
(A) 內(nèi)存變量是獨立于數(shù)據(jù)庫的變量 (B) 內(nèi)存變量有N、C、L、D、S類型
(C) 內(nèi)存變量用賦值語句定義 (D) 內(nèi)存變量的形式只有標量
綜合:1、變量賦值、表達式運算。
2、內(nèi)存變量賦值、釋放、顯示、輸出、內(nèi)存變量文件*作。
3、函數(shù)
4、數(shù)組定義、賦值、與數(shù)據(jù)庫文件交換數(shù)據(jù)
函數(shù)P75起 數(shù)值函數(shù)
1、絕對值 ABS(<數(shù)值表達式>) 2、取整 INT(<數(shù)值表達式>) 3、值MAX(N1,N2,…)4、最小值 MIN( N1,N2,…) 5、平方根SQRT(<數(shù)值表達式>) 6、EXP(<數(shù)值表達式>)=eX 7、LOG(<數(shù)值表達式>)=LnX
8、正弦 SIN(<數(shù)值表達式>) 9、余弦 COS(<數(shù)值表達式>) 10、正切 TAN(<數(shù)值表達式>) (*弧度表示)
11、0-1之間隨機數(shù) RAND([<數(shù)值表達式>])(數(shù)值表達式為負,從當前時鐘取種子數(shù))
12、四舍五入ROUND(<數(shù)值表達式1>,<保留位數(shù)>)*保留位數(shù)為負表示其絕對值為整數(shù)部分四舍五入的位數(shù)
字符串函數(shù)
1、字符串長度LEN(<字符表達式>)2、刪尾部空格TRIM(<字符表達式>)3、刪頭部空格LTRIM(<字符表達式>)
4、取子串SUBSTR(<字符表達式>,<從第幾個開始>,[<取幾個字符>]) 5、首字母大寫PROPER(<字符表達式>)
6、子字符串查找AT(<字符表達式1>,<字符表達式2>)返回式1在式2的開始位置,沒找到返回0,區(qū)分大小寫
7、子串替換STUFF(<字符表達式1>,<數(shù)值表達式1>,<數(shù)值表達式2>,<字符表達式2>)
8、大小變小寫LOWER(<字符表達式>)9、小寫變大寫UPPER(<字符表達式>)10、空格SPACE(<空格數(shù)量>)
11、字符串復制REPLICATE(<字符串>,<復制次數(shù)>)12、宏替換&<內(nèi)存變量>[,<字符串>]
日期和時間函數(shù)
1、取系統(tǒng)日期DATE() 2、取系統(tǒng)時間TIME()3、取年份YEAR(<日期表達式>)4、取日DAY(<日期表達式>)
5、取月份MONTH(<日期表達式>)6、日期格式轉(zhuǎn)換MDY(<日期表達式>)(月日年格式)
數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
1、字符轉(zhuǎn)數(shù)值VAL(<字符表達式>)2、字符轉(zhuǎn)日期CTOD(<字符表達式>)
3、日期轉(zhuǎn)字符DTOC (<日期表達式>[,1])帶可選項“1”返回一個適于進行索引的日期字符串
4、數(shù)值轉(zhuǎn)字符STR(<數(shù)值表達式1>[,<返回字符串長度>[,<小數(shù)部分輸出位數(shù)>]])
測試函數(shù)
1、數(shù)據(jù)類型測試TYPE(<字符表達式>)2、測試文件尾EOF([<工作區(qū)號>|<文件別名>])
2、測試文件頭BOF([<工作區(qū)號>|<文件別名>])4、測試當前記錄號RECNO([<工作區(qū)號>|<文件別名>])
5、測試庫文件記錄數(shù)RECCOUNT([<工作區(qū)號>|<文件別名>])6、測試屏幕行列坐標ROW()、COL()
7、測試是否查找成功FOUND([<工作區(qū)號>|<文件別名>])8、測試打印頭坐標PROW()、PCOL()
命令
內(nèi)存變量賦值:1、store <表達式> to <內(nèi)存變量表>2、<內(nèi)存變量>=<表達式>
3、save screen to <屏幕型內(nèi)存變量> restore screen from <屏幕型內(nèi)存變量>
內(nèi)存變量釋放:1、release <內(nèi)存變量表> 2、release all [like|except<通配符>] 3、clear memory 4、clear all
內(nèi)存變量文件建立:save to <內(nèi)存變量文件名>[all [like|except<通配符>]]
內(nèi)存變量恢復:restore from <內(nèi)存變量文件名> [additive]無additive消除當前內(nèi)存中變量,有additive保留變量
內(nèi)存變量顯示:1、list memory [to print] 2、display memory [to print]
內(nèi)存變量輸出: ?|??[<表達式表>] ?從當前光標所在行的下一行第0列開始顯示,??從當前光標所在處開始顯示
數(shù)組定義:dimension|declare <數(shù)組名1>(<數(shù)值表達式1>[,<數(shù)值表達式2>])[,<數(shù)組名2>(<數(shù)值表達式3>[<數(shù)值表達式4>])]… 數(shù)組元素賦值:1、store <表達式> to <數(shù)組> 2、<數(shù)組>=<表達式>
數(shù)據(jù)庫文件記錄值傳送到數(shù)組scatter[fields<字段表>] to <數(shù)組> [blank] memvar [blank]
數(shù)組中的數(shù)據(jù)傳送到數(shù)據(jù)庫文件gather from<數(shù)組>| memvar [fields<字段表>]
建數(shù)據(jù)庫文件結(jié)構(gòu)create[<文件名>|?] 追加記錄append[blank] 數(shù)據(jù)庫文件打開use[<庫文件名>|?][alias<別名>]
記錄顯示list | display[<范圍>][fields<字段名表>][for<條件>][while<條件>][off][to printer|file<文件名>]
范圍:record n第n條記錄*作,next n下n條記錄*作,all所有記錄*作,rest當前到文件結(jié)束所有記錄*作
off 不顯示記錄 關(guān)閉當前工作區(qū)數(shù)據(jù)庫use 關(guān)閉當前打開的所有數(shù)據(jù)庫 close databases關(guān)閉所有close all
關(guān)閉索引文件 close indexes 關(guān)閉格式文件 close format 關(guān)閉過程文件 close procedure
關(guān)閉后備文本文件 close alternate 顯示數(shù)據(jù)庫結(jié)構(gòu)list|display structure[to printer|to file<文件名>]
修改庫結(jié)構(gòu) modify structure (生成。bak和。tbk文件,修改字段類型該字段數(shù)據(jù)丟失,不能同時修改字段名和寬度)
絕對移動go|goto[[record]<記錄號>|top|bottom][in <工作區(qū)號>|<文件別名>](第一個記錄:鍵值最小的記錄)
相對移動skip[<移動記錄數(shù)>][in <工作區(qū)號>|<文件別名>]插入記錄insert[before][blank]before:前,blank空
邏輯刪除delete[<范圍>][for<條件>][while<條件>] 恢復邏輯刪除recall[<范圍>][for<條件>][while<條件>]
物理刪除pack 物理刪除所有記錄zap 編輯修改edit|change[<范圍>][fields<字段名表>][for<條件>][while<條件>]
瀏覽編輯browse[<范圍>][fields<字段名表>][for<條件>][while<條件>][freeze<字段名>][noappend][nodelete]
[noedit][font<字體>[,<字號>] freeze<字段名>指定可修改的字段
替換修改replace[<范圍>]<字段1>with<表達式1>[,<字段2>with<表達式2>…] [for<條件>][while<條件>]
排序 /a升序/d降序/c不區(qū)分大小寫,關(guān)鍵字只能C、N、D型??砂嚓P(guān)聯(lián)工作區(qū)文件字段:別名->字段名
sort to<文件名>on<字段1>[/a][/c][/d][,<字段2>[/a][/c][/d]…][<范圍>][fields<字段表>][for<條件>][while<條件>]
index on<關(guān)鍵字表達式>to<索引文件名>[for<條件>][compact][unique][additive]多字段索引必須是C型。
compact壓縮 unique惟一性索引(若有多條記錄具有相同關(guān)鍵字表達式,索引文件只包含第一條記錄。Additive不關(guān)閉先前打開的索引,新建索引文件成為主索引。關(guān)閉索引文件1、set index to 2、close index
打開索引文件1、use<庫文件名>index<索引文件名表> 2、set index to<索引文件名表>
指定主索引set order to[<索引文件名表中的順序號>|<索引文件名>] 重建索引reindex[compact]
順序查詢locate[<范圍>][for<條件>][while<條件>]繼續(xù)查詢continue(locate中用while語句,continue無意義)
索引查詢find<字符串>|<數(shù)值常量>只能查字符串或數(shù)字字符串有前導空格須用引號,否則可不必使用定界符
seek<表達式>
一個數(shù)組占1個內(nèi)存變量名額,通過數(shù)組定義命令DIMENSION建立,賦值前數(shù)組各元素的初值為邏輯假值
進入FoxPro系統(tǒng)時,系統(tǒng)初始選中1號工作區(qū)。在FoxPro命令行中同時使用的各個子句,其位置可以交換。
在FoxPro中用戶可以使用兩種方式執(zhí)行命令,即立即執(zhí)行方式和程序方式。
立即方式是一種交互方式。好處是簡單方便,缺點是工作量大,易出錯,降低了計算機的使用效率。
程序方式又稱命令文件方式,這種方式要求用戶事先根據(jù)任務編寫程序。好處是速度快,計算機使用效率高。是Foxpro的主要使用方式。缺點是要求用戶學習和掌握程序設(shè)計方法。
&&表示其后內(nèi)容是注釋,系統(tǒng)不執(zhí)行。
下列命令的語法規(guī)則中,非法的是D
(A)命令動詞可只寫前四個字母 (B)命令動詞后的子句位置可交換
(C)命令動詞大小寫字母等價 (D)各短語和參數(shù)要連續(xù)輸入無空格
對內(nèi)存變量的敘述,不正確的是D .
(A) 內(nèi)存變量是獨立于數(shù)據(jù)庫的變量 (B) 內(nèi)存變量有N、C、L、D、S類型
(C) 內(nèi)存變量用賦值語句定義 (D) 內(nèi)存變量的形式只有標量
綜合:1、變量賦值、表達式運算。
2、內(nèi)存變量賦值、釋放、顯示、輸出、內(nèi)存變量文件*作。
3、函數(shù)
4、數(shù)組定義、賦值、與數(shù)據(jù)庫文件交換數(shù)據(jù)
函數(shù)P75起 數(shù)值函數(shù)
1、絕對值 ABS(<數(shù)值表達式>) 2、取整 INT(<數(shù)值表達式>) 3、值MAX(N1,N2,…)4、最小值 MIN( N1,N2,…) 5、平方根SQRT(<數(shù)值表達式>) 6、EXP(<數(shù)值表達式>)=eX 7、LOG(<數(shù)值表達式>)=LnX
8、正弦 SIN(<數(shù)值表達式>) 9、余弦 COS(<數(shù)值表達式>) 10、正切 TAN(<數(shù)值表達式>) (*弧度表示)
11、0-1之間隨機數(shù) RAND([<數(shù)值表達式>])(數(shù)值表達式為負,從當前時鐘取種子數(shù))
12、四舍五入ROUND(<數(shù)值表達式1>,<保留位數(shù)>)*保留位數(shù)為負表示其絕對值為整數(shù)部分四舍五入的位數(shù)
字符串函數(shù)
1、字符串長度LEN(<字符表達式>)2、刪尾部空格TRIM(<字符表達式>)3、刪頭部空格LTRIM(<字符表達式>)
4、取子串SUBSTR(<字符表達式>,<從第幾個開始>,[<取幾個字符>]) 5、首字母大寫PROPER(<字符表達式>)
6、子字符串查找AT(<字符表達式1>,<字符表達式2>)返回式1在式2的開始位置,沒找到返回0,區(qū)分大小寫
7、子串替換STUFF(<字符表達式1>,<數(shù)值表達式1>,<數(shù)值表達式2>,<字符表達式2>)
8、大小變小寫LOWER(<字符表達式>)9、小寫變大寫UPPER(<字符表達式>)10、空格SPACE(<空格數(shù)量>)
11、字符串復制REPLICATE(<字符串>,<復制次數(shù)>)12、宏替換&<內(nèi)存變量>[,<字符串>]
日期和時間函數(shù)
1、取系統(tǒng)日期DATE() 2、取系統(tǒng)時間TIME()3、取年份YEAR(<日期表達式>)4、取日DAY(<日期表達式>)
5、取月份MONTH(<日期表達式>)6、日期格式轉(zhuǎn)換MDY(<日期表達式>)(月日年格式)
數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
1、字符轉(zhuǎn)數(shù)值VAL(<字符表達式>)2、字符轉(zhuǎn)日期CTOD(<字符表達式>)
3、日期轉(zhuǎn)字符DTOC (<日期表達式>[,1])帶可選項“1”返回一個適于進行索引的日期字符串
4、數(shù)值轉(zhuǎn)字符STR(<數(shù)值表達式1>[,<返回字符串長度>[,<小數(shù)部分輸出位數(shù)>]])
測試函數(shù)
1、數(shù)據(jù)類型測試TYPE(<字符表達式>)2、測試文件尾EOF([<工作區(qū)號>|<文件別名>])
2、測試文件頭BOF([<工作區(qū)號>|<文件別名>])4、測試當前記錄號RECNO([<工作區(qū)號>|<文件別名>])
5、測試庫文件記錄數(shù)RECCOUNT([<工作區(qū)號>|<文件別名>])6、測試屏幕行列坐標ROW()、COL()
7、測試是否查找成功FOUND([<工作區(qū)號>|<文件別名>])8、測試打印頭坐標PROW()、PCOL()
命令
內(nèi)存變量賦值:1、store <表達式> to <內(nèi)存變量表>2、<內(nèi)存變量>=<表達式>
3、save screen to <屏幕型內(nèi)存變量> restore screen from <屏幕型內(nèi)存變量>
內(nèi)存變量釋放:1、release <內(nèi)存變量表> 2、release all [like|except<通配符>] 3、clear memory 4、clear all
內(nèi)存變量文件建立:save to <內(nèi)存變量文件名>[all [like|except<通配符>]]
內(nèi)存變量恢復:restore from <內(nèi)存變量文件名> [additive]無additive消除當前內(nèi)存中變量,有additive保留變量
內(nèi)存變量顯示:1、list memory [to print] 2、display memory [to print]
內(nèi)存變量輸出: ?|??[<表達式表>] ?從當前光標所在行的下一行第0列開始顯示,??從當前光標所在處開始顯示
數(shù)組定義:dimension|declare <數(shù)組名1>(<數(shù)值表達式1>[,<數(shù)值表達式2>])[,<數(shù)組名2>(<數(shù)值表達式3>[<數(shù)值表達式4>])]… 數(shù)組元素賦值:1、store <表達式> to <數(shù)組> 2、<數(shù)組>=<表達式>
數(shù)據(jù)庫文件記錄值傳送到數(shù)組scatter[fields<字段表>] to <數(shù)組> [blank] memvar [blank]
數(shù)組中的數(shù)據(jù)傳送到數(shù)據(jù)庫文件gather from<數(shù)組>| memvar [fields<字段表>]
建數(shù)據(jù)庫文件結(jié)構(gòu)create[<文件名>|?] 追加記錄append[blank] 數(shù)據(jù)庫文件打開use[<庫文件名>|?][alias<別名>]
記錄顯示list | display[<范圍>][fields<字段名表>][for<條件>][while<條件>][off][to printer|file<文件名>]
范圍:record n第n條記錄*作,next n下n條記錄*作,all所有記錄*作,rest當前到文件結(jié)束所有記錄*作
off 不顯示記錄 關(guān)閉當前工作區(qū)數(shù)據(jù)庫use 關(guān)閉當前打開的所有數(shù)據(jù)庫 close databases關(guān)閉所有close all
關(guān)閉索引文件 close indexes 關(guān)閉格式文件 close format 關(guān)閉過程文件 close procedure
關(guān)閉后備文本文件 close alternate 顯示數(shù)據(jù)庫結(jié)構(gòu)list|display structure[to printer|to file<文件名>]
修改庫結(jié)構(gòu) modify structure (生成。bak和。tbk文件,修改字段類型該字段數(shù)據(jù)丟失,不能同時修改字段名和寬度)
絕對移動go|goto[[record]<記錄號>|top|bottom][in <工作區(qū)號>|<文件別名>](第一個記錄:鍵值最小的記錄)
相對移動skip[<移動記錄數(shù)>][in <工作區(qū)號>|<文件別名>]插入記錄insert[before][blank]before:前,blank空
邏輯刪除delete[<范圍>][for<條件>][while<條件>] 恢復邏輯刪除recall[<范圍>][for<條件>][while<條件>]
物理刪除pack 物理刪除所有記錄zap 編輯修改edit|change[<范圍>][fields<字段名表>][for<條件>][while<條件>]
瀏覽編輯browse[<范圍>][fields<字段名表>][for<條件>][while<條件>][freeze<字段名>][noappend][nodelete]
[noedit][font<字體>[,<字號>] freeze<字段名>指定可修改的字段
替換修改replace[<范圍>]<字段1>with<表達式1>[,<字段2>with<表達式2>…] [for<條件>][while<條件>]
排序 /a升序/d降序/c不區(qū)分大小寫,關(guān)鍵字只能C、N、D型??砂嚓P(guān)聯(lián)工作區(qū)文件字段:別名->字段名
sort to<文件名>on<字段1>[/a][/c][/d][,<字段2>[/a][/c][/d]…][<范圍>][fields<字段表>][for<條件>][while<條件>]
index on<關(guān)鍵字表達式>to<索引文件名>[for<條件>][compact][unique][additive]多字段索引必須是C型。
compact壓縮 unique惟一性索引(若有多條記錄具有相同關(guān)鍵字表達式,索引文件只包含第一條記錄。Additive不關(guān)閉先前打開的索引,新建索引文件成為主索引。關(guān)閉索引文件1、set index to 2、close index
打開索引文件1、use<庫文件名>index<索引文件名表> 2、set index to<索引文件名表>
指定主索引set order to[<索引文件名表中的順序號>|<索引文件名>] 重建索引reindex[compact]
順序查詢locate[<范圍>][for<條件>][while<條件>]繼續(xù)查詢continue(locate中用while語句,continue無意義)
索引查詢find<字符串>|<數(shù)值常量>只能查字符串或數(shù)字字符串有前導空格須用引號,否則可不必使用定界符
seek<表達式>