FoxPro常用命令Word格式文档下载.docx
《FoxPro常用命令Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《FoxPro常用命令Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用
户输入想要建立的表名。
2、MODIFYSTRUCTURE
显示表文件结构,并允许修改此表的结构。
MODIFYSTRUCTURE
只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND
在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用作用:
的表)。
APPEND[BLANK]
在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT
在表文件中间插入一个新记录。
INSERT[BEFORE][BLANK]
INSERT在当前记录后插入一记录;
INSERTBEFORE在当前记录前插入一记录;
INSERTBEFOREBLANK在当前记录前插入一空记录。
5、BROWSE
主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:
BROWSE
6、USE
打开和关闭表文件。
USE[<
文件名>
]
USE
前一个命令用来打开<
指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);
后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY
显示表(.dbf)的内容、结构或状态。
LIST|DISPLAY[OFF][<
范围>
][FIELDS]<
表达式表>
[WHILE<
][FOR<
][TOPRINT|TOFILE<
LIST|DISPLAYSTRUCTURETOPRINT|TOFILE<
LIST|DISPLAYSTATUS[TOPRINT|TOFILE<
命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:
RECORDn第几号记录、NEXTn当前记录开始的几个记录、REST自当前记录开始至文件末尾的所有记录、ALL所有的记录。
不选范围则隐含范围为ALL;
FIELDS后跟字段名,字段名与字段名之间用逗号分隔。
WHILE后跟条件,FOR后
面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;
FOR后的条件查找所有满足条件的记录。
TOPRINT和TOFILE<
分别表示将显示结果在打印机上打印出来和将显示结果输出到文件。
DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在该命令中,如果省略范围仅显示当前记录。
格式中,下面两个命令分别为显示表结构(STRUCTURE)和工作状态(STATUS)。
8、记录的定位
用记录指针(POINTER)定位记录。
GO[TO]RECORDn|TOP|BOTTOMn
SKIP[+|-]
第一个命令又叫绝对定位,其中,RECORDn定位到n号记录,TOP定位到第1个记录,BOTTOM定位到最后一个记录。
第二个命令定位到第n个记录,n是一个数值。
第三个命令又叫相对定位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记录。
9、CHANGE和EDIT
显示要编辑或修改的字段。
CHANGE|EDIT[<
][FIELDS<
字段名表>
][WHILE<
10、BROWSE
打开一个“浏览”窗口,供用户浏览或修改记录。
BROWSE[FIELDS<
11、REPLACE
用表达式的值代替命令中与之相对应的字段的内容。
REPLACE[<
]<
字段1>
WITH<
表达式1>
[,<
字段2>
表达式2>
][WHILE<
12、DELETE、PACK、ZAP和RECALL
分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的删除标志。
DELETE[<
](特例:
DELETEFILEFILENAME.DBF,该命令删除指定的表文件)
PACK
ZAP
RECALL[<
13、SORT和INDEX
分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式的值从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
SORTTO<
ON<
字段名1>
[/A][/C][/D][,<
字段名2>
[/A][/C]
[/D]]...
[ASCENDING|DESCENDING][<
][FIELDS<
字段表>
INDEXON<
关键字表达式>
TO<
TAG<
标识名>
[OF<
]说明:
第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型关键字而言,ASCENDING和DESCENDING分别表示升序和降序。
第1个命令建立.dbf表文件,第2个命令建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(CompoundIndex)。
14、USE<
表文件名>
INDEX<
索引文件名表>
、SETINDEXTO和SETORDERTO作用:
分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
USE<
SETINDEXTO[<
SETORDERTO[<
索引文件名>
](特例:
重新索引命令:
REINDEX)15、FIND、SEEK和LOCATE及CONTINUE
前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命令行中字符串相同的第一个记录。
后一个命令在用USE打开表文件以后,直接查询表中字段内容。
FIND<
“字符串”>
|<
字符串>
SEEK<
表达式>
LOCATE[<
CONTINUE
FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。
在用LOCATE命令找到一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
16、COUNT
统计当前表文件中符合条件的记录数。
COUNT[<
][TO<
内存变量名>
内存变量名可用除参数外的任意字符。
17、SUM
对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。
SUM[<
][数值<
内存变量名表>
18、AVERAGE
对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。
AVERAGE[<
二、常用函数
1、数学函数
函数用途
ABS(<
数值表达式>
)绝对值,|x|
CEILING(<
)>
=自变量的最小整数
EXP(<
)对基E的幂,e=2.71828FLOOR(<
)<
=自变量的最大整数
INT(<
)取整(舍尾)自变量
LOG(<
)自变量的自然对数,lnx
LOG10(<
)自变量的普通对数,lgxMAX(<
,<
)两个值的最大值
MIN(<
)两个值的最小值
MOD(<
数值表达式1>
数值表达式2>
)求余数
RAND([<
])返回伪随机数
ROUND(<
)四舍五入第一个自变量SIGN(<
)自变量的符号
SQRT(<
)平方根(正根)
2、字符串操作函数
&
<
内存变量>
用于代替内存变量内容
字符串表达式>
)返回字符串表达式的字符个数LEN(
SPACE(<
)生成空格
SUBSTR(<
数值表达式n>
数值表达式L>
])求子字符串,从指定的字符串表达式第n个开始,总长为L的字符串LOWER(<
)将字符串字母转换成小写字母UPPER(<
)将字符串字母转换成大写字母TRIM(<
)删除字符串尾空格
ASC(<
)返回字符串表达式最左边的第一个字符的ASCII码CHR(<
)将数值表达式转换成字符
AT(<
字符串表达式1>
字符串表达式2>
])确定字符串表达式1在字符串表达式2中的位置,n为字符串表达式第几次出现STR(<
][,<
)将数值转换为字符串,L为数值表达式总长,n为小数位数
VAL(<
)将数字字符串转换为数字
TYPE(<
)检测表达式值的数据类型
LTRIM(<
)删除字符串左部空格
RTRIM(<
)删除字符串右部空格
LEFT(<
)取字符串左边部分字符,n为返回的字符个数
RIGHT(<
)取字符串右边部分字符,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版本号的函数
三、主要程序语句
1、条件判断语句
(1)IF<
命令语句组>
ENDIF
如果条件为真,则执行命令语句组中的各语句,否则跳过这些命
令语句不执行,而执行ENDIF后的语句。
(2)IF<
命令语句组1>
ELSE
命令语句组2>
如果条件为真,执行命令语句组1,否则执行命令语句组2。
(3)IF<
条件1>
IF<
条件2>
...
命令语句组N>
进行多重条件的嵌套选择。
(4)DOCASE
CASE<
条件3>
命令语句组3>
条件N>
[OTHERWISE]
[<
命令语句组N+1>
ENDCASE
依次判断条件,转入条件为真的命令语句组中执行。
当所有
条件都不成立时,若有OTHERWISE项,则执行命令语句组N+1,否则执行ENDCASE
后面的语句。
2、循环语句
(1)DOWHILE<
[LOOP]
[EXIT]
ENDDO
判断条件是否为真,如为真就重复执行循环体中的命令语句组,直到条件为假,结束循环。
(2)SCAN
ENDSCAN
在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操作,
直到表文件记录完为止。
VFP常用函数使用说明
1、数值运算函数
函数操作例结果
SQRT(x)求平方根SQRT(9)3
取整数INT(3.14)3INT(x)
ROUND(x)四舍五入ROUND(3.14159,4)3.1416
MOD(25,4)1MOD(x,y)求X除以Y的余数
MAX(x,y)求X,Y中的最大值MAX(7,8)8MIN(x,y)求X,Y中的最小值MIN(1,2,3)12、字符中操作函数
函数名操作例结果
UPPER(S)小写字母UPPER(abc)ABCLOWER(S)大写字母LOWER(ACD)acdLEN(S)求字符串的长度LEN("
中国1号"
)7AT(S1,S2)在字符串S2,找字符串S1AT("
H"
"
CHINA"
)2
SUBSTR(S,I,N)在S字符串中的第I个字符起取N个字符SUBSTR('
TECHNOLO'
3,3)CHNLEFT(S,N)从字符串S左边取N个字符LEFT(“中国人”,4)中国RIGHT(S,N)从字符串S右边取N个字符S=‘12345’RIGHT(S,3)345
SPACE(N)生成N个空格"
合计"
+SPACE
(2)+"
123"
合计123TRIM(S)消除字符串尾部空格TRIM("
姓名"
)姓名ALLTRI(S)消除字符串中所有空格ALLTRIM("
李丽"
)李丽STUFF(S1,N1,N2,S2)用字符串S2替换S1中第N1个字符起的N2个字符STUFF
("
NOW"
2,1,"
E"
)NEW
宏替换P=“G2”
USE&
PUSEG2
3、日期和时间函数
DATE()求当前日期DATE()2001/11/12
DATETIME()求当前日期和时间DATETIME()2001/11/12/0:
22:
33amYEAR(D)求年份YEAR(DATE())2001
MONTH(D)求月份(数值)MONTH(DATETIME())11CMONTH(D)求月份(字符)MONTH(DATETIME())NovenberDAY(D)求日期DAY(DATE())12
DOW(D)求星期几(数值)DOW(DATE())1
CDOW(D)求星期几(英文)CDOW(DATE())sunday
TIME(D)求当前时间TIME(DATE())10:
20:
38am
4、数据类型转换函数
ASC(S)求第一个字符串的ASCII码ASC("
what"
)87
CHR(N)求ASCII码的字符CHR(87)w
STR(R,L,D)数值转换成字符,L为长度,D为小数位数X=3.1415STR(X,6,2)3.14
VAL(S)字符串转换为数值VAL("
)123.00
CTOD(S)字符串转日期CTOD('
11/01/2002'
)11/01/2002DTOC(D)日期转换成字符串DTOC(DATE())11/01/2002DTOS(D)把日期转成年月日式的字符串DTOS(DATE())20021101CTOT(C)字符串转成日期时间型CTOT(11/01/200210:
30:
50am)11/01/2002
10:
50am
DTOT(D)日期型转为日期时间型DTOT(DATE())11/25/200100:
00:
01am
TTOC(T)日期时间型转为字符型TTOC(DATETIME())11/25/200100:
TTOD(T)日期时间型转为日期型TTOD(DATETIME())11/25/2001IIF(LE,E1,E2)逻辑判断IIF(A>
0,"
YES"
NO"
)YES
5、检测函数
RECNO()检测当前记录号RECNO()1
RECCOUNT()检测当前记录数RECCOUNT()12
BOF()开始记录BOF()1
EOF()最后记录EOF()12
FOUND()返回查找结果FOUND().T.
ROW()返回当前行坐标ROW()1
COL()返回当前列坐标COL()1
SYS(N)返回系统状态SYS(13)联机状态