二、常用函數
1、數學函數
函數 用途
ABS(<數值表達式>) 絕對值,|x|
CEILING(<數值表達式>) >=自變量的最小整數
EXP(<數值表達式>) 對基E的冪,e=2.71828
FLOOR(<數值表達式>) <=自變量的最大整數
INT(<數值表達式>) 取整(舍尾)自變量
LOG(<數值表達式>) 自變量的自然對數,ln x
LOG10(<數值表達式>) 自變量的普通對數,lg x
MAX(<表達式1>,<表達式2>) 兩個值的最大值
MIN(<表達式1>,<表達式2>) 兩個值的最小值
MOD(<數值表達式1>,<數值表達式2>) 求余數
RAND([<數值表達式1>]) 返回偽隨機數
ROUND(<數值表達式1>,<數值表達式2>) 四舍五入第壹個自變量
SIGN(<數值表達式>) 自變量的符號
SQRT(<數值表達式>) 平方根(正根)
2、字符串操作函數
函數 用途
&<內存變量> 用於代替內存變量內容
LEN(<字符串表達式>) 返回字符串表達式的字符個數
SPACE(<數值表達式>) 生成空格
SUBSTR(<字符串表達式>,<數值表達式n>[,<數值表達式L>]) 求子字符串,從指定的字符串表達式第n個開始,總長為L的字符串
LOWER(<字符串表達式>) 將字符串字母轉換成小寫字母
UPPER(<字符串表達式>) 將字符串字母轉換成大寫字母
TRIM(<字符串表達式>) 刪除字符串尾空格
ASC(<字符串表達式>) 返回字符串表達式最左邊的第壹個字符的ASCII碼
CHR(<數值表達式>) 將數值表達式轉換成字符
AT(<字符串表達式1>,<字符串表達式2>[,<數值表達式n>])
確定字符串表達式1在字符串表達式2中的位置,n為字符串表達式第幾次出現
STR(<數值表達式>[,<數值表達式L>][,<數值表達式n>) 將數值轉換為字符串,L為數值表達式總長,n為小數位數
VAL(<字符串表達式>) 將數字字符串轉換為數字
TYPE(<表達式>) 檢測表達式值的數據類型
LTRIM(<字符串表達式>) 刪除字符串左部空格
RTRIM(<字符串表達式>) 刪除字符串右部空格
LEFT(<字符串表達式>,<數值表達式n>) 取字符串左邊部分字符,n為返回的字符個數
RIGHT(<字符串表達式>,<數值表達式n>) 取字符串右邊部分字符,n從右邊截取字符個數
3、表(.dbf)操作函數
函數 用途
BOF([<工作區號或別名>]) 查表文件開始函數
EOF([<工作區號或別名>]) 表文件結尾測試函數
RECNO([<工作區號或別名>]) 測試當前或指定工作區表的當前記錄號
DELETED([<工作區號或別名>]) 記錄刪除測試函數
FILE(<"字符串">) 測試文件是否存在函數
DBF([<工作區號或別名>]) 檢測表的文件名函數
4、日期、時間函數
函數 用途
DATE() 查系統當前日期函數
TIME([<數值表達式>]) 查系統當前時間函數
YEAR(<日期型表達式>|<日期時間型表達式>) 由日期查年函數
MONTH(<日期型表達式>|<日期時間型表達式>) 從日期查月份函數
CMONTH(<日期型表達式>|<日期時間型表達式>) 由日期查月份名函數
DAY(<日期型表達式>|<日期時間型表達式>) 從日期查當月的日函數
DOW(<日期型表達式>|<日期時間型表達式>[,<數值表達式>]) 由日期查星期函數
CDOW(<日期型表達式>|<日期時間型表達式>) 從日期查星期名函數
DTOC(<日期型表達式>|<日期時間型表達式>) 日期轉換為字符函數
CTOD(<字符串表達式>) 字符串轉換為日期函數
CTOT(<字符串表達式>) 返回日期時間值函數
TTOC(<日期時間型表達式>) 返回字符值
5、顯示、打印位置函數
函數 用途
ROW() 判斷光標行位置函數
COL() 判斷光標列位置函數
INKEY([<數值表達式>]) 檢測用戶所擊鍵對應的ASCII碼函數,數值表達式以秒為單位等待擊鍵的時間
6、其他函數
函數 用途
DISKSPACE() 返回默認磁盤驅動器中可用字節數函數
OS() 檢測操作系統名稱的函數
VERSION() 返回VFP版本號的函數
VFP命令、函數及程序語句大全(3)
三、主要程序語句
1、條件判斷語句
格式:(1)IF <條件>
<命令語句組>
ENDIF
說明:如果條件為真,則執行命令語句組中的各語句,否則跳過這些命令語句不執行,
而執行ENDIF後的語句。
(2)IF <條件>
<命令語句組1>
ELSE
<命令語句組2>
ENDIF
說明:如果條件為真,執行命令語句組1,否則執行命令語句組2。
(3)IF <條件1>
IF <條件2>
<命令語句組1>
ELSE
<命令語句組2>
ENDIF
...
ELSE
<命令語句組N>
ENDIF
說明:進行多重條件的嵌套選擇。
(4)DO CASE
CASE <條件1>
<命令語句組1>
CASE <條件2>
<命令語句組2>
CASE <條件3>
<命令語句組3>
...
...
CASE <條件N>
<命令語句組N>
[OTHERWISE]
[<命令語句組N+1>]
ENDCASE
說明:依次判斷條件,轉入條件為真的命令語句組中執行。當所有條件都不成立時,若有
OTHERWISE項,則執行命令語句組N+1,否則執行ENDCASE後面的語句。
2、循環語句
格式:(1)DO WHILE <條件>
<命令語句組>
[LOOP]
<命令語句組>
[EXIT]
<命令語句組>
ENDDO
說明:判斷條件是否為真,如為真就重復執行循環體中的命令語句組,直到條件為假,結束循環。
(2)SCAN
<命令語句組>
ENDSCAN
說明:在壹個表中建立壹個執行命令語句組的循環,並執行對每壹條記錄的操作,直到表文件
記錄完為止。
在下壹行顯示表達式串? 在當前行顯示表達式串
@... 將數據按用戶設定的格式顯示在屏幕上或在打印機上打印
ACCEPT 把壹個字符串賦給內存變量
APPEND 給數據庫文件追加記錄
APPEND FROM 從其它庫文件將記錄添加到數據庫文件中
AVERAGE 計算數值表達式的算術平均值
BROWSE 全屏幕顯示和編輯數據庫記錄
CALL 運行內存中的二進制文件
CANCEL 終止程序執行,返回圓點提示符
CASE 在多重選擇語句中,指定壹個條件
CHANGE 對數據庫中的指定字段和記錄進行編輯
CLEAR 清潔屏幕,將光標移動到屏幕左上角
CLEAR ALL 關閉所有打開的文件,釋放所有內存變量,選擇1號工作區
CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表
CLEAR GETS 從全屏幕READ中釋放任何當前GET語句的變量
CLEAR MEMORY 清除當前所有內存變量
CLEAR PROGRAM 清除程序緩沖區
CLEAR TYPEAHEAD 清除鍵盤緩沖區
CLOSE 關閉指定類型文件
CONTINUE 把記錄指針指到下壹個滿足LOCATE命令給定條件的記錄,在LOCATE命令後出現。無LOCATE則出錯
COPY TO 將使用的數據庫文件復制另壹個庫文件或文本文件
COPY FILE 復制任何類型的文件
COPY STRUCTURE EXTENED TO 當前庫文件的結構作為記錄,建立壹個新的庫文件
COPY STRUCTURE TO 將正在使用的庫文件的結構復制到目的庫文件中
COUNT 計算給定範圍內指定記錄的個數
CREATE 定義壹個新數據庫文件結構並將其登記到目錄中
CREATE FROM 根據庫結構文件建立壹個新的庫文件
CREATE LABEL 建立並編輯壹個標簽格式文件
CREATE REPORT 建立賓編輯壹個報表格式文件
DELETE 給指定的記錄加上刪除標記
DELETE FILE 刪除壹個未打開的文件
DIMENSION 定義內存變量數組
DIR 或 DIRECTORY 列出指定磁盤上的文件目錄
DISPLAY 顯示壹個打開的庫文件的記錄和字段
DISPLAY FILES 查閱磁盤上的文件
DISPLAY HISTORY 查閱執行過的命令
DISPLAY MEMORY 分頁顯示當前的內存變量
DISPLAY STATUS 顯示系統狀態和系統參數
DISPLAY STRUCTURE 顯示當前書庫文件的結構
DO 執行FoxBase程序
DO CASE 程序中多重判斷開始的標誌
DO WHILE 程序中壹個循環開始的標誌
EDIT 編輯數據庫字段的內容
EJECT 使打印機換頁的命令,將PROW()函數和PCOL()函數值置為0
ELSE 在IF...ENDIF結構中提供另壹個條件選擇路線
ENDCASE 終止多重判斷
ENDDO 程序中壹個循環體結束的標誌
ENDIF 判斷體IF...ENDIF結構結束標誌
ERASE 從目錄中刪除指定文件
EXIT 在循環體內執行退出循環的命令
FIND 將記錄指針移動到第壹個含有與給定字符串壹致的索引關鍵字的記錄上
FLUSH 清除所有的磁盤存取緩沖區
GATHER FROM 將數組元素的值賦予數據庫的當前記錄中
GO/GOTO 將記錄指針移動到指定的記錄號
HELP 激活幫助菜單,解釋FoxBASE+的命令
IF 在IF...ENDIF結構中指定判斷條件
INDEX 根據指定的關鍵詞生成索引文件
INPUT 接受鍵盤鍵入的壹個表達式並賦予指定的內存變量
INSERT 在指定的位置插入壹個記錄
JOIN 從兩個數據庫文件中把指定的記錄和字段組合成另壹個庫文件
KEYBOARD 將字符串填入鍵盤緩沖區
LABEL FROM 用指定的標簽格式文件打印標簽
LIST 列出數據庫文件的記錄和字段
LIST FILES 列出磁盤當前目錄下的文件
LIST HISTORY 列出執行過的命令
LIST MEMORY 列出當前內存變量及其值
LIST STATUS 列出當前系統狀態和系統參數
LIST STRUCTURE 列出當前使用的數據庫的庫結構
LOAD 將匯編語言程序從磁盤上調入內存
LOCATE 將記錄指針移動到對給定條件為真的記錄上
LOOP 跳過循環體內LOOP與ENDDO之間的所有語句,返回到循環體首行
MENU TO 激活壹組@...PROMPT命令定義的菜單
MODIFY COMMAND 進入FoxBASE+系統的字處理狀態,並編輯壹個ASCII碼文本文件(如果指定文件名以.PRG為後綴,則編輯壹個FoxBASE+命令文件)
MODIFY FILE 編輯壹個壹般的ASCII碼文本文件
MODIFY LABEL 建立並編輯壹個標簽(.LBL)文件
MODIFY REPORT 建立並編輯壹個報表格式文件(.FRM)文件
MODIFY STRUCTURE 修改當前使用的庫文件結構
NOTE/* 在命令文件(程序)中插入以行註釋(本行不被執行)
ON 根據指定條件轉移程序執行
OTHERWISE 在多重判斷(DO CASE)中指定除給定條件外的其它情況
PACK 徹底刪除加有刪除標記的記錄
PARAMETERS 指定子過程接受主過程傳遞來的參數所存放的內存變量
PRIVATE 定義內存變量的屬性為局部性質
PROCEDURE 壹個子過程開始的標誌
PUBLIC 定義內存變量為全局性質
QUIT 關閉所有文件並退出FoxBASE+
READ 激活GET語句,並正是接受在GET語句中輸入的數據
RECALL 恢復用DELETE加上刪除標記的記錄
REINDEX 重新建立正在使用的原有索引文件
RELEASE 清楚當前內存變量和匯編語言子程序
RENAME 修改文件名
REPLACE 用指定的數據替換數據庫字段中原有的內容
REPORT FORM 顯示數據報表
RESTORE FROM 從內存變量文件(.MEM)中恢復內存變量
RESTORE SCREEN 裝載原來存儲過的屏幕映象
RESUME 使暫停的程序從暫停的斷點繼續執行
RETRY 從當前執行的子程序返回調用程序,並從原調用行重新執行
RETURN 結束子程序,返回調用程序
RUN/! 在FoxBASE+中執行壹個操作系統程序
SAVE TO 把當前內存變量及其值存入指定的磁盤文件(.MEM)
SAVE SCREEN 將當前屏幕顯示內容存儲在指定的內存變量中
SCATTER 將當前數據庫文件中的數據移到指定的數組中
SEEK 將記錄指針移到第壹個含有與指定表達式相符的索引關鍵字的記錄
SELECT 選擇壹個工作區
SET 設置FoxBASE+控制參數
SET ALTERNATE ON/OFF 設置傳送/不傳送輸出到壹個文件中
SET ALTERNATE TO 建立壹個存放輸出的文件
SET BELL ON/OFF 設置輸入數據時響鈴/不響鈴
SET CARRY ON/OFF 設置最後壹個記錄復制/不復制到添加的記錄中
SET CENTURY ON/OFF 設置日期型變量要/不要世紀前綴
SET CLEAR ON/OFF 設置屏幕信息能/不能被清除
SET COLOR ON/OFF 設置彩色/單色顯示
SET COLOR TO 設置屏幕顯示色彩
SET CONFIRM ON/OFF 設置在全屏幕編輯方式中,要求/不要求自動跳到下壹個字段
SET CONSOLE ON/OFF 設置將輸出傳送/不傳送到屏幕
SET DATE 設置日期表達式的格式
SET DEBUG ON/OFF 設置傳送/不傳送ECHO的輸出到打印機上
SET DECIMALS TO 設置計算結果需要顯示的小數位數
SET DEFAULT TO 設置默認的驅動器
SET DELETED ON/OFF 設置隱藏/顯示有刪除標記的記錄
SET DELIMITER TO 為全屏幕顯示字段和變量設置定界符
SET DELIMITER ON/OFF 選擇可選的定界符
SET DEVICE TO SCREEN/PRINT 將@...SAY命令的結果傳送到屏幕/打印機
SET DOHISTORY ON/OFF 設置存/不存命令文件中的命令到歷史記錄中
SET ECHO ON/OFF 命令行回送到屏幕或打印機
SET ESCAPE ON/OFF 允許ESCAPE退出/繼續命令文件的執行
SET EXACT ON/OFF 在字符串的比較中,要求/不要求準確壹致
SET EXACLUSIVE ON/OFF 設置數據庫文件的***享
SET FIELDS ON/OFF 設置當前打開的數據庫中部分/全部字段為可用
SET FIELDS TO 指定打開的數據庫中可被訪問的字段
SET FILTER TO 在操作中將數據庫中所有不滿足給定條件的記錄排除
SET FIXED ON/OFF 固定/不固定顯示的小數位數
SET FORMAT TO 打開指定的格式文件
SET function..設置F1-F9功能鍵值
SET HEADING ON/OFF 設置LIST或DISPLAY時,顯示/不顯示字段名
SET HELP ON/OFF 確定在出現錯誤時,是否給用戶提示
SET HISTORY ON/OFF 決定是/否把命令存儲起來以便重新調用
SET HISTORY TO 決定顯示歷史命令的數目
SET INDEX TO 打開指定的索引文件
SET INTENSITY ON/OFF 對全屏幕操作實行/不實行反轉顯示
SET MARGIN TO 設置打印機左頁邊
SET MEMOWIDTH TO 定義備註型字段輸出寬度和REPORT命令隱含寬度
SET MENU ON/OFF 確定在全屏幕操作中是否顯示菜單
SET MESSAGE TO 定義菜單中屏幕底行顯示的字符串
SET ODOMETER TO 改變TALK命令響應間隔時間
SET ORDER TO 指定索引文件列表中的索引文件
SET PATH TO 為文件檢索指定路徑
SET PRINT ON/OFF 傳送/不傳送輸出數據到打印機
SET PRINTER TO 把打印的數據輸送到另壹種設備或壹個文件中
SET PROCEDURE TO 打開指定的過程文件
SET RELATION TO 根據壹個關鍵字表達式連接兩個數據庫文件
SET SAFETY ON/OFF 設置保護,在重寫文件時提示用戶確認
SET SCOREBORAD ON/OFF 設置是/否在屏幕的第0行上顯示FoxBASE+的狀態信息
SET STATUS ON/OFF 控制是/否顯示狀態行
SET STEP ON/OFF 每當執行完壹條命令後,暫停/不暫停程序的執行
SET TALK ON/OFF 是否將命令執行的結果傳送到屏幕上
SET TYPEAHEAD TO 設置鍵盤緩沖區的大小
SET UNIQUE ON/OFF 在索引文件中出現相同關鍵字的第壹個/所有記錄
SKIP 以當前記錄指針為準,前後移動指針
SORT TO 根據數據庫文件的壹個字段或多個字段產生壹個排序的哭文件
STORE 賦值語句
SUM 計算並顯示數據庫記錄的壹個表達式在某範圍內的和
SUSPEND 暫停(掛起)程序的執行
TEXT...ENDTEXT 在屏幕上當前光標位置顯示...的文本數據塊
TOTAL TO 對預先已排序的文件產生壹個具有總計的摘要文件
TYPE 顯示ASCII碼文件的內容
UNLOCK 解除當前庫文件對記錄和文件的加鎖操作
UPDATE 允許對壹個數據庫進行成批修改
USE 帶文件名的USE命令打開這個數據庫文件。無文件名時,關閉當前操作的數據庫文件
WAIT 暫停程序執行,按任意鍵繼續執行
ZAP 刪除當前數據庫文件的所有記錄(不可恢復)