VFP 基本操作
常用命令字符
1.&&----注释;
2.?,??----输出
? 换行输出 ??继续输出
数据类型和变量
1. 字符常量:
使用界符括起来, '' "" []
某一个界符作为字符串中的一个字符,使用其他界符括起来
'西安' [西安理工大学]
2. 数值型常量
整数(正、负、零)、小数(小数新式、指数形式、分数)
数学中的常量符号,不是VFP中的数值常量。可直接输出对应的数值,或内置函数PI()
123 5 1.445E2
3.日期型
默认日期格式: 美国格式:MM/DD/YY
可使用 set date to YMD
输入:日期变量必须严格使用日期格式: {^yyyy-MM-dd} 间隔符: / - . 空格
{^2021/12/27}
4.日期时间型:
日期时间型严格格式:{^yyyy-MM-dd hh:mm:ss}
默认:上午A ,选择 下午 P
{^2021/12/27 8:25:30A}
5.货币型
$ 前缀 保留小数点后4位,并进行四舍五入
可能会超出范围,不支持科学计数
$1234.56
6.逻辑型
.T. .t. .Y. .y. ====真
.F. .f. .N. .n. ====假
变量的基本操作
变量:只可以改变的量
分类:内存变量(一般内存变量、数组变量)、字段变量、系统变量、对象变量
1.变量名的命名规则:
1.由字母(英文字母、中文字符、_)、数字(0-9)组成
2.首字符必须是字母
建议:用户自定义的变量名的首字符不推荐使用_
_作为系统变量的首字符
3.长度:(一个汉字占2个字符常量)
内存变量推荐变量名的长度不超过10个字符
其他变量可以1-128个字符
** 字段名、表中索引的名字,长度不能超过10个字符
4.推荐不使用VFP的关键字做变量名
使用VFP的关键字做变量名,则该关键变量名失去原先的意义
5.内存变量名,尽量不要和其他变量名同名
如同名,使用M. 或 M->表示
xm M.xm M->xm
6.不区分大小写
书写中|显示中,可以区分大小写
使用中,不区分大小写
2.变量的赋值、值确定
赋值: 变量名 = 值(常量、表达式...)
store 值(常量、表达式。。) to 变量名1,变量名2,...变量名n
变量值的类型
变量名 = 值(常量、表达式...)
值,可以是多种类型:字符型、数值型、日期型、逻辑型。。。
多次,给同一个变量名赋不同类型的值,变量名的值的类型,就是最后一个赋值的那个值和那个类型
3.内存变量的显示、清除
1.内存变量的显示
List Memory: 整屏输出显示
Display Memory: 提示滚屏输出显示
like 通配符:输出指定的内存变量
* == 匹配任意个字符
? == 匹配0或者1个字符
2.内存变量的清除|清空
clear memory: 清空用户自定义的内存变量
!! 清空指定的内存变量:release
release all == clear memory
release a
4.一维数组、二位数组的定义和使用
!!必须先声明,再使用
一维数组:向量
声明一维数组:Dimension|Declear 数组名(容量、数组的上界 )
1.使用一维数组:
一维数组名 = 值
?一维数组名 = ? 一维数组名(1)
2.一维数组元素的方式
一维数组名(下标、元素的位置) = 值
**
!数组没有赋值,每个元素默认值为 .F.
!数组中每个元素的值的类型可以不同
!注意不要越界
二位数组:矩阵
声明二维数组:Dimension|Declear 数组名(一维容量、上界,二维数组容量、上界)
1.使用二位数组:
二维数组名 = 值
?二维数组名 == ?二维数组名(1,1)
2.二维数组的元素方式
二维数组名(表示行的下标,表示列的下标)
运算符和表达式的使用
1.+ - * / % ^==**
% 取余运算符
异号:余数为两个数相除的余数加上除数的值
!! 整数才可以做取余运算
^ 平方(小数、开根号运算)运算
日期型
+ 日期型 | 日期时间型和整型 ---> 最小单位 相加
- 两个日期型 | 日期时间型
** 数学上正确的式子,在VFP中可能需要加上()保证运算次序的准确性
2.字符运算符
+ :简单字符数据的连接
-: 空格移位连接
将上一个字符型数据的末尾的空格连接到下一个字符型数据的后面
Ex:?"我爱"+"VFP" ---> 我爱VFP
?"我爱 "-"VFP" ---> 我爱VFP(空格)
3.关系运算符
> >= < <+
= 或 ==
!= 或 <> #
$ 字符串的包含与否
数值型数据: 直接比较
= 或 == 等价
字符型数据: 每个字符的ASCII码的值,字典顺序
= 模糊比较,判断右边的字符串是不是逐一出现在左边的字符串的前面
== 精确比较
比较结果为 .T. .F.
4.逻辑运算符
and 与 一假必假
or 或 一真必真
not 非
函数的练习
1.数值函数
ABS():绝对值;AIGN():符号函数;SQRT():开根号
PI():Π的数值
INT():简单截取整数部分;FLOOR():取比x小的最大的整数; ROUND(x,2):对指定位数|位置(>0,小数点后,=,对小数点,<0 对整数位置部分)进行四舍五入
MOD(x,y):取余操作,与%无区别
MAX(x,y,z,w):最大值
MIN(x,y,z,w):最小值
2.字符串函数
(1) LEN("abcde"): 取字符串长度; "" 空字符串长度为0
(2) LOWER("XI AN"):大写变小写; UPPER("xi an"):小写变大写
(3) SPACE(n):产生n个空格
(4) TRIM():截断右边的空格; LTRIM():截断左边的空格 ALLTRIM():截断两边的空格
(5) LEFT("abcdefgh",3): 左边取三个字符;RIGHT("abcdefgh",3):右边取三个字符 SUBSTR("abcdefgh",3,3):从第三个字符开始截取三个字符
(6)OCCURS("ab","abcdefabab"):一个字符串在后面的字符串中出现了几次
(7)AT("ab","abcdefab",1):前一个字符串在后一个字符串出现的位置
(8)STUFF("abcdefgh",2,4,"xx"):第2个字符开始的4个字符用"xx"替代
3.日期时间函数
DATE():获得日期 TIME():获得时间 DATATIME():获得日期时间
YEAR({^201-2-25}): 获得当前日期的年 MONTH() DAY()
HOUR() MINUTE() SEC()
4.转换函数
(1) STR():将数值型转化成字符型 会进行四舍五入
VAL():将字符型变成数值型
(2) 宏替换函数
5.测试函数
(1) LIKE("ab*","abc"): *通配符,通配0或多个字符
LIKE("ab?","abc"): ?通配符,通配0或1个字符
(2) VARTYPE():判断变量类型
ISNULL():判断是否为空 .NULL:为空
EMPTY():判断字符串是否为空 .NULL: 不为空
VFP数据库操作
表的基本操作
1.使用 【Set Default to E:\】命令,将默认路径改为 【E:\】
2.使用 【表设计器】建立 .dbf 或使用CREATE .dbf 创建表
3.使用 【USE】命令来对表进行操作 【CLOSE ALL】关闭所有表
4.使用 【LIST】/【DISPLAY ALL】 显示表中信息
5.使用 【LIST STRUCTURE】或【DISPLAY STRUCTURE】命令显示某张表的结构,使用【TO FILE <文件名>】 将显示结果输出到文件中
6.使用 【MODIFY STRUCTURE】打开表设计器,设计表结构
7.使用 【COPY STRUCTURE】命令,赋值表到新表,并显示新表结构
表记录的操作
1. BOF():判断是否为表头记录 EOF(): 判断是否为表尾记录 RECNO():当前记录位置 RECCOUNT():总记录数
2. GO top/1: 返回第一条记录
3. SKIP n: 相对偏移n条记录
4. LIST FOR 属性="": 选择符合对应属性值的记录条数
5. LIST FIELDS 属性1,属性2,属性3,属性4: 显示包含属性1 2 3 4对应的记录
= DISPLAY ALL FIELDS 属性1,属性2,属性3,属性4
6. ...... NEXT 10: 显示前十条记录,需保证当前在第一条记录 GOTO 1:返回到第一条记录
7. APPEND 在表后面追加记录
8. 插入和删除记录
(1) Insert、Insert Before:向表中第n条记录之后或之前插入记录并编辑内容
(2) Insert Blank: 向表中插入空记录,使用Edit、Change命令编辑内容
(3) Edit n : 编辑第n条记录
(4) Browse :展示记录信息,并显示当天指向的行
(5) Replace 属性1 with 属性2: 替换属性1的值为属性2
9.复制表的当前记录
(1) Scatter to 命令:将表中当前记录复制到数组中
Scatter fields 属性1,属性2,属性2 To AA
(2) Gather From 命令:将数组复制到表的记录中
表的复制、删除、导出
1.【Copy File to】:将表1复制到表2中
2.【Copy to】: COPY TO 表1 FIELDS 属性1,属性2,属性3 (Type xls)
3.【DELETE FILE】: 彻底删除文件
删除记录
1.【DELETE 】: DELETE FOR 条件 :删除符合条件的记录
2.【RECALL 】: RECALL FOR 条件 :恢复所有符合条件的记录
3.【PACK】: 物理删除所有带删除标记的记录
4.【ZAP】: 物理删除所有的记录
排序
【SORT TO】: SORT TO TEMP ON 排序属性 FIELDS 属性1,属性2,属性3 FOR 条件
计数与统计
1.【COUNT TO】: 统计记录数
2.【SUM TO】: 求和
3.【AVERAGE TO】:求平均数
4.【CALCULATE TO】:统计表中的最高值、最低值、平均值
5.【TOTAL TO 表 ON 属性】:汇总