VFP基本操作

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 属性】:汇总
上一篇:高手从来不用什么框架,摘叶即可飞花,但他们从来没有说BS入门该么做


下一篇:染厂对接WebAPI,对方嫌弃语言太老,说三个月搞不定,我就不信了