A. VF有哪些常用命令
Visual Foxpro常用命令:
CREATE PROJECT 项目文件名
MODIFY PROJECT 项目文件名
DIMESION/DECLEARE 数组名1(N1,N2),数组名1(N1,N2)……SET DEFAULT TO 默认路径
SET PATH TO 搜索路径
CREATE 新表文件名
APPEND [BLANK]
APPEND FROM 文件名 FIELDS字段列表 FOR条件 DELIMITED WITH 分隔符 | SDF
APPEND FROM ARRAY 数组名 FOR 条件 FIELDS字段列表 |FIELDS LIKE/EXCEPT 通配符
USE 表文件名 EXCLUSIVE/SHARED INDEX 索引文件表 ORDER N | ORDER TAG 索引标识名 OF 复合索引文件名 IN N/别名
LIST/DISPLAY STRUCTURE TO PRINTER | TO FILE 文件名
LIST/DISPLAY FIELDS字段列表 范围FOR条件 WHILE 条件 OFF TO PRINTER | TO FILE 文件名
BROWSE FIELDS字段列表 FOR条件 FREEZE 字段 LOCK 记录数 TITLE 窗口标题
USE
CLOSE ALL
CLOSE TABLE/DATABASE/INDEX/
CLEAR ALL
QUIT
MODIFY STRUCTURE
GO[TO] RECORD N /TOP/BOTTOM
SKIP +N/-N
REPLACE 范围 FOR条件 WHILE 条件 字段1 WITH 表达式1,字段2 WITH 表达式2…… ADDITIVE
DELETE范围 FOR条件 WHILE 条件
RECALL 范围 FOR条件 WHILE 条件
PACK
ZAP
SET DELETED ON/OFF
SET TALK ON/OFF
SET SAFETY ON/OFF
SET STATUS ON/OFF
SET EXACT ON/OFF
SCATTER FIELDS字段列表 [MEMO] TO 数组名 [BLANK] |MEMVAR [BLANK]
GATHER FROM 数组名 | MEMOVAR FIELDS字段列表 [MEMO]
SET FILTER TO 过滤条件
SET FIELDS TO 字段列表/ALL
SET FIELDS ON/OFF
COPY TO 文件名 范围 FOR条件 WHILE 条件 FIELDS字段列表 |FIELDS LIKE/EXCEPT 通配符 DELIMITED WITH 分隔符 | SDF
COPY STRUCTURE TO 新表文件名 FIELDS字段列表
COPY STRUCTURE TO 表结构描述文件名 FIELDS字段列表 EXTENDED
CERATE FROM表结构描述文件名 FIELDS字段列表
SORT TO新表文件名 ON 关键字段列表 范围 FOR条件 WHILE 条件 FIELDS字段列表 |FIELDS LIKE/EXCEPT 通配符
INDEX ON 索引关键字表达式 TO 单索引文件名|TAG 索引标识名 OF 复合索引文件名 FOR 条件 COMPACT ASCENDING/DESCENDING UNIQUE/CANDIDATE
SET INDEX TO 索引文件名表 ADDITIVE
SET ORDER TO N |单索引文件名|TAG 索引标识名 OF 复合索引文件名 ASCENDING/DESCENDING
REINDEX [COMPACT]
DELETE TAG ALL | 索引标识1,索引标识2……
LOCATE 范围 FOR条件 WHILE 条件
CONTINUE
SEEK 表达式 ORDER N |单索引文件名|TAG 索引标识
FIND C型表达式
COUNT范围 FOR条件 WHILE 条件 TO 内存变量
SUM N型字段列表 范围 FOR条件 WHILE 条件 TO 内存变量|ARRAY 数组名
AVERAGE N型字段列表 范围 FOR条件 WHILE 条件 TO 内存变量|ARRAY 数组名
CALCULATE 表达式表 范围 FOR条件 WHILE 条件 TO 内存变量|ARRAY 数组名
TOTAL ON 关键字段 TO 汇总文件名 N型字段列表 范围 FOR条件 WHILE 条件
SELECT N/别名
SET VIEW ON/OFF
SET RELATION TO关联表达式1 INTO 别名1,关联表达式2 INTO 别名2… ADDTIVE
JOIN WITH N/别名 TO 新表文件名 FOR 连接条件 FIELDE 字段列表
CREATE DATABASE 数据库文件名
OPEN DATABASE 数据库文件名 EXCLUSIVE/SHARED NOUPDATE
SET DATABASE TO 数据库名
MODIFY DATABASE 数据库文件名 NOEDIT NOWAIT
USE 数据库名 EXCLUSIVE
CREATE VIEW 视图文件名
CREATE TABLE 表名(字段1 类型(宽度及小数位),字段2 类型(宽度及小数位),……)
ALTER TABLE 表名 ADD 字段 类型(宽度及小数位)
MODIFY 字段名类型(宽度及小数位)
DROP 字段/约束
DROP TABLE 表名
CREATE [UNIQUE][CLUSTER] INDEX 索引名 ON 表名 (字段名 DESC/ASCE,字段名 DESC/ASCE…..)
DROP INDEX 表名.索引名
SELECT ALL/DISTINCT 字段名 FROM 表名1,表名2… INNER/LEFT /RIGHT/FULL JOIN 数据库名!表名 ON 连接条件 INTO 新表名/TO 文件 /TO PRINTER/TO SCREEN WHERE 连接条件 GROUP BY 字段 HAVING 筛选条件 ORDER BY 字段 DESC/ASCE
INSERT INTO 表名(字段列表) VALUES (字段值列表)
UPDATE 表名 SET 字段=表达式,字段=表达式….. WHERE 条件
DELETE FROM 表名 WHERE 条件
CREATE QUERY 查询文件名
MODIFY COMMAND 程序文件名
DO 程序文件
STORE 表达式 TO 变量列表
ACCEPT “提示信息” TO 内存变量
INPUT “提示信息” TO 内存变量
WAIT “提示信息” TO 内存变量
@ X,Y SAY “提示信息” GET 内存变量
READ
?/??/???
TEXT <文本信息> ENDTEXT
CLEAR
RETURN
CANCEL
NOTE /*/&& 注释内容
B. VF程序设计命令
VFP命令、函数及程序语句大全
一、主要命令:
1、CREATE
作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下
同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下
同。)
说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出
对话框,要求用户输入想要建立的表名。在命令中不加文件名或问号系统也会弹出对话框,要求用
户输入想要建立的表名。
2、MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND
作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND
说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参数
时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT
作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE]
说明:INSERT 在当前记录后插入一记录;
INSERT BEFORE 在当前记录前插入一记录;
INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE
作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE
6、USE
作用:打开和关闭表文件。
格式:USE [<文件名
USE
说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的
备注文件(.fpt文件);后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY
作用:显示表(.dbf)的内容、结构或状态。
格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件
[TO PRINT|TO FILE <文件
LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件
LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件
说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n
第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL
所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号分
隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的
条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出
来和将显示结果输出到文件。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在
该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示表结构(STRUCTURE)
和工作状态(STATUS)。
8、记录的定位
作用:用记录指针(POINTER)定位记录。
格式:GO[TO] RECORD n|TOP|BOTTOM
n
SKIP [+|-]
说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,
BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记
录。
9、CHANGE和EDIT
作用:显示要编辑或修改的字段。
格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件
10、BROWSE
作用:打开一个“浏览”窗口,供用户浏览或修改记录。
格式:BROWSE [FIELDS <字段名表
11、REPLACE
作用:用表达式的值代替命令中与之相对应的字段的内容。
格式:REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条件>
] [WHILE<条件
12、DELETE、PACK、ZAP和RECALL
作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的
删除标志。
格式:DELETE [<范围>] [WHILE<条件>] [FOR <条件>] (特例:DELETE FILE FILENAME.DBF,
该命令删除指定的表文件)
PACK
ZAP
RECALL [<范围>] [FOR <条件>] [WHILE<条件
13、SORT和INDEX
作用:分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式的值
从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C] [/D]]...
[ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表
INDEX ON <关键字表达式> TO <文件名>
INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件
说明:第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型
关键字而言,ASCENDING和DESCENDING分别表示升序和降序。第1个命令建立.dbf表文件,第2个命令
建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(Compound Index)。
14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
格式:USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表
SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)
15、FIND、SEEK和LOCATE及CONTINUE
作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命
令行中字符串相同的第一个记录。后一个命令在用USE打开表文件以后,直接查询表中字段内容。
格式:FIND <“字符串”>|<字符串>
SEEK <表达式>
LOCATE [<范围>] [FOR <条件>] [WHILE<条件
CONTINUE
说明:FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。在用LOCATE命令找到
一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
16、COUNT
作用:统计当前表文件中符合条件的记录数。
格式:COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名
说明:内存变量名可用除参数外的任意字符。
17、SUM
作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。
格式:SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件
18、AVERAGE
作用:对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。
格式:AVERAGE [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件
未完
VFP命令、函数及程序语句大全(2)
2003年7月24日
二、常用函数
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]
[<命令语句组
ENDCASE
说明:依次判断条件,转入条件为真的命令语句组中执行。当所有条件都不成立时,若有
OTHERWISE项,则执行命令语句组N+1,否则执行ENDCASE后面的语句。
2、循环语句
格式:(1)DO WHILE <条件>
<命令语句组>
[LOOP]
<命令语句组>
[EXIT]
<命令语句组>
ENDDO
说明:判断条件是否为真,如为真就重复执行循环体中的命令语句组,直到条件为假,结束循
环。
(2)SCAN
<命令语句组>
ENDSCAN
说明:在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操作,直到表文件
记录完为止。
C. VF常用命令动词及其含义
###############################################
数值函数:
1.绝对值和符号函数
格式:ABS(<数值表达式>)
SIGN(<数值表达式>)
例如:ABS(-5)=5,ABS(4)=4,SIGN(8)=1,SIGN(-3)=-1,SIGN(0)=0
2.求平方根表达式
格式:SQRT(<数值表达式>)
例如:SQRT(16)=4,它与开二分之一次方等同。
3.圆周率函数
格式:PI()
4.求整数函数
格式:INT(<数值表达式>)返回数值表达式的整数部分
CEILING(<数值表达式>)返回大于或等于表达式的最小整数
FLOOR(<数值表达式>)返回小于或等于表达式的最大整数
例如:
INT(5.8)=5.8,INT(-7.8)=-7,CEILING(6.4)=7,CEILING(-5.9)=-5
FLOOR(9.9)=9
5.四舍五入函数
格式:ROUND(<数值表达式1>,<数值表达式2>)
功能:返回制定表达式在制定位置四舍五入的结果
例如:
ROUND(345.345,2)=345.35,ROUND(345.345,1)=345.3,ROUND(345.345,0)=345,ROUND(345.345,-1)=350
6.求余函数
格式:MOD(<数值表达式1>,<数值表达式2>)
例如:
MOD(10,3)=1 MOD(10,-3)=-2 MOD(-10,3)=2 MOD(-10,-3)=-1
求余数的规律:1.首先按照两数的绝对值求余
2.表达式1的绝对值大于表达式2的绝对值,则余数为表达式1的值
3.余数取表达式1的正负号
4.若两数异好号,余数在加上表达式2的值为最终的结果
7. 求最大值和最小值函数
MAX(数值表达式列表)
MIN (数值表达式列表)
例如:MAX(2,3,5)=5 MAX(‘2’,’12’,’05’)=2 MAX(‘汽车’,’飞机’,’轮船’)
字符串比较的规律:
字符串比较首先比较第一个字母,如果有结果那就不用在进行比较了。如果相等在进行第二个字母的比较,以次类推。
###############################################
字符函数
1.求字符串长度函数
格式:LEN(<字符表达式>)
功能:返回制定字符表达式的长度,即所包含的字符个数。函数值为数值型
例如:X=“中文Visual FoxPro6.0” 则LEN(X)=20
2.大小写转换函数
格式:LOWER(<字符表达式>)
UPPER(<字符表达式>)
功能:LOWER将制定表达式值中的大写字母转换成小写字母,其他字符不变
UPPER将指定表达式值中的小写字母转换成大写字母,其他字符不变。
例如:LOWER(‘X1y2A’)=x1y2a UPPER(‘n=1’)=N=1
3.空格字符串生成函数
格式:SPACE(<字符表达式>)
功能:返回指定数目的空格组成的字符串。
4.删除前后空格函数
格式:TRIM(<字符表达式>)
LTRIM(<字符表达式>)
ALLTRIM(<字符表达式>)
功能:TRIM():返回指定字符表达式值去掉尾部空格后形成的字符串
LTRIM():返回指定字符表达式值去掉前导空格后形成的字符串
ALLTRIM():返回指定字符表达式值去掉前导空格和尾部空格后形成的字符串。
例如:STORE SPACE(1)+”TEST”+SPACE(3) TO SS
?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)
LEN(SS)=8,LEN(TRIM(SS))=5,LEN(LTRIM(SS))=7,LEN(ALLTRIM(SS))=4
5.取子串函数
格式:LEFT(<字符表达式>,<长度>)
RIGHT(<字符表达式>,<长度>)
SUBSTR(<字符表达式>,<起始位置>,<长度>)
功能:LEFT(): 从指定表达式值的左端取一个指定长度的子串作为函数值。
RIGHT():从指定表达式值的右端取一个指定长度的子串作为函数值。
SUBSTR():从指定表达式值的起始位置取指定长度的子串作为函数值。
例如:STORE “GOOD BYE!” TO X
LEFT(X,2)=GO,SUBSTR(X,6,2)+SUBSTR(X,6)=BYBYE!,RIGHT(X,3)=YE!
6.计算子串出现次数函数
格式:OCCURS(<字符表达式1>,<字符表达式2>)
功能:返回第一个字符串在第二个字符串中出现的次数。
例如:STORE ‘abracadabra’ TO S
OCCURS(‘a’,S)=5, OCCURS(‘b’,S)=2, OCCURS(‘c’,S)=1, OCCURS(‘e’,S)=0
7.求子串位置函数
格式:AT(<字符表达式1>,<字符表达式2>,<数值表达式>)
ATC(<字符表达式1>,<字符表达式2>,<数值表达式>)
功能:验证表达式1是否是表达式2的子串,如果是,返回表达式1的首字符在表达式2中的位置,若不是,则为0
ATC()与AT()的功能类似,但比较时不区分大小写
例如: STORE”This is Visual FoxPro” TO X
AT(“fox”,X)=0,ATC(“fox”,X)=16,AT(“is”,X,3)=10,AT(“xo”,X)
8.子串替换函数
格式:STUFF( <字符表达式1>,<起始位置>,<长度>,<字符表达式2>)
功能:用<字符表达式2>的值替换<字符表达式1>中由<起始位置>和<长度>指明的一个子串。
例如:STORE ‘GOOD BYE!’ TO S1
STORE ‘MORNING’ TO S2
?STUFF(S1,6,3,S2)=GOOD MORNING!
?STUFF(S1,1,4,S2)=MORNING BYE!
9.字符替换函数
格式:CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>)
功能:当第一个字符中的一个或多个字符与第二个字符串中的某个字符相匹配时,就用第三个字符中的对应字符(相同位置)替换这些字符。如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因而没有对应字符,那么第一个字符串中相匹配的各字符将会被铲除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多于字符被删掉。
例如:CHRTRAN(“ABACAD”,”ACD”,”X12”)=XBX1X2
CHRTRAN(“计算机ABC”,”计算机”,”电脑”)=电脑ABC
CHRTRAN(“大家好!”,”大家”,”您”)=您好!
总结:第二个表达式没有的照写,第三个表达式没有的去掉。
10.字符串匹配函数
格式:LIKE(<字符表达式1>,<字符表达式2>)
功能:比较两个字符串对应位置上的字符,若所有对应字符相匹配,函数返回逻辑真(.T.)否则返回逻辑假(.F.)
<字符表达式1>中可以包含通配符*和?。*可与任何数目的字符相匹配,?可以与任何单个字符相匹配。
例如:
STORE “abc” to x
STORE “abcd” to y
LIKE(“ab*”,x)=.T. LIKE(“ab*”,y)=.T. LIKE (x,y)=.F.
LIKE(“?b?”,x)=.T. LIKE(“ABc”,x)=.F
.
###############################################
日期和时间函数
1.系统日期和时间函数:
格式:DATE():返回当前系统日期,函数值为日期型
TIME():以24小时制 、HH:MM:SS格式返回当前系统时间(字符型)
DATETIME():返回当前系统日期时间,函数值为日期时间型
2.求年份、月份、天数函数
格式:YEAR(<日期表达式>|<日期时间表达式>)
MONTH(<日期表达式>|<日期时间表达式>)
DAY(<日期表达式>|<日期时间表达式>)
3.时、分和秒函数
格式:HOUR(<日期时间表达式>)
MINUTE(<日期时间表达式>)
SEC(<日期时间表达式>)
###############################################
数据类型转换函数
1.数值转换成字符串
格式:STR(<数值表达式>,<长度>,<小数位数>)
例如:STORE –123.456 TO N
STR(N,9,2)=-123.46,STR(N,6,2)=-123.5
STR(N,3)=***,STR(N,6)=-123,STR(N)=-123
2.字符串转换成字符
格式:VAL(<字符表达式>)
例如:STORE ‘-123.’ TO X,STORT ‘45’ TO Y
STORE ’A45’ TO Z
VAL(X+Y)=123.45,VAL(X+Z)=123.00,VAL(Z+Y)=0.00
3.字符串转换成日期或日期时间
格式:CTOD(<字符表达式>)转化成日期型数据
CTOT(<字符表达式>)转化成日期时间型数据
4.日期或日期时间转化成字符串
格式:DTOC(<日期表达式>|<日期时间表达式>[,1])
TTOC(<日期时间表达式> [,1])
功能TOC()将日期型数据或日期时间数据的日期部分转化成字符串
TTOC()将日期时间数据转化成字符串
声明:对DTOC()来说,如果选项是1,则字符串的格式总是YYYYMMDD,8个字符。 对TTOC()来说,如果使用选项1,则字符串格式总是YYYYMMDDHHMMSS,14个字符
例如:
STORE DATETIME() TO T
DTOC(T)=11/11/2005, DTOC(T,1)=20051111,
TTOC(T)=11/11/2005 18:54:34 PM TTOC (T,1)=20051111185434
5宏替换函数
格式 :&<字符变量>[.]
功能:替换出字符变量的内容,即去掉定界符。
例如:kk=“456”, ?&kk*100=45600
###############################################
测试函数
1.值域测试函数
格式:BETWEEN(<表达式T>,<表达式L>,<表达式H>)
例如:STORE NULL TO X;STORE 100 TO Y
BETWEEN(150,Y,Y+100)=.T.
BETWEEN(90,X,Y)=NULL
2.空值(NULL值)测试函数
格式:ISNULL(<表达式>)
例如:STORE .NULL. TO X
ISNULL(X)=.T.
3“空”值测试函数
格式:EMPTY(<表达式>)
P76详细讲解
4.数据类型测试函数
格式:VARTYPE (<表达式>[,<逻辑表达式>])
功能:测试表达式的类型,返回一个大写字母,函数值为字符型
2.空值(NULL值)测试函数
格式:ISNULL(<表达式>)
3.表文件尾测试函数
格式:EOF([<工作区号>|<表别名>])
4.表文件头测试函数
格式:BOF([<工作区号>|<表别名>])
5.记录号测试函数
格式:RECNO([<工作区号>|<表别名>])
6记录个数测试函数
RECCOUNT ([<工作区号>
6.条件测试函数
格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>)
功能:测试<逻辑表达式>的值,表达式逻辑若为真,函数返回<表达式1>
的值,若为逻辑假,函数返回<表达式2>的值,<表达式1>和<表达式2>表达式类型不要求相同。
例如:X=100;Y=300
IIF(X>100,X-50,X+50)=150;IIF(Y>100,Y-50,Y+50)=250
7.记录删除测试函数
格式:DELETED([<工作区号>|<表别名>])
=================
假设(if...endif)
循环(do while...enddo)
分支(do case...endcase)
赋值(store...to)
调用表单(do form)
调用子程序(do)
返回调用程序(return)
启动事件处理(read events)
清除事件处理(clear events)
开关命令执行状态(set talk on/off)
结束程序(cancel)
函数
数值转换字符(str())
字符转换数值(val())
取系统日期(date())
取年份(year())
取月份(month())
取天日(day())
取整(int())
四舍五入(round())
删除标记(delete())
记录号(recno())
记录数(reccount())
找到记录(found())
表结尾(eof())
表开头(bof())
消除后续空格(trim())
消除前导空格(ltrim())
D. 关于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() 由数字组成的字符表达式返回数字值
E. 有关VF命令的常用命令
!命令 功能:执行外部操作命令程序 语法:RUN[/N [K> MS-DOSCommand|ProgramName 或者 ![/N [K> MS-DOSCommand|ProgramName $操作符 功能:如果一个字符型表达式包含在另一个字符型表达式中返回真值(.T.),否则返回假值(.F.) 语法:cSearchFor$cScarchIn(如果在cSearchIn中找到了cSearchFor则返回真) %操作符 功能:返回一个数值型表达式除以另一个数值型表达式所得的余数。 语法:被除数%除数 &操作符 功能:执行宏替换 语法:& VarName(内存变量名或数组元素名) ?|??命令 功能:计算机表达式的值,并输出计算结果。 ???命令 功能:把结果直接输出到打印机 A ADD TABLE 命令 功能:在当前数据库中添加一个自由表 语法:ADD TABLE TableName ALTER TABLE——SQL 命令 功能:以编程方式修改表的结构 语法:ALTER TABLE TableName1 (表名) ADD|ALTER [COLUMN]FieleName1 (ADD为添加字段名,后为修改字段名。ADD改为DROP表示删除字段) FieldType[(nFieldSidth[,nPrecision])] (字段的类型、宽度和字段精度) [NULL | NOT NULL] (是否允许字段为空值) [CHECK 1Expression1 [ERROR cMessageText1> (指定了字段的有效性规则) [DEFAULT eExpression1] (指定了字段默认值) [PRIMARY KEY | UNIQUE] (指定了创建主索引标识,索引标识与字段同名) [REFERENCES TableName2 [TAG TagName1> (指定了与之建立永久关系的父表) APPEND 命令 功能:在表的末尾添加一个或多个新记录 语法:APPEND [BLANK] (添加一个空记录) [IN nWorkArea | cTableAlias] (指定要添加新记录的表所在的工作区|要添加新记录的表的别名) [NOMENU] APPEND FROM 命令 功能:从一个文件中读入记录,添加到当前表的尾部。 语法:APPEND FROM FileName|? (指定表名) [FIELDS FiledList] (指定要添加哪些字段数据) [FOR 1Expression] (把条件为真的记录添加到表中) (指定要导入的表的结构类型) [AS nCodePage] AVERAGE 命令 功能:计算数值表达式或字段的算术平均值。 语法:AVERAGE [ExpressionList] (求平均值的表达式) [Scope] [FOR 1Expression1] [WHILE 1Expression2] (指定范围或条件) [TO MemVarList | TO ARRAY ArrayName] (计算结果保存的位置) [NOOPTIMIZE]
F. VF中的各种命令的意思
超级多的~~! ? 在下一行显示表达式串
?? 在当前行显示表达式串
@... 将数据按用户设定的格式显示在屏幕上或在打印机上打印
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 删除当前数据库文件的所有记录(不可恢复)
G. VFP常用的命令代码
VF常用命令和程序命令一、主要命令:
1、CREATE
作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA
,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同
时选择,下同。)
说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会
弹出
对话框,要求用户输入想要建立的表名。在命令中不加文件名或问号系统也会弹出对话框,
要求用
户输入想要建立的表名。
2、MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND
作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND [BLANK]
说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参
数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT
作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]
说明:INSERT 在当前记录后插入一记录;
INSERT BEFORE 在当前记录前插入一记录;
INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE
作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE
6、USE
作用:打开和关闭表文件。
格式:USE [<文件名>]
USE
说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应
的
备注文件(.fpt文件);后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY
作用:显示表(.dbf)的内容、结构或状态。
格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件
>]
[TO PRINT|TO FILE <文件>]
LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>]
LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]
说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:
RECORD n
第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记
录、ALL
所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号
分
隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;
FOR后的
条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上
打印出
来和将显示结果输出到文件。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示
,并且在
该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示表结构(
STRUCTURE)和工作状态(STATUS)。
8、记录的定位
作用:用记录指针(POINTER)定位记录。
格式:GO[TO] RECORD n|TOP|BOTTOM
n
SKIP [+|-]
说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,
BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫
相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后
移一个记录。
9、CHANGE和EDIT
作用:显示要编辑或修改的字段。
格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件>]
10、BROWSE
作用:打开一个"浏览"窗口,供用户浏览或修改记录。
格式:BROWSE [FIELDS <字段名表>]
11、REPLACE
作用:用表达式的值代替命令中与之相对应的字段的内容。
格式:REPLACE [<范围>] <字段1> WITH
H. VF常用命令及其格式请分类叙述(例如对表文件的.对表记录的等)
太多了
1、打开表命令:
USE
表文件名
教材P67
2、关闭表命令:USE
、CLOSE
ALL
P68
3、记录指针定位命令:GO
数值表达式(绝对移动)、SKIP(相对移动)
P69-70
4、替换(修改)记录命令:REPLACE
字段1
WITH
表达式1,字段2
WITH
表达式2……
[范围][FOR<条件>]
P79
5、复制表命令:
COPY
TO
新文件名
[FOR〈条件〉][范围]
P84
复制表结构命令:COPY
STRU
TO
新表文件名
[FIEL
〈字段名表〉]
P85
6、建立索引命令:INDEX
ON
关键字段
TO
单索引文件名
INDEX
ON
关键字段
TAG
索引标识名
P89
7、查询命令:(1)条件查询:LOCATE
FOR
〈条件〉
P93
继续查找命令:CONTINUE
P93
(2)索引查询:FIND
字符表达式
P94
SEEK
表达式
P95
继续查找命令:SKIP
P95
8、选择工作区命令:
SELE
工作区号|别名
P105
9、建立表之间的关联命令:SET
RELATION
TO
关联表达式
INTO
别名
P108
10、表的更新命令:
参考我的课件第三章第五节关于表的更新部分
UPDATE
ON
关键字段
FROM
别名
REPLACE
字段1
WITH
表达式1,字段2
WITH
表达式2
……
[RANDOM]
11、交互式输入命令:
(1)INPUT
[提示信息]
TO
内存变量
P139
(2)ACCEPT
[提示信息]
TO
内存变量
P139
13、输出命令:
?和??
P141
常用命令:
1、设置默认路径命令:
SET
DEFA
TO
盘符:\路径
2、关闭表命令:CLOSE
TABLE,CLEAR
ALL
3、记录显示命令:LIST/DISP
[范围][FOR
〈条件〉]
P72
4、追加记录命令:(1)表尾追加:APPEND
[BLANK]
P80
(2)表中插入:INSERT
[BEFORE]
[BLANK]
P81
P81
(3)从其他文件中追加多条记录到当前表:APPEND
FROM
文件名
[FOR〈条件〉][FIEL
<字段名表>]
5、删除记录命令:DELE
[范围][FOR<条件>]
P82
6、彻底删除带标记记录命令:PACK
7、取消删除标记命令:RECALL
[范围][FOR<条件>]
P83
8、物理删除表中所有记录命令:ZAP
P84
9、复制任何类型文件:COPY
FILE
〈文件名1〉TO
〈文件名2〉
P84
10、将单个记录发送到数组:SCATTER
TO
〈数组名〉[FIEL〈字段名表〉]
P85
11、将数组中的值发送到当前记录命令:GATHER
FROM
数组名
P96
12、将表中多条记录传送到数组命令:COPY
TO
ARRAY
数组名
P86
13、将二维数组中的值传送到表中:
APPEND
FROM
ARRAY
数组名
P87
14、表的排序命令:SORT
ON
〈字段1〉/A|/D,字段2/A|/D
to
新表文件名
P87
15、打开索引文件命令:
SET
INDEX
TO
索引文件名表
P91
16、设置主控索引命令:SET
ORDER
TO
单索引文件名
|TAG
索引标识
P91
17、更新索引文件命令:REINDEX
P92
18、关闭索引文件:SET
INDEX
TO
、CLOSE
INDEX、CLOSE
ALL、CLEAR
ALL、USE
P92
19、删除索引标识命令:DELE
TAG
索引标识名
P92
删除单索引文件命令:DELE
FILE
单索引文件名
P92
20、表的浏览命令:BROWSE
P73
21、记录的过滤命令:SET
FILTER
TO
条件
P76
22、字段的过滤命令:SET
FIELDSS
TO
字段名表
P77
23、表之间的连接命令:JOIN
WITH
别名
TO
新表文件名
FOR
条件
P107
24、设置一对多关系命令:SET
SKIP
TO
别名
P109
25、数据库相关命令:打开:OPEN
DATA
数据库名
P111
新建:CREAT
DATA
数据库名
P111
修改:MODI
DATE
数据库名
关闭:CLOSE
DATA、CLOSE
DATA
ALL、CLOSE
ALL、CLEAR
ALL
设置当前数据库命令:SET
DATA
TO
数据库名
26、程序相关命令:建立/修改程序:MODI
COMMAND
程序文件名
运行程序:DO
程序文件名
27、内存变量/数组赋值命令:=、STORE
P138或P38
28、交互式输入命令:@行,列
SAY
表达式
GET
变量
P139
29、文本输出命令:TEXT
〈输出显示内容〉
ENDTEXT
P143
30、终止程序执行命令:CANCEL、QUIT、RETURN
P143
31、清除主屏幕命令:CLEAR
P143
32、系统设置命令:(1)设置精确比较命令:SET
EXACT
ON/OFF
(2)设置删除标记命令:SET
DELE
ON/OFF
还有很多,就不再一一列举了。
I. VF中的各个命令都指什么啊
命令,就是动作。
比如:立正,稍息。举左手,举右手,出拳,踢脚等。
让一个人做一件事,可以下这样的命令。
想让计算机做一些事情,可以设置一些命令。把这些命令一个接一个地合并起来,就是一个程序(相当于套路)。
VF是处理数据的。
常用命令:
use 打开(或关闭)数据库;
sort 排序;
等等。
更多的您可以找一本书看一看,因为命令太多了。你知道的命令越多,你越能够指挥计算机做更多的,更复杂的事情。