-
考纲所列在
FOXPRO
程序中经常使用的命令
(乐老师整理)
1. CLOSE ALL
功能:关闭所有文件,选择<
/p>
1
号工作区为当前工作区。
2. <
内存变量名
>
=
<
表达式
>
功能:将表达式的值赋给指定的内存变量。若该内存变量不存在,则自动创建。
3. SELECT O
功能:选择当前未使用的最低编号的工作区为当前工作区。
SELECT
<
数据表名
>
功能:当指定的数据表
已在某工作区打开后,指定该数据表所在的工作区为当前工作区。
4. USE <
数据表名
> <
/p>
功能:在当前工作区中打开指定的数据表,将记录指针指向首记录;若该数据表有对应的结
构复合索
引文件,则自动打开它。
5. COPY STRU TO
<
新数据表文件名
> [FIELDS
<
字段名表
>]
功能:把当前表的结构复制到新表,记录不复制;
<
字段名表
>
指定了新表的字段,其中可含其它工作
区中表的字段;若不写
FIELDS <
字段名
表
>
,则把当前表的全部字段复制到新表。
例
1
根据
产生
,结构与
D2
相同,但无记录,在三个不同的工作区中打开
D1
、
D2
和
D3
三
个表文件
.
CLOSE ALL &&
关
闭所有文件,选择
1
号工作区为当前工作区
USE D2
&&
打开数据表
D2
COPY
STRU TO D3 &&
将表
D2
的结构复制到表
D3
SELE O
&&
选择一个未使用的工作区为当前工作区
USE D1
SELE O
USE D3
6. INDEX ON
<
关健表达式
> TAG
<
索引标识符
> [DESCENDING]
功能:对当前表按
<
关健表达式
>
建立结构复合索引。结构复合索引文件的主名与表名相同,扩展名默认为
CDX
,使用时自动随相应的数据表同时打开。一个结构复合索引文件中
可包含多个索引标识符。
DESCENDING
表示按关健字降
序排列,不写
DESCENDING
表示按关健字升序排列。<
/p>
7. SET ORDER TO TAG
<
主索引标识符
>
功能:在结构复合索引文件打开后,指定主索引。在列数据表记录时,
F
oxpro
按指定的主索引来列记
录。即使结构复合索引文件只
含一个索引,也必须用该命令来指定主索引。
例
2
数据表
包括两个字段:
SPDM (
商品代码
)
和
KCL(
库存量
)
。
要求为
D1
建立结构复合索引文件,其
中包括两个索引:一个按商品代码升序排,另一个按库存量降序
排,然后将商品代码设为
主索引。
USE D1
INDE ON SPDM TAG SPDM &&
生成结构复
合索引文件
,其中包括索引
SPDM
INDE ON KCL TAG KCL DESC &&
在
中添加索引
KCL
SET ORDER TO TAG SPDM &&
将索引
SPDM
设为主索引
< br>
8. GO <
记录号
>
功能:将记录指针移到指定的记录。
GO BOTTOM/TOP
功能:
将记录指针移到表的末
记录或首记录;
当索引文件打开时,
BOTTOM
或
TOP
分别为逻辑上的末记
录或首记录。
9. SKIP
[<
数值表达式
>]
功能:以当前记
录为起点,将记录指针向表尾方向
(
若数值表达式的值为正
p>
)
或向表首方向
(
若数值表
达式的值为负
)
移动指定的记
录数;若无
<
数值表达式
>
,表示指针向表尾方向移一条记录。
10.
LOCATE [<
范围
>] FOR
<
条件
>
[CONTINUE]
功能:
在当前表中从头至尾查找满足<
/p>
<
条件
>
的第一
条记录,
若找到,
记录指针指向该记录,
并将函数
FOUND(
)
置为<
/p>
.T.
,否则记录指针指向
<
范围
>
的底部,并将
FO
UND( )
置为
.F.
。
<
范围
>
缺省为
p>
ALL
。
CONTINUE
命令
在用过
LOCATE
命令
的基础上,继续查找下一条满足条件的记录。
11.
INSERT [BEFORE] BLANK
功能:在当前表中插入一条空白记
录,有
BEFORE
表示在当前记录前插入,无
BEFORE
表示在当前记录后插
入。
例
3
在
中商品代码为“
008
”的记
录前插入一条空白记录。
USE D1
LOCA FOR SPDM
=
将记录指针移到
SPDM
为“
008
”的第
1
条记
录
INSE BEFO BLAN
&&
在当前记录前插入一条空白记录
12. APPEND BLANK
功能:在当前表的尾部追加一条空白记录
13. REPLACE
[<
范围
>]
<
字段名
1> WITH
<
表达式
1> [
,
< br><
字段名
2>
WITH <
表达式
2>
??
] [FOR
<
条件
>]
功能:对指定范围内满足
条件的记录,用表达式的值替换字段原来的值。若无
FOR <
条件
>
,范围缺省指
当前记录,若有
FOR <
条件
>
< br>,范围缺省为
ALL
。注意:在
Foxpro
中变量有两种:字段和内存变量,要改
变字段的值
,
应该使用
REPL
命令,
并注意范围和条件的设置;
要设置或改变内存变量的值,
< br>应该使用命令:
<
内存变量
><
/p>
=
<
表达式
><
/p>
。
例
4.
在
的尾部添加一条记录,将首记录的商
品代码存入新记录的商品代码字段。
USE D1
&&
打开表
D1
,
记录指针指向首记录
MSPDM
=
SPDM &&
将首记录的商品代码存入内存变量
MSPDM
APPE BLANK &&
在
D1
表末尾添加一条空白记录,记录指针指向该空白记录
REPL SPDM WITH MSPDM &&
将空白记录中字段
SPDM
的值用变
量
MSPDM
的值替换
14. DELETE
[<
范围
>] [FOR
<
条件
>]
功能:对指定范围内满足条件的记录标上删除标记。若无
FOR
<
条件
>
,范围缺省指当前记录,若有
FOR <
条件
>
,范围缺省为
ALL
。
15. RECALL
[<
范围
>] [FOR
<
条件
>]
功能:对指定范围内满足条件的记录撤消删除标记。若无
FOR
<
条件
>
,范围缺省指当前记录,若有
FOR <
条件
>
,范围缺省为
ALL
。
16. PACK
功能:物理删除所有带删除标记的记录。
例
5.
在
D1
中,把所有库存量为
0
的前一个记
录永久删除掉
(
假定第
1
个记录的库存量不会是
0)
CLOSE ALL
USE D1
DO WHILE NOT EOF() &&
进入循环条件是记录指针未指到数据表末尾
IF
KCL
=
O &&
如果
KCL
字段的值为
0
SKIP -1 &&
则:
(1)
将记录指针移到前一条记录
DELE &&
(2)
标上删除标记
SKIP && (3)
将记录指针移到下一条记录<
/p>
,
即
KCL
为<
/p>
0
的记录
ENDIF
SKIP
ENDDO
PACK
&&
物理删除所有带删除标记的记录
17. COUNT
[<
范围
>] TO
<
内存变量
> [FOR
<
条件
>]
功能:统计当前表中指定
范围内满足条件的记录个数,
<
范围
>
缺省为
ALL
,计数结果赋给指定的内
存变量
例
6.
< br>将
中库存量大于
800
的商品数赋给变量
MSPS
USE
D1
COUNT TO MSPS FOR
KCL
>
800
18. SUM
[<
范围
>]
<
数值表达式表
> TO
<
内存变量表
> [FOR
<
条件
>]
功能:在当前表中对
p>
<
数值表达式表
>
中的各数值表达式累加求和,这里的数值表达式可以是数值型字段,
也可以是包含数值型
字段的表达式,求和的结果依次赋给指定的各内存变量。范围缺省为
ALL
。
例
7.
将
中库存总数量赋给变量
M
KCZL
USE D1
SUM
KCL TO MKCZL
19. AVERAGE
[<
范围
>]
<
数值表达式表
> TO
<
内存变量表
> [FOR
<
条件
>]
功能:在当前表中对
p>
<
数值表达式表
>
中的各数值表达式求平均值,这里的数值表达式可以是数值型字段,
也可以是包含数值型
字段的表达式,求得的平均值依次赋给指定的各内存变量。范围缺省为
ALL
。
考纲所列的函数和运算符
1
.
ABS(
数值表达式
)
作用:返回所指定数值表达式值的绝对值。
< br>2
.
INT(
数值表达式)
p>
作用:返回所指定数值表达式值的整数部分
例:?
INT
(
ABS
(
-3.9
)
)
显示结果
3
3
.
ROUND
(数值表达式
1,
数值表达式
2
)
作用:对数值表达式的值进行四舍五入,数值表达式
2
的值为保留的小数位数
例:?
ROUND
(
1.865,2
)
显示结果
1.87
?
ROUND(78.48
,
0)
显示结果
78
?
ROUND(45.67, -1)
显示结果
50
(
对个位四舍五入,保留到十位
)
4
.
SQRT
(数值表达式)
作用:返回所指定数值表达式值的算术平方根
例:?
SQRT
(
49
)
显示结果
7
5
.
MOD
(数值表
达式
1
,数值表达式
2
)
作用:返回数值表
达式
1
值除以数值表达式
2
值所得到的余数。如果表达式
2
的值是正数,则返
回正余
数;如果表达式
2
的值是负数,
则返回负余数。
例:?
MOD
(
15
,
6
)
显示结果
3