① 誰能列表告訴我Visual FoxPro的一些常用命令
Visual FoxPro常用命令分類表
資料庫文件及記錄命令
ADD TABLE 在當前資料庫中添加一個自由表
APPEND 在表的末尾添加一個或多個新記錄
APPEND FROM ARRAY 由數組添加記錄到表中
APPEND FROM 從一個文件中讀入記錄,追加到當前表的尾部
APPEND GENERAL 從文件中導入OLE對象並將其放入通用欄位中
APPEND MEMO 將文本文件的內容復制到備注欄位中
APPEND PROCEDURES 將文本文件中的存儲過程追加到當前資料庫中
AVERAGE 計算數值表達式或欄位的算術平均值
BLANK 清除當前記錄中所有欄位的數據
BROWSE 打開瀏覽窗口,顯示當前或選定表的記錄
CALCULATE 對表中的欄位或包含欄位的表達式進行財務和統計操作
CHANGE 顯示要編輯的欄位
CLOSE 關閉各種類型的文件
CLOSE MEMO 關閉一個或多個備注編輯窗口
COMPILE DATABASE 編譯資料庫中的存儲過程
CONTINUE 繼續執行先前的LOCATE命令
COPY MEMO 復制當前記錄中的指定備注欄位的內容到文本文件
COPY PROCEDURES 將當前資料庫中』的存儲過程復制到文本文件
COPY STRUCTURE 用當前選擇的表結構創建一個新的空自由表
COPY STRUCTURE EXTENDED 創建新表,它的欄位包含當前選定表的結構信息
COPY TO ARRAY 將當前選定表中的數據復制到數組
COPY TO 用當前選定表的內容創建新文件
COUNT 統計表中記錄數目
CREATE 生成一個新的VisualFoxPro表
CREATE CONNECTION 創建一個命名連接並把它存儲在當前資料庫中
CREATE DATABASE 創建並打開一個資料庫
CREATE TRIGGER 創建表的刪除、插入或更新觸發器
CREATE VIEW 從VisualFoxPro環境創建視圖文件
DELETE 給要刪除的記錄做標記
DELETE CONNECTION 從當前資料庫中刪除一個命名連接
DELETE DATABASE 從磁碟上刪除資料庫
DELETE TRIGGER 從當前資料庫的表中刪除「刪除」、「插入」或「更新」觸發器│
DELETE VIEW 從當前資料庫中刪除一個SQL視圖
DISPLAY 在VisualFoxPro主窗口或用戶自定義窗口中顯示與當前表有關的信息
DISPLAY CONNECTIONS 顯示當前資料庫中與命名連接有關的信息
DISPLAY DATABASE 顯示有關當前資料庫的信息,或當前資料庫中的欄位、命名連接、表或視圖的信息
DISPLAY MEMORY 顯示內存變數和數組的當前內容
DISPLAY PROCEDURES 顯示當前資料庫中存儲過程的名稱
DISPLAY STRUCTURE 顯示一個表文件的結構
DISPLAY TABLES 顯示包含在當前資料庫中所有的表和表的信息
DISPLAY VIEWS 顯示當前資料庫中關於SQL視圖的信息以及SQL視圖是否基於本地或遠程表的信息
DROP TABLE 把一個表從資料庫中移出,並從磁碟中刪除它
DROP VIEW 從當前資料庫中刪除指定的SQL視圖
EDIT 顯示要編輯的欄位
FoxPro的命令結構一般由命令動詞、語句體和注釋幾部分構成。
如:LIST [范圍] [[FIELDS 欄位名列表] [FOR 條件][WHILE 條件] [OFF] [TO PRINT]
常用子句
范圍:表示記錄的執行范圍,可以是下面幾項其中之一:
ALL 表示全部記錄;
NEXT n 表示從當前記錄開始的以下n條記錄;
RECORD n 表示第n號記錄;
REST 表示從當前記錄到最後一條記錄。
FIELDS 欄位名表:用於指定操作的欄位,多個欄位時用逗號分隔。
FOR條件:對滿足條件的記錄進行操作。
WHILE 條件:當遇到第一個不滿足條件的記錄時,停止命令執行。
以下命令中,大寫的英文詞為關鍵詞,必須原樣照寫。
「常用子句」指以下幾個可選子句:
[范圍] [FIELDS 欄位名表] [FOR 條件] [WHILE 條件]
命令中的「列表」,指用「,」分隔的各項。如「欄位名列表」就是將各個欄位名用逗號分隔。
部分英文詞的意義:Databasename 數據名 tablename 數據表名 filename 文件名 Viewname 視圖名 arrayname 數組名
提示:加下劃線的為本課程要求掌握的命令。
一、資料庫的建立、打開、關閉和刪除
建立資料庫:
CREATE DATABASE [databasename|?]
從磁碟中刪除資料庫:
DELETE DATABASE databasename|?
打開資料庫:
OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]
打開資料庫設計器(允許用戶按交互方式編輯當前資料庫):
MODIFY DATABASE [databasename|?]
指定的資料庫databasename為當前資料庫。
指定當前的資料庫:
SET DATABASE TO [databasename]
Databasename必須為已經打開的資料庫。如果省略資料庫名稱databasename,則不指定當前資料庫(沒有當前資料庫)。
關閉資料庫:
CLOSE DATABASE [ALL]
關閉當前資料庫,如果帶ALL子句,則關閉所有打開的資料庫。
二、數據表和視圖的建立、打開、關閉和刪除
建立數據表(SQL命令):
CREATE TABLE | DBF tablename (Col_name1 Type1 [NOT NULL/NULL]
[{,Col_name2 Type2 [NOT NULL/NULL]}...])
table_name是所創建的數據表的名字。
Col_name1,Col_name2,...是表中列的名。
Type1, Type2...是相應列的數據類型(VFP的數據類型見表3-9)。
如果說明為NOT NULL,則列中不允許分配空值(這種情況下,列不能包含空值,如果插入空值,將返回錯誤信息)。
向當前打開的資料庫中添加數據表:
ADD TABLE tablename|?
從當前打開的資料庫中刪除數據表:
REMOVE TABLE tablename|? [DELETE]
如果包含DELETE子句,將從磁碟中刪除這個表文件,否則,只從資料庫中刪除,但文件仍保存在磁碟中。
在當前打開的資料庫中建立視圖:
CREATE SQL VIEW viewname AS SELECT ……
其中SELECT ……為SELECT語句。
執行這個語句時,如果沒有打開的資料庫,則建立獨立的視圖,這樣的視圖不能存儲。
從當前打開的資料庫中刪除視圖:
DELETE VIEW viewname
打開一個表:
USE tablename|? [IN 工作區號]
將當前數據表與另一數據表連接後建立一個新表:
JOIN WITH 工作區號|表別名 TO tablename FOR 條件 [FIELDS 欄位名表]
三、數據表和表結構的編輯、修改
打開瀏覽窗口(可在其中編輯數據表):
BROWSW(詳細格式見P. 114~116)
打開並修改數據表中的欄位:
(1) CHANGE [FIELDS 欄位名列表]
(2) EDIT [FIELDS 欄位名列表]
這兩個命令的功能相似,可選子句較多(詳見手冊)。
數據表改名:
RENAME TABLE tablename1 TO tablename2
其中數據表tablename1必須存在且未打開。
視圖改名:
RENAME VIEW viewname1 TO viewname2
其中數據表tablename1必須存在且未打開。
修改數據表結構(SQL命令):
ALTER TABLE tablename ;
ADD 欄位名 Type [NULL | NOT NULL]
[,欄位名 Type [NULL | NOT NULL] ;
[ALTER COLUMN欄位名Type {NULL | NOT NULL}];
[{,欄位名Type NULL | NOT NULL}...] ;
[DROP欄位名[,欄位名[, ...]]
將當前表與另一表之間建立關聯:
SET RELATION TO [表達式1 INTO 工作區號1 | 表別名1];
[, 表達式2 INTO 工作區號2 | 表別名2] [, ...]
建立關聯的兩個表必須事先已按關聯表達式進行索引排序。
在當前表與另一表之間建立一對多關聯:
SET SKIP TO表別名1[, 表別名2]
消除當前表與另一表之間的關聯:
SET RELATION OFF INTO 工作區號 | 表別名
四、數據表中數據操作(查詢、插入、刪除和修改等)
數據查詢SELECT語句(SQL命令)
格式見教材的有關章節。這是本課程的重點內容,必須很好地掌握。
更改數據表中的記錄:
REPLACE 欄位1 WITH 表達式1[ADDITIVE];
[,< [,<欄位2> WITH <表達式2>[ADDITIVE],…];
[FOR 條件1][WHILE條件2]
其中的ADDITIVE子句適用於備注欄位,表示將表達式的值加在欄位的末尾。
用內存數組的值更新數據表中的記錄:
REPLACE FROM ARRAY數組名 [FIELDS 欄位名列表][常用子句]
用新的值更新表中的記錄(SQL命令):
UPDATE [databasename!]tablename;
SET Column_1=Expression1 [{Column_2=expression2}...] ;
[WHERE Condition]
用一個表中的數據更新當前指定工作區中打開的表:
UPDATE ON fieldname FROM filename;
REPLACE fieldname1 WITH expr1
[, fieldname2 WITH expr2 [, ...]]
給記錄加刪除標記(SQL命令):
DELETE FROM [databasename!]tablename;
[WHERE 條件]
給記錄加刪除標記:
DELETE [范圍] [FOR 條件] [WHILE 條件];
[IN 工作區號|表別名]
永久刪除加了刪除標記的記錄:
PACK
永久刪除打開的資料庫中加了刪除標記的記錄:
PACK DATABASE
去掉刪除標記(恢復)
RECALL [常用子句]
刪除一個表中所有記錄(保留表的結構):
ZAP [IN tablename|alias]
為數據表文件追加記錄:
APPEND [BLANK][IN 工作區號|別名]
從另一個文件中提取數據添加到當前數據表的尾部:
APPEND FROM filename|? [FIELDS 欄位名列表][ FOR 條件]
其中filename所指定的文件可以是數據表、EXCEL電子表格、文本文件等,如果不是數據表,需要其它子句指定格式(詳見手冊)。
用內存數組的值添加到當前數據表的尾部:
APPEND FROM ARRAY arrayname [ FOR 條件][FIELDS欄位名列表]
數據中的一行對應一個新記錄,一列對應一個欄位。
從一個文件輸入一個OLE對象放入一個通用(general)欄位 :
APPEND GENERAL 通用欄位名 [FROM filename]
如果省略子句FROM filename,則將指定的欄位清空。
將一個文本文件的內容拷貝到一個備注欄位 :
APPEND MEMO 備注欄位名 [FROM filename][OVERWRITE]
如果省略子句FROM filename,則將指定的欄位清空。
插入新記錄(在當前記錄之前或後插入):
INSERT [BLANK] [BEFORE]
如不省略BLANK,則插入一個空白記錄,且不顯示輸入窗口。
在表中插入新記錄並賦值(SQL命令):
INSERT INTO tablename [(欄位1 [, 欄位2, ...])]VALUES (eExpression1 [, eExpression2, ...])
或
INSERT INTO tablename FROM ARRAY ArrayName | FROM MEMVAR
如帶有FROM MEMVAR子句,則用同名的內存變數給欄位賦值。
清除當前記錄中欄位的數據:
BLANK [常用子句]
移動記錄指針:
SKIP [n] [IN 工作區號|表別名]
五、文件管理(文件和文件夾的復制、創建和刪除)
從當前表復制出表或其它類型的文件(表須打開)
COPY TO filename [FIELDS 欄位名列表] [常用子句] [其它子句]
如果沒有指定類型,則復制一個與當前的表相同的數據表。
復製表的結構
COPY STRUCTURE TO filename [FIELDS欄位名列表]
復制任何文件:
COPY FILE 源文件 TO 目的文件
如果用此命令復製表,表須關閉
從磁碟上刪除任意文件:
(1)ERASE filename|?
(2)DELETE FILE [filename|?]
任意文件改名(或文件移動到另一文件夾):
RENAME filename1 TO filename2
其中filename1和filename2都可以包含路徑。如二者不在同一文件夾,則將filename1移動到filename2所在的文件夾。
顯示一個文件夾中的文件信息:
DIR | DIRECTORY [ON drive]
從磁碟上刪除一個文件夾:
RD | REDIR 文件夾名
在磁碟上建立一個文件夾:
MD | MKDIR文件夾名
六、數據的復制與傳送
單個記錄與數組間的數據傳送
當前記錄 → 數組或內存變數:
SCATTER [FIELDS欄位名列表][MEMO]TO 數組名 [BLANK] | MEMVAR [BLANK]
其中[BLANK]表示建立一個空元素的數組。如果用MEMVAR子句,則表示將各欄位的值復制到同名同類型的內存變數。
如果包含MEMO子句,則備注欄位一起復制。
數組或內存變數 → 當前記錄
GATHER FROM 數組名 | MEMVAR [FILEDS欄位名列表] [MEMO]
用同名的內存變數或數組中的第一行置換當前記錄,如果數組為多行的二維數組,也只用第一行。
成批記錄與數組間的數據傳送
表 → 數組:
COPY TO ARRAY arrayname [常用子句]
數組 → 表:
(1) APPEND FROM ARRAY arrayname [ FOR 條件][FIELDS欄位名列表]
用內存數組的值加在數據表的尾部,數據中的一行對應一個新記錄,一列對應一個欄位。
(2) REPLACE FROM ARRAY數組名 [常用子句]
用內存數組的值更新數據表中符合條件的記錄。
查詢結果 → 數組:
SELECT …… INTO ARRAY arrayname
將SQL SELECT語句的查詢結果傳給數組arrayname。這里「SELECT ……」可為各種形式的SELECT查詢語句。
給內存變數賦值:
STORE 表達式 TO 變數名
或
變數名=表達式
七、排序與索引
將當前表排序後建立一個新數據表:
SORT TO 文件名 ON 欄位名1 [/A | /D] ;
[/C] [ 欄位名2 [/A | /D] [/C] ...];
[ASCENDING | DESCENDING] [常用子句];
建立單索引文件:
INDEX ON 表達式 TO 單索引文件名;
[FOR<條件>] [UNIQUE] [COMPACT];
[ASCENDING][DESCENDING][ADDITIVE]
建立復合索引文件:
INDEX ON 表達式 TO TAG 索引名 [OF 復合索引文件名];
[FOR 條件] [UNIQUE|CANDIDATE];
[ASCENDING][DESCENDING][ADDITIVE]
使用索引文件:
打開表時將索引文件一並打開,USE命令帶INDEX子句:
USE tablename|? [IN 工作區號][INDEX 索引文件名列表|?]
給當前表打開一個或多個索引文件:
SET INDEX TO〔索引文件名列表|?〕;
[ORDER 索引文件名序號|索引文件名|[TAG]索引名 [OF 復合索引文件名] ;
[ASCENDING][DESCENDING]〕
指定字元欄位在排序或索引時的整理系列:
SET COLLATE TO 整理系列
對於漢字字元串,「整理系列」可以是「Machine」、「PinYin」或「Stroke」三者之一(必須帶引號),分別表示按機器碼、拼音和筆劃排序。
指定當前表中的控制索引文件或標記:
SET ORDER TO;
[索引文件名序號|索引文件名|[TAG]索引名 [OF 復合索引文件名];
[IN 工作區號|表別名];
[ASCENDING][DESCENDING]
刪除索引
DELETE TAG ALL [OF 復合索引文件名]
DELETE TAG 索引標識1 [OF 復合索引文件名1];
[,索引標識2 [OF 復合索引文件名2]]…
八、查找和定位
順序查找當前表中滿足條件的第一條記錄:
LOCATE FOR 條件下[范圍][WHILE條件]
找到後將記錄指針定位在滿足條件的第一條記錄,且函數FOUND()的返回值為真。
在索引表中查找:
FIND cExpr
其中cExpr為字元串表達式。如果找到,則記錄指針定位在滿足條件的第一條記錄,且函數FOUND()的返回值為真;查找失敗時,FOUND()的返回值為假,記錄指針定位在文件尾。
在索引表中查找:
SEEK eExpr;
[ORDER 索引文件名序號|索引文件名|[TAG]索引名 [OF 復合索引文件名] ;
[ASCENDING][DESCENDING]〕;
[IN 工作區號|表別名]
如果找到,則記錄指針定位在滿足條件的第一條記錄,且為真;查找失敗時,FOUND()的返回值為假,記錄指針定位在文件尾。
繼續查找:
CONTINUE
用LOCATE、 FIND或 SEEK查找到一條記錄後,用CONTINUE繼續查找下一條。
用以上查找命令LOCATE、 FIND、SEEK和CONTINUE的查找結果,都可以通過函數FOUND()的返回值反映出來。
九、統計計算
統計表中的記錄數:
COUNT [范圍] [FOR 條件] [WHILE 條件][TO內存變數名]
統計滿足條件的記錄數,顯示記錄數或將結果賦給內存變數名。
求和:
SUM [表達式列表];
[范圍] [FOR 條件] [WHILE 條件][TO內存變數名|TO ARRAY 數組名]
求平均值:
AVERAGE [表達式列表];
[范圍] [FOR 條件] [WHILE 條件][TO內存變數名|TO ARRAY 數組名]
對當前表中數值型欄位進行分組求和:
TOTAL TO tablename ON 欄位名[常用子句]
其中tablename為存放結果的表文件名,欄位名為確定求和分組的欄位。
計算:
CALCULATE 表達式列表;
[范圍] [FOR 條件] [WHILE 條件][TO內存變數名|TO ARRAY 數組名]
其中表達式列表可以是如下函數的任意組合:
AVG(nExpr), CNT(), MAX(eExpr), MIN(eExpr), NPV(nExpr1, nExpr2,…),
STD(nExpr),SUM(nExpr),VAR(nExpr)
其中nExpr為數值表達式,eExpr為任意表達式。
十、程序控制
條件語句:
IF 條件 [THEN]
……
[ELSE]
[……]
ENDIF
多分支語句:
DO CASE
CASE 邏輯表達式1
……
CASE 邏輯表達式2
……
CASE 邏輯表達式n
……
[OTHERWISE]
……
ENDCASE
DO循環:
DO WHILE 條件
[LOOP]
……
[EXIT]
……
ENDDO
FOR循環
FOR 循環變數=初值 TO 終值 STEP 步長
……(中間可插入[LOOP]或[EXIT])
ENDFOR | NEXT
掃描循環(對一個表中滿足條件的記錄進行循環):
SCAN [范圍] [FOR 條件] [WHILE 條件]
……(中間可插入[LOOP]或[EXIT])
ENDSCAN
集合掃描循環
FOR EACH Var IN Group
Commands
[EXIT]
[LOOP]
ENDFOR | NEXT [Var]
十一、其它
定義數組:
DECLARE | DIMENSION 數組名(下標1,下標2,……)
定義過程:
PROCEDURE 過程名
PARAMETERS 參數表
……
RETURN [TO MASTER | TO 程序名]
定義函數:
FUNCTION 函數名
PARAMETERS 參數表
……
RETURN 表達式
調用一個子程序或過程
DO 子程序名 | 過程名 [IN 程序文件名][WITH 實在參數表]
定義公共變數:
PUBLIC 變數名列表
PUBLIC [ARRAY] 數組名1(行1,列1)[, 數組名2(行2,列2) [,…]]
定義私有變數
PRIVATE變數名列表
PRIVATE ALL[LIKE | EXCEPT 通配符]
定義局部變數
LOCAL 變數名列表
LOCAL [ARRAY] 數組名1(行1,列1)[, 數組名2(行2,列2) [,…]]
顯示各種信息:
LIST … (格式見有關手冊)
DISPLAY … (格式見有關手冊)
輸出提示信息:
WAIT [<提示信息>] [TO <內存變數>];
[WINDOW[AT[<行>,< 列>] [NOWAIT]];
[CLEAR|NOCLEAR];
[TIMEOUT<數值表達式>]
各種設置命令:
設置是否顯示日期中的世紀:
SET CENTURY ON | OFF
設置顯示的小數位數:
SET DECIMALS TO 小數位數
設置是否處理帶刪除標記的記錄:
SET DELETED ON | OFF
如果設置為ON,則不處理帶刪除標記的記錄。
設置是否顯示命令的結果:
SET TALK ON | OFF
設置文件的搜索路徑:
SET PATH TO 路徑
設置傳給子程序或自定義函數的參數是按值還是按引用方式傳遞:
SET UDFPARMS TO VALUE | REFERENCE
如設置為TO VALUE,表示按值傳遞。
執行一個外部命令或程序:
RUN 命令或程序
在指定的位置顯示或列印:
@行,列 SAY …
在指定的位置顯示表達式的值,並等待用戶輸入,將輸入值賦給一變數:
@行,列 SAY 表達式 GET 變數名 [DEFAULT 表達式]
READ
例:
@2,2 say "請輸入金額: " get nMoney default 50
Read
此例先在第2行、第2列顯示"請輸入金額: ",等待用戶輸入一個數值,將用戶輸入值賦給變數nMoney,如果用戶不輸入數值(直接按回車),則將50賦給nMoney。請注意在下一行不能漏掉「Read」。
② 跪求整理好的VF指令
<P>APPEND 在表的末尾添加一個或多個新記錄</P>
<P>APPEND FROM 從一個文件中讀入記錄,追加到當前表的尾部</P>
<P>AVERAGE 計算數值表達式或欄位的算術平均值</P>
<P><FONT color=#f70909>BROWSE 打開瀏覽窗口,顯示當前或選定表的記錄</FONT></P>
<P>CHANGE 顯示要編輯的欄位</P>
<P>CLOSE 關閉各種類型的文件</P>
<P>COPY STRUCTURE 用當前選擇的表結構創建一個新的空自由表</P>
<P>COPY TO ARRAY 將當前選定表中的數據復制到數組</P>
<P>COPY TO 用當前選定表的內容創建新文件</P>
<P>COUNT 統計表中記錄數目</P>
<P>CREATE 生成一個新的VisualFoxPro表</P>
<P>CREATE DATABASE 創建並打開一個資料庫</P>
<P>DELETE 給要刪除的記錄做標記</P>
<P>DELETE DATABASE 從磁碟上刪除資料庫</P>
<P>DELETE VIEW 從當前資料庫中刪除一個SQL視圖</P>
<P>DISPLAY 在VisualFoxPro主窗口或用戶自定義窗口中顯示與當前表有關的信息</P>
<P>DISPLAY DATABASE 顯示有關當前資料庫的信息,或當前資料庫中的欄位、命名連</P>
<P>接、表或視圖的信息</P>
<P>DISPLAY MEMORY 顯示內存變數和數組的當前內容</P>
<P>DISPLAY STRUCTURE 顯示一個表文件的結構</P>
<P>DISPLAY VIEWS 顯示當前資料庫中關於SQL視圖的信息以及SQL視圖是否基於本地</P>
<P>或遠程表的信息</P>
<P>DROP TABLE 把一個表從資料庫中移出,並從磁碟中刪除它</P>
<P>DROP VIEW 從當前資料庫中刪除指定的SQL視圖</P>
<P>FIND 查找記錄</P>
<P>GO|GOTO 將記錄指針移動到指定記錄上</P>
<P>INSERT 插入記錄</P>
<P>JOIN 將兩個資料庫文件合並</P>
<P><FONT color=#ff3300>LIST 連續顯示表或環境信息</FONT></P>
<P>LIST DATABASE 連續顯示有關當前資料庫的信息</P>
<P>LOCATE 按順序搜索表從而找到滿足指定邏輯表達式的第一個記錄</P>
<P>MODIFY DATABASE 打開資料庫設計器,讓你能夠交互地修改當前資料庫</P>
<P>MODIFY STRUCTURE 顯示表設計器</P>
<P>MODIFY VIEW 顯示視圖設計器</P>
<P>OPEN DATABASE 打開一個資料庫</P>
<P>PACK 從當前表中永久刪除標有刪除標記的記錄</P>
<P>RECALL 恢復所選表中帶有刪除標記的記錄</P>
<P>SCAN...ENDSCAN 運行掃描數據表文件</P>
<P>SCATTER 從當前記錄中把數據復制到一組內存變數或數組中</P>
<P>SEEK 查找記錄命令</P>
<P>SELECT 激活指定工作區</P>
<P>SET DELETED 指定VisualFoxPro是否處理標有刪除標記的記錄,以及其他命令是</P>
<P>否可以操作它們</P>
<P>SET INDEX 打開一個或多個索引文件,供當前表使用 ;</P>
<P>SET RELATION 在兩個打開的表之間建立關系</P>
<P>SKIP 使記錄指針在表中向前移動或向後移動</P>
<P>SUM 對當前選定表的指定數值欄位或全部數值欄位進行求和</P>
<P>TOTAL 計算當前選定表中數值欄位的總和</P>
<P>UPDATE 更新資料庫文件的記錄</P>
<P>USE 打開一個表及其相關索引文件,或打開一個SQL視圖</P>
<P>ZAP 從表中刪除所有記桌,只留下表的結構</P>
<P><FONT face=黑體color=#0968f7><STRONG>二、索引及排序命令</STRONG></FONT></P>
<P>COPY INDEXES 從單項索引.IDX文件創建復合索引標識</P>
<P>DELETE TAG 從復合索引(.CDX)文件中刪除標識</P>
<P>INDEX 創建一個索引文件,利用該文件可以按某種邏輯順序顯示和訪問表記錄</P>
<P>SET ORDER 指定表的主控索引文件或標識</P>
<P>SORT 對當前選定表進行捧序,井將捧過序的記錄輸出到新表中</P>
<P><FONT face=黑體color=#1111ee><STRONG>三、Visual FoxPro環境設定命令</STRONG></FONT></P>
<P>DISPLAY STATUS 顯示VisualFoxPro環境的狀態</P>
<P><FONT face=黑體color=#1111ee><STRONG>四、SET 設定命令</STRONG></FONT></P>
<P>SET CONSOLE 激活或廢止從程序中向VisualFoxPro主窗口或活動的用戶自定義窗</P>
<P>口的輸出</P>
<P>SET DEFAULT 指定默認的驅動器、目錄或文件夾</P>
<P>SET DEVICE 將@…SAY的輸出結果定向到屏幕、列印機或文件</P>
<P>SET EXACT 指定比較不同長度兩個字元串時,VisualFoxPro使用的規則</P>
<P>SET PATH 指定查找文件的路徑</P>
<P>SET SAFETY 設定確認模式</P>
<P>SET TALK 決定VisualFoxPro是否顯示命令結果</P>
<P><FONT face=黑體color=#0909f7><STRONG>五、Visual FoxPro文件管理命令</STRONG></FONT></P>
<P>COPY FILE 復制任何類型的文件</P>
<P>DELETE FILE 從磁碟上刪除文件</P>
<P>RENAME 把文件名稱更改為一個新名稱</P>
<P>TYPE 顯示文件的內容</P>
<P><FONT face=黑體color=#1a42e6><STRONG>六、Visual FoxPro輸入輸出命令</STRONG></FONT></P>
<P>?|?? 計算表達式的值,並輸出計算結果</P>
<P>\|\\ 文字直接輸出命令</P>
<P>CLEAR 從內存中釋放指定項</P>
<P>CREATE FORM 打開表單設計器</P>
<P>DIR或DIRECTORY 顯示目錄或文件夾中文件的信息</P>
<P>DO FORM 運行用表單設計器創建的、編譯過的表單或表單集</P>
<P>INPUT 由用戶輸入數據</P>
<P>MODIFY FORM 打開表單設計器,從中可以修改或創建一個表單</P>
<P>MODIFY QUERY 打開查詢設計器,從中可以修改或創建一個查詢</P>
<P>MODIFY SCREEN 打開表單設計器</P>
<P>READ 讀取已建立的對象</P>
<P><FONT face=黑體color=#1111ee><STRONG>七、Visual FoxPro菜單命令</STRONG></FONT></P>
<P>DEFINE MENU 創建菜單欄</P>
<P>DEFINE PAD 在用戶自定義菜單欄或Ⅵsu81FoxPro系統菜單欄上創建一個菜單標題</P>
<P>MENU 建立菜單</P>
<P>MENU TO 啟動菜單</P>
<P>MODIFY MENU 打開菜單設計器,從中可以修改或創建菜單系統</P>
<P><FONT face=黑體color=#0909f7><STRONG>八、Visual FoxPro列印命令</STRONG></FONT></P>
<P>MODIFY REPORT 打開報表設計器,從中可以修改或創建一個報表</P>
<P>SET PRINTER 打開或者關閉向列印機的輸出,或將結果輸出到一個文件、埠</P>
<P><FONT face=黑體color=#0000ff><STRONG>九、Visual FoxPro程序管理命令</STRONG></FONT></P>
<P>&& 標明程序文件中非執行的內部注釋的開始</P>
<P>* 標明程序文件中非執行的注釋行的開始</P>
<P>CANCEL 結束當前VisualFoxPro程序的執行</P>
<P>DECLARE 創建一維或二維數組</P>
<P>DIMENSION 創建一維或二維內存變數數組 '</P>
<P>DOCASE...ENDCASE 分支判斷命令</P>
<P>DO 執行一個VisualFoxPro程序或過程</P>
<P>DOWHILE...ENDDO 循環語句</P>
<P>EXIT 從DOWHILE、FOR或SCAN循環中退出</P>
<P>FOR...ENDFOR 循環語句</P>
<P>IF…ENDIF 判斷語句</P>
<P>MODIFY COMMAND 打開一個編輯窗口,從中可以修改或創建程序文件</P>
<P>PARAMETERS 將調用程序傳來的數據賦值給私有內存變數或數組</P>
<P>PRIVATE 在當前程序中隱藏指定的、在調用程序中定義的內存變數或數組</P>
<P>PROCEDURE 用在程序文件中標識一個過程的開始</P>
<P>PUBLIC 定義全局內存變數或數組</P>
<P>QUIT 結束當前VisualFoxPro工作期,並將控制權返回給操作系統</P>
<P>RELEASE 從內存中刪除內存變數和數組</P>
<P>RESTORE FROM 恢復保存在內存變數文件或備注欄位中的內存變數和內存變數數組</P>
<P>,並把它們放回到內存中</P>
<P>RETURN 將程序控制返回給調用程序</P>
<P>SAVE TO 把當前內存變數和數組保存到內存變數文件或備注欄位中</P>
<P>SET PROCEDURE 打開過程文件</P>
<P>WAIT 顯示信息並暫停VisualFoxPro的執行,按某個鍵或單擊滑鼠後繼續執行</P>
<P><FONT face=黑體color=#1111ee><STRONG>十、Visual FoxPro日期及時間命令</STRONG></FONT></P>
<P>SET DATE 指定日期表達式和日期時間表達式的顯示格式</P>
<P><FONT face=黑體color=#0909f7><STRONG>十一、Visual FoxProSQL命令</STRONG></FONT></P>
<P>ALTER TABLE-SQL 以編程方式修改表的結構</P>
<P>DELETE-SQL 給要刪除的記錄做標記</P>
<P>INSERT-SQL 在表尾追加一個包含指定欄位值的記錄</P>
<P>SELECT-SQL 從一個或多個表中檢索數據</P>
<P>UPDATE-SQL 以新值更新表中的記錄</P>
<P><FONT face=黑體color=#0909f7><STRONG>十二、Visual FoxPro類及程序庫命令</STRONG></FONT></P>
<P>DEFINE CLASS 創建一個用戶自定義類或子類,並為創建的類或子類指定屬性、事</P>
<P>件和方法</P>
<P>DISPLAY OBJECTS 顯示有關一個對象或一組對象的信息</P>
<P>MODIFY CLASS 打開類設計器,讓用戶修改已有的類定義或創建新的類定義</P>
一、命令
1.use 表名 打開表
2.List 顯示表記錄,但不能修改
3.browse 瀏覽表記錄,可以修改
4.display 顯示記錄指針指向的記錄
5.append 追加記錄
6.append blank 追加空白記錄
7.insert blank 插入空白記錄
8.delete 邏輯刪除記錄,記錄前出現星號
9.pack 物理刪除,將邏輯刪除的記錄徹底刪除
10.recall 記錄恢復
11.zap 刪除表裡的所有記錄
12.go n 指向第n條記錄
13.go top 指向第一條記錄
14.go bottom 指向最後一條記錄
15.skip n 往下跳n條記錄
16.skip -n 往上跳n條記錄
17.? 從屏幕的下一行的第一列起顯示結果
18.? ? 從當前行當前列起顯示結果
19.use sb to sb() 復制sb表給sb()表
20.recno() 記錄號函數
21.bof() 上溢出
22.eof() 下溢出
23.dimension x(4) 定義數組x,裡面有四個元素,其中每個元素的默認值為.F. declare和dimension 相同
24.replace 替換
25.add 表示增加欄位
26.distinct 不重復記錄
27.error 錯誤
28.continue 繼續
29.else if 否則
30.column 列
31.input 顯示數值
32.accept 顯示字元串
33.wait 是彈出的一個信息框
34.drop 刪除欄位或刪除表
35.otherwise 其它情況
36.check 規則
37.cursor 臨時表
38.build 連編
二、VF里文件類型
1.項目 .pjx project 2.資料庫 .dbc database
3.表 .dbf table 4.菜單 .mnx .mpr menu
5.程序 .prg 6.表單 .scx form
7.報表 .frx report 8.查詢 .qpr query
9.視圖 .vue view 10.文件 .txt
11.備注型文件 .fpt
三、例題
1.creat table student(學號 c(6),姓名c(8),性別c(2),年齡n(2)) 創建學生表
2.insert into student values("001","張三","男",20) 插入一條學生記錄
3.alter table student alter 學號 c(8) 將學號欄位的寬度改為8
4.alter table student rename 學號 to 學生編號 將學號欄位重命名為學生編號
5.alter table student drop 年齡 將年齡欄位刪除
6.alter table student add 所在院系c(10) 為student表增加一個欄位
7.select *from student into table xusheng 將表student復制給表xuesheng
8.update student set 成績=成績+10 where 性別="男" 將男生的成績提高10分
9.delete from student where 性別"女" 冊除所有女生的記錄
10.alter table student alter 學號 set check left(學號,2="00")
四、創建、運行與修改
1.create database 123 創建資料庫123
modify database 123 修改資料庫123 (注意:alter在SQL中修改表結構)
2.modify command 123 修改程序123
do 123 運行程序123
3.create form 123 創建表單123
modify form 123 修改表單123
do form123 運行表單123
4.create menu 123 創建菜單123
modify menu 123 修改菜單123
do 123.mpr 運得菜單123
5.modify query 123 修改查詢123
do 123.qpr 運得查詢123
6.modify report 123 修改報表123
report form 123 運行報表123
7.drop view 123 刪除視圖123
create view 123 創建視圖123 (打開視圖用use)
五、排序
1.sort to nl on 年齡 按年齡升序排列,產生一個新表nl
2.sort to cj on 成績/d 按成績降序排列,產生一個新表cj
六、索引
1.index on 姓名 tag xm //按姓名升序建立普通索引,索引標識為xm//
2.index on 性別 tag xb //按性別升序建立普通索引,索引標識為xb//
3.index on 成績 tag cj descending //按成績降序建立普通索引,索引標識為cj//
4.index on 性別 tag xb1 unique(唯一索引) //按性別升序建立唯一索引,索引標識為xb1//
5.index on 年齡 tag nl candidate //按年齡升序建立候選索引,索引標識為nl//
6.index on 性別+str(成績) tag xbcj //按性別升序,如性別相同按成績升序建立普通索引,索引標識為xbcj//
7.index on 性別+str(成績) tag xbcj1 descending //按性別降序,如性別相同按成績降序建立普通索引,索引標識為xbcj1//
8.index on 年齡-成績/1000000 tag nlcj //按年齡升序,如年齡相同按成績降序建立普通索引,索引標識為nlcj//
9.index on 年齡-成績/1000000 tag nlcj1 descending //按年齡降序,如年齡相同按成績升序建立普通索引,索引標識為xbcj1//
七. 命令
set index to 打開當前的一個或多個索引文件並確定主控索引文件(to後加東西是打開,不加是關閉)
set order to 確定主控索引
locate 順序查找滿足條件的記錄,並且指向它
seek 索引查找
count 記數命令
sum 求和命令
average 求平均值命令
total 匯總命令
max 求最大值
min 求最小值
八.SQL查詢結構
1.select 欄位列表 要顯示的欄位
2.from 表名列表 查詢涉及到的所有表
3.where 條件 條件
4.into 目標 查詢結果輸出到哪去
5.group by 條件表達式 對記錄進行分組
6.having 篩選條件 選擇符合條件的分組
7.order by 關鍵字 對查詢結果按某幾個欄位進行排序
8.top 數值表達式 對顯示表的前幾個記錄
九.程序結構
1.順序結構
2.選擇結構:(1)if 條件表達式 (2)if 條件表達式 (3)do case
語名序列 語名序列1 case 條件表達式1
endif else 語句序列1
語句序列1 case 條件表達式2
endif 語句序列2
case 條件表達式3
語句序列3
3.循環結構:(1)for (2)do while 條件表達式 (3)scan(掃描)
循環體 循環體 循環體
endfor enddo endscan
Loop 重新回到循環的最開始 input to x 從鍵盤輸入一個數給變數x
exit 結束循環跳出循環 accept to y 從鍵盤輸入一個字元串給變數y
set sysmenu to default 退出菜單
thisform.release 退出表單
thisform.refresh 刷新表單
十.函數
數值型函數
函數名 功能 例子 結果
1.abs() 求絕對值 ?abs(-4) 4
2.sqrt() 求平方根 ?sqrt(4) 2
3.int() 取整數 ?int(7.5) 7
4.max() 求最大值 ?max(3,4,5) 5
5.min() 求最小值 ?min(3,4,5) 3
6.mod() 取余 ?mod(11,3) 2
7.round() 四捨五入 ?round(3.1415,3) 3.142
8.ceiling() 返回不小於某值 ?ceiling(3.3) 4
的最小整數
9.floor() 返回不大於指定數
的最大整數 ?floor(3.3) 3
十一.字元處理函數
1.substr() 求子串 ?substr("abcd",2,2) "bc"
2.left() 取左串 ?left("abcd",2) "ab"
3.right() 取右串 ?right("abcd",2) "cd"
4.len() 求串長 ?len("abcd") 4
5.at() 求一個串在另一個
串中出現的位置 ?at("bc","abcd",1) 2
6.space() 輸出空格 ?space(4) " "
7.upper() 將小寫字母轉換成
大寫字母 ?upper("aBc") "ABC"
8.lower() 將大寫字母轉換成
小寫字母 ?lower("aBc") "abc"
9.val() 將字元串轉換為數值 ?val("3.14") 3.14
10.str() 將數值轉換為字元串 ?str(3.14,5,1) "3.1"
11.alltrim() 去掉字元串前面和後面的空格去掉 ?alltrim("abcd") "abcd"
12.stuff 修改字元串 ?stuff("good boy",5.3) "goodgirl"
十二.日期處理函數
1.date() 當前日期 6.ctod() 將字元轉換為日期 ?ctod("10/1/99") {10/01/99}
2.time() 當前時間 7.dtoc() 將日期轉換為字元 ?dtoc({10/01/99}) "10/01/99"
3.year() 取年函數 8.dtos() 將日期轉換為年月日
4.month() 取月函數 格式字元串 ?dtos({10/1/99}) "19991001"
5.day() 取日函數
十三.項目下有六個選項卡
③ 關於vf中foxpro的各項命令,希幫忙填寫說明和舉例
ADATABASES() 將所有打開資料庫的名稱和路徑放到內存變數數組中
ADBOBJECTS() 把當前資料庫中的命名連接名、關系名、表名或sQL視圖名放到一個內存變數數組中
AFIELDS() 把當前表的結構信息存放在一個數組中,並且返回表的欄位數
ALIAS() 返回當前表或指定工作區衰的別名
ASESSIONS() 創建一個已存在的數據工作期ID數組
ATAGINFO() 創建一個包含索引和鍵表達式的名字、數量和類型信息的數組
AUSED() 將一個數據工作期中的表別名和工作區存入內存變數數組
BOF() 確定當前記錄指針是否在表頭
CANDIDATE() 判斷索引是否為候選索引
CDX() 根據指定的索引位置編號,返回打開的復合索引(.CDX)文件名稱
CPDBP() 返回一個打開表所使用的代碼頁
CREATEOFFLINE() 由已存在的視圖創建一個游離視圖
CURSORGETPROP() 返回VisualFoxPro表或臨時表的當前屬性設置
CURSORSETPROP() 指定VisualFoxPro表或臨時表的屬性設置
CURSORTOXML() 轉換VisualFoxPro臨時表為XML文本
CURVAL() 從磁碟上的表或遠程數據源中直接返回欄位值
DBC() 返回當前資料庫的名稱和路徑
DBF() 返回指定工作區中打開的表名,或根據表別名返回表名
DBSETPROP() 給當前資料庫或當前資料庫中的欄位、命名連接、表或視圖設置一個屬性
DELETED() 返回一個表明當前記錄是否標有刪除標記的邏輯值
DESCENDING() 是否用DESCENDING關鍵字創建了一個索引標識
DROPOFFLINE() 放棄對游離視圖的所有修改,並把游離視圖放回到資料庫中
EOF() 確定記錄指針位置是否超出當前表或指定表中的最後一個記錄
FCOUNT() 返回衰中的欄位數目
FIELD() 根據編號返回表中的欄位名
FILTER() 返回SETFILTER命令中指定的表篩選表達式
FLDLIST() 對於SETmELDS命令指定的欄位列表,返回其中的欄位和計算結果欄位表達式
FLOCK() 嘗試鎖定當前表或指定表
FOR() 返回一個己打開的單項索引文件或索引標識的索引篩選表達式
FOUND() 如果CONTINUE、FIND、LOCATE或SEEK命令執行成功,函數的返回值為"真"
FSIZE() 以位元組為單位,返回指定欄位或文件的大小
GETFLDSTATE() 返回一個數值,標明表或臨時表中的欄位是否已被編輯,或是否有追加的記錄,或者記錄的刪除狀態是否已更改
GETNEXTMODIFIED() 返回一個記錄號,對應於緩沖表或臨時表中下一個被修改的記錄
HEADER() 返回當前或指定表文件的表頭所佔的位元組數
IDXCOLLATE() 返回索引或索引標識的排序序列
INDBC() 如果指定的資料庫對象在當前資料庫中,則返回"真"(.T.)
INDEXSEEK() 在一個索引表中搜索第一次出現的某個記錄
ISEXCLUSIVE() 判斷一個表或資料庫是以獨占方式打開的
ISFLOCKED() 返回表的鎖定狀態
ISREADONLY() 判斷是否以只讀方式打開表
ISRLOCKED() 返回記錄的鎖定狀態
KEY() 返回索引標識或索引文件的索引關鍵字表達式
KEYMATCH() 在索引標識或索引文件中搜索一個索引關鍵字
LOOKUP() 在表中搜索欄位值與指定表達式匹配的第一個記錄
LUPDATE() 返回一個表最近一次更新的日期
MDX() 根據指定的索引編號返回打開的.CDX復合索引文件名
MEMLINES() 返回備注欄位中的行數
MLINE() 以字元串形式返回備注欄位中的指定行
NDX() 返回為當前表或指定表打開的某一索引(JDX)文件的名稱
ORDER() 返回當前表或指定表的主控索引文件或標識
PRIMARY() 檢查索引標識,如果為主索引標識,就返回"真"(.T.)
RECCOUNT() 返回當前或指定表中的記錄數目
RECNO() 返回當前表或指定表中的當前記錄號
RECSIZE() 返回表中記錄的大小(寬度)
REFRESH() 在可更新的SQL視圖中刷新數據
RELATION() 返回為給定工作區中打開的表所指定的關系表達式
SEEK() 在一個已建立索引的表中搜索一個記錄的第一次出現位置
SELECT() 返回當前工作區編號或未使用工作區的最大編號
SETFLDSTATE() 為表或臨時表中的欄位或記錄指定欄位狀態值或刪除狀態值
SQLCANCEL() 請求取消一條正在執行的SQL語句
SQLCOLUMNS() 把指定數據源表的列名和關於每列的信息存儲到一個VisualFoxPro臨時表中
SQLCOMMIT() 提交一個事務
SQLCONNECT() 建立一個指向數據源的連接
SQLDISCONNECT() 終止與數據源的連接
SQLEXEC() 將一條SQL語句送入數據源中處理
SQLGETPROP() 返回一個活動連接的當前設置或默認設置
SQLMORERESULTS() 如果存在多個結果集合,則將另一個結果集合復制到VisualFoxPro臨時表中
SQLPREPARE() 在使用SQLEXEC()執行遠程數據操作前,可使用本函數使遠程數據為將要執行的命令做好准備
SQLROLLBACK() 取消當前事務處理期間所做的任何更改
SQLSETPROP() 指定一個活動連接的設置
SQLSTRINGCONNECT() 使用一個連接字元串建立和數據源的連接
SQLTABLES() 把數據源中的表名存儲到VisualFoxPro臨時表中
SYS(14) 索引表達式
SYS(21) 控制索引編號
SYS(22) 控制標識名或索引名
SYS(2011) 返回當前工作區中記錄鎖定或表鎖定的狀態
SYS(2012) 返回表的備注欄位塊大小
SYS(2021) 篩選索引表達式
SYS(2029) 返回與表類型對應的值
SYS(3054) Rushmore優化等級 ·
TAG() 返回打開的.CDX多項復合索引文件的標識名,或者返回打開的.IDX單項索引文件的文件名
TAGCOUNT() 返回復合索引文件(.CDX)標識以及打開的單項索引文件(.IDX)的數目
TAGNO() 返回復合索引文件(.CDX)標識以及打開的單項索引(.IDX)文件的索引位置
TARGET() 返回一個表的別名,該表是SETRELATION命令的INTO子句所指定關系的目標
UNIQUE() 用於測試索引是否以惟一性方式建立
UPDATED() 用於測試在最近的READ命令中,數據是否已被修改
USED() 確定是否在指定工作區中打開了一個表
XMLTOCURSOR() 轉換XML文本到VisualFoxPro游標或表
----------------------------------------------
Visual FoxPro日期和時間函數
CTOD()把字元表達式轉換成日期表達式。
CDOW()從給定日期或日期時間表達式中返回星期值。
CMONTH()返回給定日期或日期時間表達式的月份名稱。
CTOD()把字元表達式轉換成日期表達式。
CTOT()從字元表達式返回一個日期時間值。
DATE()返回由操作系統控制項的當前系統日期,或創建一個與2000年兼容的日期值。
DATETIME()以日期時間值返回當前的日期和時間, 或創建一個 2000 兼容的日期時間值。
DAY()以數值型返回給定日期表達式或日期時間表達式是某月中的第幾天。
DMY()從一個日期型或日期時間型表達式返回一個「日-月-年」格式的字元表達式(例如,31 May 1995)。月名不縮寫。
DTOC()由日期或日期時間表達式返回字元型日期。
DTOS()從指定日期或日期時間表達式中返回 yyyymmdd 格式的字元串日期。
DTOT()從日期型表達式返回日期時間型值。
GOMONTH()對於給定的日期表達式或日期時間表達式,返回指定月份數目以前或以後的日期。
HOUR()返回日期時間表達式的小時部分。
MDY()以「月-日-年」格式返回指定日期或日期時間表達式,其中月份名不縮寫。
MINUTE()返回日期時間型表達式中的分鍾部分。
MONTH()返回給定日期或日期時間表達式的月份值。
QUARTER()返回一個日期或日期時間表達式中的季度值。
SEC()返回日期時間型表達式中的秒鍾部分。
SECONDS()以秒為單位返回自午夜以來經過的時間。
SYS(1)以日期數字字元串的形式返回當前系統日期。
SYS(2)返回自午夜零點開始以來的時間,按秒計算。
SYS(10)將 (Julian) 日期轉換成一個字元串。
SYS(11)將日期格式表示的日期表達式或字元串轉換成 (Julian) 日期。
TIME()以 24 小時制、8 位字元串(時:分:秒)格式返回當前系統時間。
TTOC()從日期時間表達式中返回一個字元值。
TTOD()從日期時間表達式中返回一個日期值。
WEEK()從日期表達式或日期時間表達式中返回代表一年中第幾周的數值。
YEAR()從指定的日期表達式中返回年份。
Visual FoxPro字元函數
ALLTRIM(). 刪除指定字元表達式的前後空格符
ASC() 返回字元表達式中最左邊字元的ANSI值
AT() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
AT_C() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
ATC() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
ATCC() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的位置
ADDBS() 如果必要,向一個路徑表達式添加一個反斜杠
ATCLINE() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中第一次出現的行號
ATLINE() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中首次出現的行號
BETWEEN() 判斷一個表達式的值是否在另外兩個相同數據類型的表達式的值之間
CHR() 根據指定的ANSI數值代碼返回其對應的字元
CHRTRAN() 將第一個字元表達式中與第二個表達式的字元相匹配的字元替換為第3個表達式中相應的字元
CHRTRANC() 將第一個字元表達式中與第二個表達式的字元相匹配的字元替換為第3個表達式中相應的字元
CPCONVERT() 把字元、備注欄位或字元表達式轉換到其他代碼頁
CHRSAW() 確定一個字元是否出現在鍵盤緩沖區中
CHRTRAN() 在一個字元表達式中,把與第二個表達式字元相匹配的字元替換為第三個表達式中相應字元
CHRTRANC() 將第一個字元表達式中與第二個表達式的字元相匹配的字元替換為第三個表達式中相應的字元
DIFFERENCE() 返回0到4間的一個整數,表示兩個字元表達式間的相對語音差別
EMPTY() 確定表達式是否為空值
GErWORDCOUNr() 計數一個中中的單詞數
GETWORDNUM() 從一個串中返回一個指定的詞
INLIST() 判斷一個表達式是否與一組表達式中的某一個相匹配 '
ISALPHA() 判斷字元表達式的最左邊一個字元是否為字母
ISBLANK() 判斷表達式是否為空值
ISDIGIT() 判斷字元表達式的最左邊一個字元是否為數字(0到9)
ISLEADBYTE() 如果字元表達式第一個字元的第一個位元組是前導位元組,則返回"真"(.T.)
ISLOWER() 判斷字元表達式最左邊的字元是否為小寫字母
ISMOUSE() 判斷計算機是否具有滑鼠
ISNULL() 判斷計算結果是否為NULL值
ISUPPER() 判斷字元表達式的第一個字元是否為大寫字母(A~z)
LEFT() · 從字元表達式最左邊一個字元開始返回指定數目的字元
LEPTC() 從字元表達式最左邊一個字元開始返回指定數目的字元
LEN() 返回字元表達式中字元的數目
LENC() 返回字元表達式中字待的數目
LIKE() 確定一個字元表達式是否與另一個字元表達式相匹配
LIKEC() 決定一個字元表達式是否與另一個字元表達式相匹配
LOWER() 以小寫字母形式返回指定的字元表達式
LTRIM() 刪除指定的字元表達式的前導空格,然後返回得到的表達式
OCCURS() 返回一個字元表達式在另一個字元表達式中出現的次數
OEMTOANSI() 用於將字元串表達式中的字元轉換成與其相對應的ANSI字元集中的字元
PADL()、PADR()、PADC() 由一個表達式返回一個字元中,並從左邊,右邊或同時從兩邊用空格或字元把該字元串填充到 指定長度
PROPER() 從字元表達式中返回一個字元串,字元串中的每個首字母大寫
RAT() 返回一個字元表達式或備注欄位在另一個字元表達式或備注欄位內第一次出現的位置,從最右 邊的字元算起
RATC() 返回一個字元表達式在另-個字元表達式或備注欄位最後一次出現所在的行號,從最後-行算起
RATLINE() 回一個字元表達式或備注欄位在另一個字元表達式或備注欄位中最後出現的行號,從最後一行 開始計數 。
REPUCATE() 返回一個字元串,這個字元串是將指定字元表達式重復指定次數後得到的
RIGHT() 從一個字元串的最右邊開始返回指定數目的字元
RIGHTC() 從一個字元串中返回最右邊指定數目的字元
RTRIM() 刪除了字元表達式後續空格後,返回結果字元串
SOUNDEX() 返回指定的字元表達式的語音表示
SPACE() 返回由指定數目的空格構成的字元串
STR() 返回與指定數值表達式對應的字元
STRCONV() 將字元表達式轉換成另一種形式
STREXTRACT() 返回一個兩個分隔符間的串
STRTRAN() 在第一個字元表達式或備注欄位中,搜索第二個字元表達式或備注欄位,並用第3個字元表達-式或備注欄位替換每次出現的第2個字元表達式或備注欄位
STUFF() 返回一個字元串,此字元串是通過用另一個字元表達式替換現有字元表達式中指定數目的字元得到的
STUFFC() 返回一個字元串,此字元串是通過用另一個字元表達式替換現有字元表達式中指定數目的字元、得到的
SUBSTR() 從給定的字元表達式或備注欄位中返回字元串
SUBSTRC() 從給定的字元表達式或者備注欄位返回字元串
SYS(15) 替換字元串中的字元
SYS(20) 轉換德文文本
TEXTMERGE() 提供串表達式的求值 。
TRIM() 返回刪除全部後綴空格後的指定字元表達式
TXTWIDTH() 按照字體平均字元寬度返回字元表達式的長度
TYPE() 計算字元表達式,並返回其內容的數據類型
UPPER() 用大寫字母返回指定的字元表達式
----------------------------------------------
Visual FoxPro數值函數
ABS() 返回指定數值表達式的絕對值
ACOS() 返回指定數值表達式的反餘弦值
ASIN() 返回數值表達式的反正弦弧度值
ATAN() 返回數值表達式的反正切弧度值
ATN2() 返回指定值的反正切值,返回值無象限限制
BINTOC() 將整型用二進制字元型表示 。
BITAND() 返回兩個數值型數值在按位進行AND運算後的結果
BITCLEAR() 清除一個數值型數值的指定位(將此位設置成0),並返回結果值
BITLSHIFr() 返回一個數值型數值向左移動給定位後的結果
BrrNOT() 返回一個數值型數值按位進行NOT運算的結果
BITOR() 返回兩個數值型數值按位進行OR運算的結果
BITRSHIFF() 返回一個數值型數值向右移動指定位後的結果
BITSET() 將一個數值型數值的某一位設置為1並返回結果
BITTEST() 確定一個數值型數值的指定位是否為1
BITXOR() 返回兩個數值型數值按位進行異或運算的結果
CEILING() 返回大於或等於指定數值表達式的最小整數
COS() 返回數值表達式的餘弦值
CTOmN() 將二進制字元型表示轉換為整數
DTOR() 將度轉換為弧度
EVALUATE() 計算字元表達式的值並返回結果
EVL() 從兩個表達式中返回一個非空值
EXP() 返回eAx的值,其中x是某個給定的數值型表達式
FLOOR() 對於給定的數值型表達式值,返回小於或等於它的最大整數
FV() 返回一筆金融投資的未來值
INT() 計算一個數值表達式的值,並返回其整數部分
LOG() 返回給定數值表達式的自然對數(底數為c)
LOGl0() 返回給定數值表達式的常用對數(以10為底) ·
MAX() 對幾個表達式求值,並返回具有最大值的表達式
MIN() 計算一組表達式,並返回具有最小值的表達式
MOD() 用一個數值表達式去除另一個數值表達式,返回余數
MTON() 由一個貨幣型表達式返回一個數值型值
NORMALIZE() 把用戶提供的字元表達式轉換為可以與VisualFoxPro函數返回值相比較的格式
NTOM() 由一個數值表達式返回含有四位小數的貨幣值
NVL() 從兩個表達式返回一個非null值
PAYMENT() 返回固定利息貸款按期兌付的每一筆支出數量
PI() 返回數值常數n
PV() 返回某次投資的現值
RAND() 返回一個0到1之間的隨機數
ROUND() 返回圓整到指定小數位數的數值表達式
RTOD() 將弧度轉化為度
SIGN() 當指定數值表達式的值為正、負或0時,分別返回1、-1或0
SIN() 返回一個角度的正弦值 ·
SQRT() 返回指定數值表達式的平方根
SYS(2007) 返回一個字元表達式的檢查求和值
TAN() 返回角度的正切值
VAL() 由數字組成的字元表達式返回數字值
④ 怎樣才能學好Visual FoxPro
學習Visual FoxPro(VFP)的關鍵在於掌握其基本操作與命令。首先,了解如何通過命令方式打開數據表是一個基礎步驟。
以將文件名為"sj.dbf"、位於"D:\VFP"下的數據表,用VFP打開為例。具體操作如下:打開VFP軟體,然後在命令窗口輸入命令「use d:\vfp\sj.dbf」(注意輸入路徑與文件名時需確保路徑正確無誤),按下回車鍵。接著,輸入命令「browse」,同樣按下回車鍵。這時,數據表的內容就會在屏幕上顯示出來。
使用命令「use」與「browse」時,應該參考VFP的官方文檔或教程,以確保正確理解和運用。這些命令通常用於管理與操作資料庫文件,如打開、瀏覽、關閉資料庫文件等。深入理解這些命令的用法,將有助於更高效地使用VFP進行數據管理和開發。
在學習VFP的過程中,建議多實踐操作,結合理論知識進行學習。嘗試在不同的場景下使用VFP的各種功能,如編寫簡單的查詢、創建表單、進行數據處理等,這樣有助於加深理解並提高應用能力。
同時,掌握VFP的語法結構和常見函數的使用,能夠幫助快速定位並解決問題。在學習過程中,遇到不懂的問題時,可以查閱官方文檔或在線資源,或者向有經驗的開發者請教。不斷積累經驗,逐步提升解決問題的能力。
最後,持續學習和實踐是提高VFP技能的關鍵。關注軟體更新和新功能,不斷拓寬知識面,適應技術發展的需求。通過參與項目實踐,將所學知識應用於實際問題解決中,能夠進一步鞏固和提升技能水平。
⑤ VFP:運行表單的命令
VFP:運行表單的命令是Do Form 。
Do Form命令:
運行窗體設計器創建的已編譯窗體或窗體集。
語法:
DO FORM FormName | ?
[NAME VarName [LINKED]]
[WITH cParameterList]
[TO VarName]
[NOREAD] [NOSHOW]
參數:
formname
指定要運行的窗體或窗體集的名稱。
?
顯示你的對話框,您可以從中選擇一個窗體或窗體設置為運行。
NAME VarName [LINKED]
指定一個變數或數組元素與您可以參考表格或表單集。如果指定了一個不存在的變數時,Microsoft Visual FoxPro自動創建它。如果指定數組元素,數組必須存在您發出DO FORM前。如果指定變數或數組元素已經存在,其內容將被覆蓋。
DO FORM 例子:
下面的示例運行數據表(jwl_jink.scx)
doformD:jwljwl_jink.scx