1、22.12.712.1 数据类型2.2 常量、变量与函数2.2 运算符与表达式2.4 VFP 的命令格式2.5 常用函数2.6 常用 VFP 设置命令第第 二二 章章Visual FoxPro基础知识基础知识22.12.72v2.1 数据类型数据类型1.字符型字符型(Character)v 由英文字母、数字、标点符号、空格、中文字符由英文字母、数字、标点符号、空格、中文字符和其他可打印符号组成和其他可打印符号组成.v长度长度:常量和内存变量常量和内存变量255 B;字段变量字段变量254 B2.数值型数值型(Numeric)v 由数字由数字(0 9),正负号正负号(+,-),小数点小数点(.)
2、组成组成,用于表示数值的大小用于表示数值的大小.v长度长度:内存中为内存中为 8 B;字段变量中字段变量中20位位.3.货币型货币型(CurrencY)v专用表示货币的数值型数据专用表示货币的数值型数据,需加货币前缀符需加货币前缀符“$”;v长度长度:8 B.22.12.734.日期型日期型(Date)v由年、月、日组成的数据由年、月、日组成的数据.长度长度:8 B;v取值范围取值范围:0001-01-01 9999-12-31.5.日期时间型日期时间型(DateTime)v由年、月、日加时、分、秒组成的数据由年、月、日加时、分、秒组成的数据.长度长度:8 B;时间取值范围时间取值范围:00:
3、00:00 am 11:59:59 pm6.逻辑型逻辑型(Logical)v有逻辑真值有逻辑真值.T.和和逻辑假值逻辑假值.F.;长度长度:1 B.7.备注型备注型(Memo)v仅用于数据表中的字符型数据仅用于数据表中的字符型数据.在表中在表中 长度长度:4 B,实际内容保存在与表文件同名实际内容保存在与表文件同名(扩展名扩展名.fpt)的的 备注文备注文件件 中中,其长度取决于计算机系统存储空间大小其长度取决于计算机系统存储空间大小.22.12.748.通用型通用型(General)v仅用于数据表中仅用于数据表中,可存储如图片、图像、声可存储如图片、图像、声音、电子表格等音、电子表格等OLE
4、对象和多媒体数据对象和多媒体数据.表中表中长度长度:4 B,实际内容则保存在备注文件中实际内容则保存在备注文件中.9.整型整型(Integer)v仅用于数据表中存储无小数的整数值仅用于数据表中存储无小数的整数值,长度长度:4 B.10.浮点型浮点型(Float)v仅用于数据表中以浮点格式存储的数据仅用于数据表中以浮点格式存储的数据.长长度同度同 N.22.12.7511.双精度型双精度型(Double)v仅用于数据表中存储高精度浮点数的数仅用于数据表中存储高精度浮点数的数据据.v固定长度固定长度:8 B.12.二进制字符型二进制字符型(Character Binary)v 仅用于在数据表中存储
5、不需要系统代仅用于在数据表中存储不需要系统代码页维护的字符数据码页维护的字符数据.13.二进制备注型二进制备注型(Memo Binary)v 仅用于在数据表中存储不需系统代码仅用于在数据表中存储不需系统代码页维护的备注型数据页维护的备注型数据.22.12.76v2.2 常量、变量与函数常量、变量与函数一、常量一、常量在程序运行或操作过程中其数据值不变的量在程序运行或操作过程中其数据值不变的量.v1.字符型常量字符型常量(C):由字母、数字、标点符号、空格、中文字由字母、数字、标点符号、空格、中文字符和其他可打印符号组成符和其他可打印符号组成,用用 定界符定界符(,“”,)界定的界定的 字符串字
6、符串;定界符必须定界符必须 成对成对且在字符串两端且在字符串两端.长度长度255个个ASCII码字符码字符.例如:显示几个字符型常量例如:显示几个字符型常量在命令窗口中输入以下两条命令:在命令窗口中输入以下两条命令:?”计算机计算机”,中国中国,数数据据,ABC”abc”?”学习学习”,字符串字符串,“”,表示方表示方法法22.12.772.数值型常量数值型常量(N):由数字、正负号、小数点组成由数字、正负号、小数点组成.分日常计数法分日常计数法;科学科学计数法。计数法。如如:-2.34E12 表示表示 2.341012.3.货币型常量货币型常量(Y):用于货币用于货币,带前缀符号带前缀符号“
7、$”的数值的数值,其小数位其小数位4位位.4.日期型常量日期型常量(D):v 由年由年,月月,日组成日组成,用用 界定界定.有多种显示格式和有多种显示格式和分隔符分隔符.默认显示默认显示传统日期格式传统日期格式,即美国格式,即美国格式:mm/dd/yy 表示月表示月/日日/年年.v 严格日期格式严格日期格式:yyyy-mm-dd,首字符首字符,年份年份4位位.22.12.78v影响日期格式的设置命令:影响日期格式的设置命令:1、SET MARK TO 系统默认日期分隔符为系统默认日期分隔符为“/”例如:例如:set mark to“*”分隔符被设置为分隔符被设置为*set mark to 还原
8、到系统默认还原到系统默认2、SET DATE TO 设置日期显示格式设置日期显示格式例如:例如:set date to DMY dd/mm/yy set date to MDY mm/dd/yy set date to YMD yy/mm/dd22.12.79v3.SET CENTURY ON|OFF|TO rollover,用于决定如,用于决定如何显示或解释一个日期数据的年份。何显示或解释一个日期数据的年份。v例如:例如:set century on:显示世纪,年份用显示世纪,年份用4位数字表示。位数字表示。v set century off:不显示世纪,年份用:不显示世纪,年份用2位数字表
9、示,是系统默认的设置。位数字表示,是系统默认的设置。v set century onv set strictdate to 0v set century to 20 rollover 88v?02/05/0922.12.710v4.SET STRICTDATE TO 0|1|2v set strictdate to 0:表示不进行严格日表示不进行严格日期检查期检查v set strictdate to 1:表示进行严格日期:表示进行严格日期检查,为系统默认的设置。检查,为系统默认的设置。v set strictdate to 2:表示进行严格日期:表示进行严格日期检查,并且对检查,并且对CTO
10、D()和和CTOT()函数的格函数的格式也有效。式也有效。22.12.7115.日期时间型常量日期时间型常量(T):由日期和时间组成由日期和时间组成,一般格式一般格式:,严格格式严格格式:yyyy-mm-dd,hh:mm:ss am|pm hh,mm,ss 表示时表示时,分分,秒秒;am,pm表示上、下午表示上、下午.v例如:显示日期时间常量例如:显示日期时间常量vSet mark tov?2009-03-22,11:30 p6.逻辑型常量逻辑型常量(L):仅有逻辑真值仅有逻辑真值(.t.T.y.Y.)和和 逻辑假值逻辑假值(.f.F.n.N.);定界符定界符.号不可缺少号不可缺少.22.12
11、.712v二、变量二、变量 变量是存储数据的基本单位变量是存储数据的基本单位.变量中的数据变量中的数据(变量值变量值)在程序运行或操作过程中可以改变在程序运行或操作过程中可以改变.VFP 中中,变量分两大类变量分两大类:字段变量、内存变字段变量、内存变量量.v1.字段变量字段变量(永久性的多值变量永久性的多值变量)依赖于数据表文件而存在依赖于数据表文件而存在,定义数据表定义数据表结构时设定,不能随意删除和改变其数结构时设定,不能随意删除和改变其数据类型据类型;每个字段名是一个字段变量每个字段名是一个字段变量,为为多值变量多值变量;支持支持 13 种数据类型种数据类型;22.12.7132.内存
12、变量内存变量v分类分类:简单变量简单变量;数组变量数组变量;系统变量系统变量.v特点特点:内存变量中的数据会因退出内存变量中的数据会因退出VF而全部丢失。而全部丢失。v数据类型数据类型:取决于所存数据的类型取决于所存数据的类型,支持支持 C,N,Y,D,T,L v命名命名:由字母由字母,数字数字,下划线下划线,中文字符组成中文字符组成,长度长度254 个字符个字符.v优先级优先级:字段变量高于内存变量字段变量高于内存变量;若有同名若有同名,则需加则需加前缀符前缀符:M.|M-简单变量简单变量:v特点特点:每个存储单元对应一个变量名每个存储单元对应一个变量名,赋值与建立同赋值与建立同步步;赋新值
13、代替旧值赋新值代替旧值.22.12.714赋值命令赋值命令:v Store To v 功能说明功能说明:w 将表达式的值存储到指定名的变量中将表达式的值存储到指定名的变量中;w 格式可同时给多个简单变量格式可同时给多个简单变量(用用“,”分分隔隔)赋相同的值赋相同的值;w 格式只给一个简单变量赋值格式只给一个简单变量赋值.22.12.715 数组变量数组变量:v特点特点:若干个存储单元共有一个变量名若干个存储单元共有一个变量名;用用下标区分各存储单元下标区分各存储单元(数组元素数组元素|下标变量下标变量),各元素所存数据及其类型可以相同也可以不各元素所存数据及其类型可以相同也可以不同同;数组必
14、须先定义数组必须先定义,再赋值使用再赋值使用.数组元素数组元素可以统一赋相同的值,也可以分别赋予不同可以统一赋相同的值,也可以分别赋予不同的值,且数据类型也可以各不相同。的值,且数据类型也可以各不相同。22.12.716v数组定义数组定义:v Dimension 数组名数组名1(M1,N1)v Declare 数组名数组名1(M1,N1),(M2,N2)v功能说明功能说明:格式格式 与格式与格式 功能相同功能相同,定义一至若干个一定义一至若干个一维或二维数组维或二维数组;M,N 为一维为一维/二维数组的下标上限值二维数组的下标上限值,下限下限值默认值默认 1,二维数组的元素个数为二维数组的元素
15、个数为 MN;定义后数组元素默认赋定义后数组元素默认赋初值为逻辑假值初值为逻辑假值.F.;同一数组各元素的数据类型可以不相同同一数组各元素的数据类型可以不相同.22.12.717v访问数组变量访问数组变量(数组元素寻址数组元素寻址):下标法下标法:每个数组元素对应一个每个数组元素对应一个(或两个或两个)确切的确切的下标值下标值,如如:A(3);B(2,4).序号法序号法(可用一维数组形式访问二维数组)可用一维数组形式访问二维数组)v按数组元素排列顺序按数组元素排列顺序,只用一个下标值只用一个下标值(序号序号).v序号序号mNNn v例例:Dimension X(3,4)v则则 X(2,3)可用
16、可用 X(2443)X(7)表示表示.v 在屏幕显示命令或表达式中,仅使用数组名所操作的在屏幕显示命令或表达式中,仅使用数组名所操作的是第一个数组元素的值。是第一个数组元素的值。22.12.718数组变量赋值数组变量赋值:数组赋值数组赋值:数组中各元素的数据值相同数组中各元素的数据值相同v格式格式1:Store To v格式格式2:数组元素赋值数组元素赋值:数组中各元素的数据值可不相数组中各元素的数据值可不相同同v格式格式1:Store To v格式格式2:同一运行环境中同一运行环境中,数组变量与简单变量不能同名数组变量与简单变量不能同名.22.12.719v1.简单内存变量赋值简单内存变量赋
17、值v a=100;b=123;store 100 to a,bv2.数组数组v1dimension x(5)vx(1)=12,x(2)=“china”,x(3)=“计算机计算机”,x(4)=$100,x(5)=2009-02-05 v?x(1),x(2),x(3),x(4),x(5)v2declare y(2,2)v y(1,1)=“大家好大家好”,y(1,2)=“我是我是”,v y(2,1)=“vf教程教程”,y(2,2)=“计算机计算机”v?y(1,1),y(1,2),y(3),y(4)22.12.720v 3一次给数组每个元素赋值:一次给数组每个元素赋值:v 以前面的以前面的y(2,2)
18、数组为例:数组为例:v y=“VF学习学习”:这样数组的每个元素的值:这样数组的每个元素的值均为均为“VF学习学习”v 4用用store命令给数组元素赋值命令给数组元素赋值v store“计算机计算机”to y(1,1),y(1,2)3.系统变量系统变量 变量名以变量名以“_”为首字符为首字符,由由 VFP 系统在启系统在启动时自动动时自动定义定义,其中保存着系统运行环境参其中保存着系统运行环境参数数.22.12.721用一维数组形式访问二维数组用一维数组形式访问二维数组123412312371222.12.722v4.常用内存变量操作常用内存变量操作 显示内存变量显示内存变量 List Me
19、mory Like To Print|To File Display Memory Like To Print|To File v 功能说明功能说明:显示当前内存变量的名称显示当前内存变量的名称,作用域作用域,类型类型,值等信息值等信息.Like 子句设置显示符合条件的变量子句设置显示符合条件的变量,通配符为通配符为*|?;*表示任意多个字符,表示任意多个字符,?表示任意一个字符。表示任意一个字符。To 子句设置将信息同时打印输出或保存到指定文件子句设置将信息同时打印输出或保存到指定文件;格式格式 连续显示连续显示,格式格式 分屏显示分屏显示.22.12.723v 清除内存变量清除内存变量 C
20、lear Memory Release Release All Extended Release All Like|Except v功能说明功能说明:清除内存变量清除内存变量,释放它们所占用的内存空间释放它们所占用的内存空间;格式格式 清除所有内存变量清除所有内存变量,格式格式 清除指定内存变量清除指定内存变量;在命令窗口中格式在命令窗口中格式 与格式与格式 功能相同功能相同,在程序中需在程序中需要可选项要可选项;格式格式 中中,Like 子句清除与通配符匹配的内子句清除与通配符匹配的内存变量存变量,而而 Except 子句则清除与通配符不匹配的内存子句则清除与通配符不匹配的内存变量变量;数组
21、变量清除以数组为单位数组变量清除以数组为单位,命令中不能出现数组元素命令中不能出现数组元素.22.12.724v2.2 运算符与表达式运算符与表达式运算符运算符:用来构建表达式用来构建表达式,实现某种运算功能的符号实现某种运算功能的符号.分类分类:算术算术,字符字符,日期时间日期时间,关系关系,逻辑运算符逻辑运算符.表达式表达式:用运算符、圆括号将常量、变量、函数等按用运算符、圆括号将常量、变量、函数等按一定规则连接起来构成的有意义的式子一定规则连接起来构成的有意义的式子.优先级优先级:算术算术字符和日期时间字符和日期时间关系关系逻辑逻辑;优先级相同则按自左向右的顺序优先级相同则按自左向右的顺
22、序,用括号改变顺序用括号改变顺序.v一、算术运算符和数值表达式一、算术运算符和数值表达式1.算术运算符算术运算符:构建数值表达式构建数值表达式,运算对象为运算对象为数值型数值型和和货币型货币型数据数据,结果为结果为数值数值.运算符按优先级排列为运算符按优先级排列为:22.12.725 取负取负-;乘方乘方 ,*;乘除乘除*/;取余取余%;加减加减+-取负是单目运算符取负是单目运算符,对其右边的运算对象取负值对其右边的运算对象取负值;其它均其它均为双目运算符为双目运算符.2.数值表达式数值表达式:运算举例见教材运算举例见教材 P.56.v二、字符串运算符及其表达式二、字符串运算符及其表达式1.字
23、符串运算符字符串运算符:构建字符串表达式构建字符串表达式,运算对象和结果为运算对象和结果为字符串字符串.均为双均为双目运算符且优先级相同目运算符且优先级相同.运算符为运算符为:+将其左右两边的字符串顺序连接成一个新字符串将其左右两边的字符串顺序连接成一个新字符串.-将其左右两边的字符串顺序连接将其左右两边的字符串顺序连接,并将左边字符串尾部并将左边字符串尾部 的空格移到新字符串的尾部的空格移到新字符串的尾部.2.字符串表达式字符串表达式:运算举例见教材运算举例见教材 P.57 22.12.726三、日期时间运算符及其表达式三、日期时间运算符及其表达式v1.日期时间运算符日期时间运算符:构建日期
24、时间表达式构建日期时间表达式.根据运算对象的不同根据运算对象的不同,运算结果可能是日期时间或数值运算结果可能是日期时间或数值.均为双目运算均为双目运算符且优先级相同符且优先级相同.运算符为运算符为:+,-.v2.日期时间表达式日期时间表达式:日期时间表达式中运算符和运算对象的使用日期时间表达式中运算符和运算对象的使用有严格要求有严格要求,不能随意组合。不能随意组合。22.12.727v四、关系运算符及其表达式四、关系运算符及其表达式1.关系运算符关系运算符:v 构建关系表达式构建关系表达式.运算对象可以是运算对象可以是 C,N,Y,D,T,L;其其作用是比较两个表达式值的大小作用是比较两个表达
25、式值的大小,结果为结果为逻辑值逻辑值.均为均为双目运算且优先级相同双目运算且优先级相同.运算符为运算符为:v 等于等于 =;不等于不等于 ,#,!=;小于小于 ;v 小于等于小于等于 ;大于等于大于等于 =;v 字符串精确比较字符串精确比较 =;子字符串包含测试子字符串包含测试$.v =和和$仅能比较字符型数据仅能比较字符型数据,其他可比较各种类型数其他可比较各种类型数据据.2.关系表达式关系表达式:除了除了 D 和和 T 外外,只有同类型的数据只有同类型的数据v 可比较可比较.各种数据类型的各种数据类型的 比较规则比较规则:22.12.728 N 和和 Y 型数据按照数值大小比较型数据按照数
26、值大小比较;D 和和 T 型数据按照早晚顺序比较型数据按照早晚顺序比较,早的日期时间早的日期时间小于晚的日期时间的小于晚的日期时间的;L 型数据型数据,逻辑真值大于逻辑逻辑真值大于逻辑假假值值;$运算是检测运算符左边字符串是否包含在右边运算是检测运算符左边字符串是否包含在右边字符串中字符串中,若包含则为逻辑真值若包含则为逻辑真值,否则为逻辑假值否则为逻辑假值;C 型数据的比较型数据的比较,是对两个字符串从左至右逐个是对两个字符串从左至右逐个对应比较对应比较,遇到第一对不同的字符时遇到第一对不同的字符时,根据当前系统设根据当前系统设置的字符排序顺序确定大小关系置的字符排序顺序确定大小关系,决定两
27、个字符串的决定两个字符串的大小大小.=精确比较只有在两个字符串完全相同时精确比较只有在两个字符串完全相同时,才得才得逻辑真逻辑真.22.12.729 =字符串相等比较与字符串相等比较与 Exact 状态有关状态有关:v Exact 为为 Off 时时,只要右边字符串与左边字符串只要右边字符串与左边字符串前面部分匹配前面部分匹配,即得逻辑真即得逻辑真;v Exact 为为 On 时时,要以长字符串为标准要以长字符串为标准,在短串尾在短串尾部加空格后逐个对应进行比较部加空格后逐个对应进行比较.v3.系统的排序与精确比较设置系统的排序与精确比较设置 排序设置排序设置v菜单操作菜单操作:v 单击单击“
28、工具工具”“选项选项”命令命令,打开打开“选项选项”对对话框话框;v 单击单击“数据数据”标签标签,在在“排序序列排序序列”下拉列表框下拉列表框中选择中选择22.12.730Machine(机器机器)/PinYin(拼音拼音)/Stroke(笔画笔画);单击单击“确定确定”.命令设置命令设置:Set Collate To “”v功能说明功能说明:设置字符排序顺序设置字符排序顺序,排序名是上述三排序名是上述三者之一者之一,必须用必须用“”界定界定.v 精确比较设置精确比较设置v菜单操作菜单操作:在数据标签中选中在数据标签中选中 Set Exact On 复选框复选框.v命令设置命令设置:Set
29、Exact Off|Onv关系表达式举例见教材关系表达式举例见教材 P.59.22.12.731v五、逻辑运算符及其表达式五、逻辑运算符及其表达式1.逻辑运算符逻辑运算符:构建逻辑表达式构建逻辑表达式.运算对象和运算对象和结果均为逻辑型数据结果均为逻辑型数据.运算符按优先级排列为运算符按优先级排列为:v逻辑非逻辑非.Not.,!;v 逻辑与逻辑与.And.;v逻辑或逻辑或.Or.逻辑非单目运算符逻辑非单目运算符,其它双目运算符其它双目运算符;.定界符定界符可省略可省略.2.逻辑表达式逻辑表达式:逻辑运算规则等逻辑运算规则等.22.12.732v若若GZ=580,ZC=“讲师讲师”,XB=“男男
30、”,结果为,结果为.F.的的逻辑表达式为:逻辑表达式为:v(1)GZ550 AND ZC=“助教助教”OR ZC=“讲师讲师”v(2)性别)性别=女女 OR NOT ZC=助教助教v(3)GZ500 AND ZC=讲师讲师 AND XB=男男v(4)GZ=550 AND(ZC=教授教授 OR XB=男男)v下列表达式中,结果为下列表达式中,结果为.F.的是:的是:v(1)()(3530)AND(a A)v(2)()(“123”“456”)AND (123456)v(3)()(3*21)22.12.733v若某职工数据库包括字段性别(若某职工数据库包括字段性别(C,2),),奖金(奖金(N,6,
31、2),要查询奖金在),要查询奖金在1000元元以下或以下或4000元以上的男职工或奖金在元以上的男职工或奖金在2000元以上的女职工,应如何构造逻辑表达式?元以上的女职工,应如何构造逻辑表达式?v性别性别=男男 AND(奖金(奖金=1000 OR 奖奖金金=4000)OR 性别性别=女女 AND 奖金奖金=200022.12.734v2.5 常用函数常用函数函数函数:系统提供系统提供,能实现某种运算或操作的一段程序能实现某种运算或操作的一段程序.格式格式:函数名函数名(参数参数)说明说明:v 函数由函数名和圆括号构成函数由函数名和圆括号构成;v 参数可有参数可有 0 多个多个,参数可为函数参数
32、可为函数,称函数嵌套称函数嵌套;v 函数必有一个确切的返回值函数必有一个确切的返回值,称函数值称函数值;v 函数值的数据类型与参数的数据类型可能相同函数值的数据类型与参数的数据类型可能相同,也可能不同也可能不同;v 函数不能单独使用函数不能单独使用,必须用在表达式中必须用在表达式中.vVFP 函数按功能一般分为五大类函数按功能一般分为五大类:22.12.735v一、数学运算函数一、数学运算函数v用于常见数学运算用于常见数学运算,参数和函数值通常均为数值参数和函数值通常均为数值.1.绝对值绝对值:Abs(N)求求 N 的绝对值的绝对值|N|.2.符号符号:Sign(N)根据根据 N0,=0,0,
33、返回返回 1,0,-1.3.上限取整上限取整:Ceiling(N)返回返回 N 的最小整数的最小整数.4.下限取整下限取整:Floor(N)返回返回 N 的最大整数的最大整数.5.截断取整截断取整:Int(N)截掉截掉 N 的小数的小数,只取整数只取整数.6.四四舍五入舍五入:Round(N1,N2)将将 N1 四舍五入保留四舍五入保留 v N2 位小数位小数.7.指数指数:Exp(N)以自然数以自然数 e 为底为底,N 为指数求为指数求 eN22.12.7368.自然自然对数对数:Log(N)求求自然对数自然对数 Ln N.9.正弦正弦:Sin(N)返回返回 N 的正弦值的正弦值(N 为弧度
34、为弧度).10.余弦余弦:Cos(N)返回返回 N 的的余余弦值弦值(N 为弧度为弧度).11.最大值最大值:Max(N1|D1|T1,N2|D2|T2)取取 N1,N2 或或 D1,D2 或或 T1,T2中较大的值中较大的值.12.最小值最小值:Min(N1|D1|T1,N2|D2|T2)取取 N1,N2 或或 D1,D2 或或 T1,T2中较大的值中较大的值.13.圆周率圆周率:Pi()返回圆周率的值返回圆周率的值.14.平方根平方根:Sqrt(N)求求 N 的平方根的平方根.15.随机数随机数:Rand(N)生成生成 0 1 间的随机数间的随机数;N 为正数为正数,返回相同数返回相同数.
35、22.12.737v二、字符串操作函数二、字符串操作函数v用于对字符型数据的处理用于对字符型数据的处理,参数多为字符型参数多为字符型.1.宏代换宏代换:&.C 替换出替换出字符变量的内容字符变量的内容.2.子串定位子串定位:At(C1,C2)/Atc(C1,C2)返回返回 C1 在在 C2v中出现的起始位置值中出现的起始位置值,Atc()不分大小写不分大小写.3.字符串长度字符串长度:Len(C)返回字符串返回字符串 C 的长度值的长度值.4.删左删左/右空格右空格:Ltrim(C)/Rtrim(C)将将 C 左端或右端的空格删除左端或右端的空格删除.5.删首尾空格删首尾空格:Alltrim(
36、C)将将 C 两端两端的空格都删除的空格都删除.6.左左/右取子串右取子串:Left(C,N)/Right(C,N)从从C的左的左v端或右端取端或右端取 N 个字符个字符.7.取子串取子串:Substr(C,N1,N2)从从C的的N1位置位置取取N2个个字符字符.22.12.7388.大大/小写字符串小写字符串:Upper(C)/Lower(C)v将将 C 中的字母全部转换为大写或小写中的字母全部转换为大写或小写.9.子字符串替换子字符串替换:Stuff(C1,N1,N2,C2 )v用用 C2 替换替换 C1 中从中从 N1 起的起的 N2 个字符个字符.10.字符替换字符替换:Chrtran
37、(C1,C2,C3)v用用 C3 替换替换 C1 中与中与 C2 匹配的字符串匹配的字符串.11.字符串匹配字符串匹配:Like(C1,C2)若若 C1,C2 对应位置对应位置v字符串匹配字符串匹配,返回逻辑真值返回逻辑真值,否则为逻辑假值否则为逻辑假值.12.生成空格字符串生成空格字符串:Space(N)生成生成N个空格字符个空格字符串串.13.统计子字符串出现次数统计子字符串出现次数:Occurs(C1,C2)v返回返回 C1 在在 C2 中出现的次数值中出现的次数值.22.12.739v三、日期时间函数三、日期时间函数v用于对日期时间数据进行运算处理用于对日期时间数据进行运算处理.1.系
38、统日期系统日期,时间时间:Date();Time();DateTime()v分别返回系统当前日期分别返回系统当前日期;24小时制小时制,hh:mm:ss 格式格式的系统当前时间的系统当前时间;系统当前的日期时间系统当前的日期时间.2.年年,月月,日日:Year(D|T);Month(D|T);Day(D|T)v分别返回给定参数中的年份分别返回给定参数中的年份;月份月份;日期日期.均为数值均为数值.3.时时,分分,秒秒:Hour(T);Minute(T);Sec(T)v分别返回分别返回 24 小时制的小时小时制的小时;分钟分钟;秒数秒数.均为数值均为数值.4.年月日格式年月日格式:Dmy(D|T
39、);Mdy(D|T)v分别返回英文的日分别返回英文的日,月月,年和月年和月,日日,年年;均为字符型均为字符型.22.12.740v四、类型转换函数四、类型转换函数v用于将某种数据类型转换成另一种类型用于将某种数据类型转换成另一种类型.1.字符转字符转ASCII码码:Asc(C)v将将 C 的首字符转换为对应的的首字符转换为对应的 ASCII 码值码值.2.ASCII码转字符码转字符:Chr(N)v将将 N 作为作为 ASCII 码值转换为对应的字符码值转换为对应的字符.3.字符串转数值字符串转数值:Val(C)将字符串将字符串 C 左端连续左端连续v的数字的数字字符字符串转换为数值串转换为数值
40、.4.数值转字符串数值转字符串:Str(N1 ,N2 ,N3 )将数值将数值vN1转换为数字字符串转换为数字字符串,N2 长度长度,N3 小数位小数位.5.日期转字符串日期转字符串:Dtoc(D|T ,1)v将将 D 或或 T 转换为字符串转换为字符串;有有 1 转换为索引形式转换为索引形式.22.12.741v6.日期时间转字符串日期时间转字符串:Ttoc(T ,1 )将将 T 转换为字符串转换为字符串;有有 1 转换为索引形式转换为索引形式.v7.字符串转日期字符串转日期:Ctod(C)将日期格式的将日期格式的 C 转换为日期转换为日期.v8.字符串转日期时间字符串转日期时间:Ctot(C
41、)将将日期日期时间格式的时间格式的 C 转换为日期时间转换为日期时间.v五、测试函数五、测试函数1.字符测试字符测试v 字母测试字母测试:isalpha(C)测试测试 C 的首字符是否为字母的首字符是否为字母.22.12.742v 大大小写字母测试小写字母测试:isupper(C)/islower(C)测试测试 C 的首字符是否为大写小写字母的首字符是否为大写小写字母.v2.值域测试函数值域测试函数:vBetween(,(,()v功能:判断一个表达式的值是否介于另外两个表功能:判断一个表达式的值是否介于另外两个表达式的值之间。达式的值之间。L=T =Hv3.Null值测试函数值测试函数v格式:
42、格式:isNULL()v功能:判断一个表达式的运算结果是否为功能:判断一个表达式的运算结果是否为NULL值,若是值,若是NULL指则返回逻辑真(指则返回逻辑真(.T.),否则返回否则返回值假(值假(.F.)22.12.743v3.”空空”值测试函数值测试函数v格式:格式:EMPTY()v功能:根据指定表达式的运算结果是否为功能:根据指定表达式的运算结果是否为“空空”值,返回逻辑真或逻辑假值,返回逻辑真或逻辑假v4.数据类型测试函数数据类型测试函数v格式:格式:VARTYPE(,)v功能:测试功能:测试的类型,返回一个大写字的类型,返回一个大写字母,函数值为字符型。母,函数值为字符型。22.12
43、.7445、条件测试条件测试:iif(,)条件值为真条件值为真(.T.)时时,返回返回 表达式表达式 1 的值的值;否则返回否则返回 表达式表达式 2 的值的值.22.12.745*2.6 常用Visual FoxPro系统设置命令一、设置开|关状态v命令格式:Set On|Offv1.设世纪显示:Set Century Off|On v2.设屏幕显示:Set Console On|Offv3.设逻辑删除:Set Deleted Off|Onv4.设字符精确比较:Set Exact Off|Onv5.设打印机开关:Set Printer Off|Onv6.设系统保护开关:Set Safety
44、On|Offv7.设命令结果显示开关:Set Talk On|Offv前一项为系统默认的开关参数22.12.746v二、设置环境参数v命令格式:Set To 1.设置日期格式:vSet Date To 2.设置默认驱动器或路径:vSet Default To|3.设置计时制:Set Hours To 12|24 4.开、关索引文件:Set Index To 索引文件名表5.设置当前索引:Set Order To 序号|索引文件名|vTag Ascending|Descending 22.12.7476.设置文件搜索路径设置文件搜索路径:Set Path To 路径表路径表 7.开、关过程文件开、关过程文件:vSet Procedure To 过程文件名表过程文件名表 Additive 8.设置数据表间关联设置数据表间关联:vSet Relation To 表达式表达式 Into|Additive9.取消表间关联取消表间关联:vSet Relation Off Into|