当前位置:首页 > VFP基础教程1
数据类型
Double
3. 数据容器
VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。 (1) 常量(constants):
一个在操作过程中保持不变的数值或字符串。
常用的常量类型
常量类型 数值型常量 表示方式
-25.36
字符型常量 \中国\
逻辑型常量 日期型常量 .T. .F. {^2005/07/10}
Float Integer General
Memo
(2)变量(variables):
是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。
变量的命名习惯: 类型变量代号 如:cStud 、nCj 、dCsrq ——
分别代表一个字符型、数值型、日期型的变量名
变量的赋值方式: 1) 用 STORE 命令 如:STORE \王兰\2) 用赋值操作符 = 如:cStud = \王兰\变量的作用域: 即变量起使用的有效范围。
定义作用域的关键
字
变量作用域 局部变量
特点
只能在一个函数或过程中被访问,其他过程或函数不能访问此变量的数据。当其所属程序停止运行时,局部变量将被释放。
LOCAL
local variable(本地
变量)
私有变量在 VFP 中是默认的,不需要特殊的关键字定义。但是,如果在更高一级例程
私有变量
(routine)中已经有同名变量,可以用
PRIVATE
PRIVATE 关键字予以声明,以限定其范围。当
private variable
定义此变量的例程结束时,此变量也被相应释放。可使用私有变量在被调用的函数中共享数
据。
可用于所有过程和函数,而不限于定义该变量的过程和函数。可使用全局变量在多个过程或
PUBLIC
函数之间共享数据,在命令窗口中创建的任何
public variable
变量自动具有全局属性。
公共变量
变量的访问:
当变量和字段同名时,字段有优先被访问权。要在变量名前加 m. 或 m -> 以示区别,如 m.cStud (3)数组(array):
是存储在一个变量中由单个变量名引用的有序数据集合。在 VFP中,一个数组中的数据不必是同一种数据类型。常用的有一维数组,二维数组。 数组元素的标识:通过一个数值下标来引用,如 AA[2],AA[2,3] 数组类型的声明:
私有数组 ——用DECLARE 或 DIMENSION定义 全局数组 ——用PUBLIC命定义 局部数组 ——用LOCAL定义 数组元素的赋值: 用赋值语句: 如 AA=45
用SCATTER从当前记录中取特定字段的值赋给数组: 如: scatter fields xh, xm, xb to aa (数组长度、类型自动与所给字段相同)
用 COPY TO ARRAY从当前记录中取所有字段的值赋给数组: 如: copy to array aa
(数组长度、类型自动与表中全部字段相同) 把数组中的数据传给当前表中的当前记录:
gather from 数组名 [fields 字段名表] 用数组向当前表添加记录:
append from array 数组名 [for 条件] [[fields 字段名表] (用二维数组可以同时添加多条记录) 数组处理的常用函数:
排序SORT(),搜索ASCAN(),删除ADEL(),插入AINS() (4) 记录:
表中的一行,由字段组成。 (5) 对象:
对象是类的一个实例,类是对拥有数据和一定行为特征的对象集合的描述。VFP对象可以是表单、表单集、控件。
2.2 VFP 6.0的语言成分
1. 命令
即:由用户发出的、指示VFP进行某种操作的指令。 如 USE aaa & 打开 一个名为 aaa.dbf的数据表 2. 函数
即:一个预先编制好的模块,可由VFP程序在任何地方调用。 函数的使用方法:名称、功能、参数、返回值
几个常用函数
名称
命令格式
示例
? SUBSTR(“ABCDEFG”,2,4) 结果是: BCDE
? LEFT(“ABCDEFG”,2) 结果是: AB ? RIGHTT(“ABCDEFG”,4)
结果是: DEFG
? AT(“B”, “ABCDE”) 结果是: 2
SUBSTR( expC,expN1[,expN2 ]) 字符串截
LEFT( expC,expN ) 取函数
RIGHT( expC,expN ) 字符AT ( expC1 , expC2 [ expN ])
串查找函数
? AT(“A”, “ABCDEASD” ) 结果是: 1
? AT(“A”,“ABCDEASD”,2 ) 结果是: 6
? LOWER(“DFGHa”) 结果是: dfgha ? UPPER(“asdf”) 结果是: ASDF ? MAX(15,23,4,56) 结果是: 56 ? MIN(15,23,4,56) 结果是: 4 ? ABS(-15.83) 结果是: 15.83 ? INT(25.62) 结果是: 25 ? ALLTRIM(\
结果是: AD B G
? STR(789.678,6,2) 结果是: 789.68 ? CTOD(“98/10/15”)
结果是: 98/10/15
? VAL(\结果是: 123.45 ? DTOC({98/12/15}) 结果是: 98/12/15
? DATE() 结果是: 2000/03/15 ? DATETIME()
结果是: 2000/03/15 10:15:30 ? YEAR({87/03/25}) 结果是: 1987
LEN( )
DELETED()
大小LOWER( expC ) 写字母转
UPPER( expC ) 换函数
MAX(exp1,exp1[,exp3,?]) 数值MIN(exp1,exp1[,exp3,?]) 函数 ABS( expN )
INT( expN )
压缩
空格ALLTRIM( expC ) 函数
STR( expN1[,expN2][,expN3]) CTOD( expC ) 类型转换
VAL( expC ) 函数
DTOC( expD ) DATE() 日期
时间DATETIME() 函数
YEAR( expD )
RECNO( ) DBC( ) SEEK( )
BOF( ) FOUND( ) EMPTY(exp) INLIST(,,) 数据EOF( )
其它
库函RECCOUNT( ) SELECT( ) BETWEEN(,,) IIF(,,)
函数
数 TABLEREVERT( ) LOCK( ) CHR() ASC()
TABLEUPDATE( ) 自定义函数:
由用户为自己的应用程序创建的专用函数,可作为独立的程序文件保存在磁盘上也可作为过程文件存放在其他程序中。
FSIZE( )
TAG()
INKEY()
共分享92篇相关文档