VFP上机_表达式与函数

合集下载

一VFP中表达式

一VFP中表达式
第三讲
VFP中表达式、常量、 一.VFP中表达式、常量、变量 二.变量与数组操作 三.函数与函数操作
2010-9-3
中国医科大学计算机中心 徐东雨讲师
1
一、VFP中的表达式、常量、变量 VFP中的表达式、常量、 1.表达式 五种) (五种) 算术表达式 字符表达式 日期表达式 关系表达式 逻辑表达式
2010-9-3
中国医科大学计算机中心 徐东雨讲师
15
内存变量的操作
4. SAVE TO <文件名> [ all LIKE / EXCEPT 通配变 <文件名 文件名> 量名表] 量名表] 功能:将变量保存到磁盘文件中,扩展名为. Mem. 功能:将变量保存到磁盘文件中,扩展名为. Mem. 例如 save to blk save to blk all like A* (保存所有A字母开 保存所有A 头的变量到名为BLK的文件中,将产生blk.mem BLK的文件中 头的变量到名为BLK的文件中,将产生blk.mem 的磁盘文件。 的磁盘文件。
1. 字段变量;是数据库处理的最基本的变量,用字段 是数据库处理的最基本的变量,
名表示,有五种类型,C、N、L、D、M。 名表示,有五种类型,C、N、L、D、M。
2. 内存变量:是独立于表的临时工作单元。可随时给 是独立于表的临时工作单元。
变量赋值或释放。由名字、类型、宽度组成。类型分 变量赋值或释放。 名字、类型、宽度组成。 组成 N、C、D、L、M。
17
中国医科大学计算机中心 徐东雨讲师
数组变量的操作
数组的定义; 数组的定义;
dimension <数组名>(数字表达式), <数组名>(数字表达式)… 定义数组名,维数及各维的大小。 功能 定义数组名,维数及各维的大小。 b(3,4 例如 dime a(20), b(3,4) 定义了一维数组A 说明 定义了一维数组A数组 A(1), A(2), a(3) , a(4), a(5) … a(20) 定义了二维数组B 定义了二维数组B数组 b(1,1), b(1,2), b(1,3), b(1,4) b(1,4) b(2,1), b(2,2), b(2,3), b(2,4) b(2,4) b(3,1), b(3,2), b(3,3), b(3,4) b(3,4)

vfp常用函数

vfp常用函数

一.数值函数:1、绝对值函数 ABS(数值表达式)返回数值表达式的绝对值,返回数据类型:数值型;2、取整函数 INT(数值表达式)返回数值表达式的整数部分,返回数据类型:数值型;3、符号函数 SIGN(数值表达式)测试表达式的值,若为正数,返回1,若为负数,返回-1,若为0,返回0,返回数据类型:数值型;4、取最小整数函数CEILING(数值表达式)返回大于或等于表达式的值的最小整数,返回数据类型:数值型;5、取最大整数函数FLOOR(数值表达式)返回小于或等于表达式的值的最小整数,返回数据类型:数值型;6、四舍五入函数 ROUND(数值表达式,有效位数)对数值表达式按照有效位数进行四舍五入,返回数据类型:数值型;7、求余函数 MOD(数值表达式1,数值表达式2)返回表达式1除以表达式2的余数,同号直接求余,若异号,求余后加上表达式2的值,返回数据类型:数值型8、平方根函数 SQRT(数值表达式)返回数值表达式的平方根,返回数据类型:数值型9、自然对数函数LOG(数值表达式)返回数值表达式的自然对数,返回数据类型:数值型10、圆周率函数 PI( )返回圆周率的值,返回数据类型:数值型二、日期和时间函数1、日期函数 DATE()返回当前系统日期,返回默认格式“mm/dd/yy”,返回的数据类型:日期型;2、求年份函数 YEAR(日期表达式|日期时间表达式)返回指定日期的年份,返回的数据类型:数值;3、求月份函数 MONTH(日期表达式|日期时间表达式)返回指定日期的月份,返回的数据类型:数值;4、求日函数 DAY(日期表达式|日期时间表达式)返回指定日期的日的数值,返回的数据类型:数值;5、系统时间函数 TIME()返回当前系统时间,返回的默认格式“hh:mm:ss”,返回数据类型:字符型;6、系统日期时间函数 DATETIME()返回当前系统日期和时间,返回的数据类型日期时间型三、字符函数1、生成空格函数 SPACE(数值表达式)返回一个空格组成的字符串,空格的个数有数值表达式来决定 ,返回数据类型:字符型2、删除前导空格函数LTRIM(字符表达式)返回指定字符串删除前导空格后的字符串,返回数据类型:字符型。

vfp函数和表表达式

vfp函数和表表达式

2010-12-3
9
1.内存变量的命名规则 以字母、汉字或下划线开头,由字母、汉字、数字、 (1)以字母、汉字或下划线开头,由字母、汉字、数字、 和下划线组成。 和下划线组成。 变量名长度最多为128个字符。 128个字符 (2)变量名长度最多为128个字符。 不能使用系统的保留字。(保留字是指VFP 。(保留字是指VFP语言使 (3)不能使用系统的保留字。(保留字是指VFP语言使 用的关键字, CREATE命令中的CREATE就是一个系统 命令中的CREATE 用的关键字,如CREATE命令中的CREATE就是一个系统 保留字)。 保留字)。 2.内存变量赋值命令 命令格式1 内存变量名>=<表达式> >=<表达式 命令格式1:<内存变量名>=<表达式> 命令格式2 <表达式 表达式> <内存变量名表 内存变量名表> 命令格式2:store <表达式> to <内存变量名表> 功能: 表达式>的值赋给内存变量。 功能:将<表达式>的值赋给内存变量。 说明:格式1只能给一个变量赋值;格式2 说明:格式1只能给一个变量赋值;格式2可以给一批变 量赋相同的值,各变量名之间必须用逗号分隔; 10 量赋相同的值,各变量名之间必须用逗号分隔;可对 2010-12-3 内存变量重新赋值来改变其值和类型。 内存变量重新赋值来改变其值和类型。
3.显示内存变量命令 命令格式:?|??<表达式表 表达式表> 命令格式:?|??<表达式表> 功能:计算<表达式>的值,并显示在屏幕上。 功能:计算<表达式>的值,并显示在屏幕上。 说明: 表示从VFP主窗口下一行的第一列显示结果, VFP主窗口下一行的第一列显示结果 说明:?表示从VFP主窗口下一行的第一列显示结果,?? 表示从当前行当前列显示结果。 表示从当前行当前列显示结果。 在命令窗口中输入赋值命令给内存变量赋值, 【 例 】 在命令窗口中输入赋值命令给内存变量赋值 , 并 显示内存变量的结果。 显示内存变量的结果。

VFP常用命令函数程序汇总

VFP常用命令函数程序汇总

常用命令函数程序汇总一、主要命令:1、CREATE 文件名作用:建立一个以.dbf为扩展名的新表。

在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。

2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。

只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

3、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。

若为APPEND [BLANK]是指在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。

无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

4、INSERT作用:在表文件中间插入一个新记录。

若为INSERT [BEFORE] [BLANK],则INSERT表示在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。

5、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。

若为BROWSE [FIELDS <字段名表>],则表示看到所列字段名的字段内容。

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所有的记录。

VFP的常用函数及常用命令

VFP的常用函数及常用命令

关联与多表查询


工作区:单个工作区只能打开一个文件,要打开多个文 件必须选择不同的工作区,VFP共提供了1---2551号工 作区。 工作区的选择:SELECT <工作区号> 1-10号工作区可用A-J来代替 SELECT 0表示选择最小的未用的工作区号 SELECT()函数可返回当前工作区号
VFP常用命令
一、文件复制 COPY FILE <文件名1> TO <文件名2> 用RUN或“!”可直接运行DOS命令 二、表的复制 COPY TO <文件名> [范围][条件][FIELDS 字段名 表] 三、表结构的复制 COPY STRUCTURE TO <文件名> [范围][条 件][字段名表] 注:以上两命令表应该先打开
查询与统计
排序与索引 查询 统计

排序
命令格式:SORT TO <新文件名> ON <字段名1> [/A|/C][/C][,<字段名2> [/A|/C][/C]…] [范 围][条件][FIELDS 字段名表] /A:升序 /D:降序 /C:不分字母大小写
索引
一、索引的概念 索引实际上是一种排序,但是它不改变数据表中数据 的物理顺序,而是另外建立一个记录号列表。它与通常 读的图书的索引目录相同,图书中的索引指明了章、节、 目的页码,而表的索引指明由某一字段的值的大小决定 的记录排列的顺序。索引文件中只含有关键字和记录号 两个字段,相对排序文件要小得多,当数据库更新时, 索引文件可以自动更新。 二、索引的种类 主索引、候选索引、普通索引、唯一索引 复合索引(结构复ON <索引关键字> TO <单索引文件名>|TAG <索引标识名> [OF <复合索引文件名>][条 件][COMPACT][ASCENDING][]DESCENDING][UN IQUE][CANDIDATE][ADDITIVE] TO子句:建立单索引文件,为与老版本兼容而设 TAG子句:建立复合索引文件,OF用于非结构复合索引 COMPACT:压缩文件,老版本不能用 ASCENDING/DESCENDING:升序/降序,默认升序 UNIQUE/CANDIDATE:唯一/候选索引 ADDITIVE:不关闭以前打开的索引

计算机二级vfp第2章VF中表达式与函数

计算机二级vfp第2章VF中表达式与函数
加、减,同级运算从左至右,有括号则先计算括号内的部 分。
1.3、运算符
(二)、字符运算符 +:字符串连接运算符,用于连接两个字符串。 -:字符串连接运算符,用于连接两个字符串,
与+的区别在于将前一个字符串尾部空格移到连接 后的字符串末尾。
例如: ? [abc□]+[defg] ? [abc□]-[defg]
日期格式 mm/dd/yy yy.mm.dd dd/mm/yy dd.mm.yy dd-mm-yy
设置 JAPAN USA MDY DMY YMD
日期格式 yy/mm/dd mm-dd-yy mm/dd/yy dd/mm/yy yy/mm/dd
7
1.1.5 逻辑型常量
逻辑型常量只有两个值:“真”和“假” .T.,.t.,.Y.或.y.表示“真” .F.,.f.,.N.或.n.表示“假”
例如:$88.1696,¥288
5/24/2019
应为半角字符 5
1.1.4 日期型和日期时间型常量
用花括号括起来的、符合约定的符号串。严格的日期 格式为:
{^yyyy/mm/dd} 例如:{^2004/07/11} 空白日期可表示为{}或{/} 用花括号括起来符合Visual FoxPro约定的符号串。 严格的日期时间格式为: {^yyyy/mm/dd hh[:mm[:ss]][a|p]} 例如:{^2004/07/11 11:12:30p} 日期与时间数据之间必须用空格分隔
(3)、内存变量文件的建立与调用
说明:
(i)在<通配符>中允许使用符号“?”(代表单个字符)与“*”(代 表多个字符)。可选项[ALL LIKE<通配符>]表示储存于通配符相匹 配的内存变量;[ALL EXCEPT<通配符>]表示除去与通配符相匹配的 变量以外的所有内存变量;缺省可选项则储存全部内存变量。

VFP命令、函数及程序语句大全解读

VFP命令、函数及程序语句大全解读

VFP命令、函数及程序语句大全(1学过VFP(Microsoft Visual FoxPro的朋友都知道它是微软公司开发的数据库管理系统。

它经历了从dBASE、FoxBASE、FoxPro直到VFP的发展过程。

本文便以VFP 6.0为例介绍它的命令、函数及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP的朋友提供复习的好机会。

一、主要命令: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 在当前记录前插入一空记录。

INSERT - SQL命令追加记录INSERT INTO 表名[(字段1[,字段2…]];VALUES(表达式1[,表达式2…]例:INSERT INTO XS(XH,XM,XB,XIMINGVALUES(“950106”,“高山”,“男”,“”5、UPDATE作用:修改数据update <表名> set <字段1=表达式1>,<字段2=表达式2...> where <条件>例: update <表名> set <字段1,字段2...>=<表达式1,表达式2...> where <条件>6、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。

VFP函数和操作命令

VFP函数和操作命令

•求整函数–int (<数值表达式>) 功能:返回整数部分–Ceiling (<数值表达式>) 功能:返回大于或等于它的最小数–floor (<数值表达式>)功能:返回小于或大于它的最大数•四舍五入函数–round (<数值表达式1>,<数值表达式2>)•求字符串函数–len (<字符表达式>) 功能:返回指定字符表达式值的长度•大小写转换函数–lower (<字符表达式>) 功能:字母转成小写,字符不变–Upper (<字符表达式>)功能:字母转成大写,字符不变•空格字符串生成函数–space(<数值表达式>)功能:返回由指定数目的空格组成的字符串。

•删除前后空格函数–rtrim (<字符表达式>)功能:去掉尾部空格后形成的字符串–Ltrim (<字符表达式>)功能:去掉前导空格后形成的字符串–alltrim (<字符表达式>)功能:去掉前导和尾部空格形成的字符串•求子串函数–left (<字符表达式>,<长度>) 功能:取左边–Right (<字符表达式>,<长度>)功能:取右边–substr (<字符表达式>,<起始位置>,<长度>) 功能:从起始开始取起,作为函数值•日期和时间函数–date () 功能:返回系统当前日期,函数值:日期型–Time () 功能:以hh:mm:ss格式返回当前时间,为字符型–Datetime () 功能:返回当前日期时间,函数值:日期型•求年份、月份、天数函数(返回值:数值型)–year (<日期表达式>|<日期时间表达式>):从指定日期当中返回年份–Month (<日期表达式>|<日期时间表达式>):从指定日期当中返回月份–Day (<日期表达式>|<日期时间表达式>):从指定日期当中返回天数•时、分、秒函数(函数值:数值型)–hour (<日期时间表达式>) 功能:返回小时部分–Minute (<日期时间表达式>)功能:返回分钟部分–Sec (<日期时间表达式>)功能:返回秒数部分•数值转换成字符串–str (<数值表达式>[,<长度>[,<小数位数>]]):将<数值表达式>的值转成字符串,转换时根据需要自动四舍五入。

VFP常用命令

VFP常用命令

VFP常用命令,函数,属性,事件和方法一.常用命令1.CREATE TABLE-SQL创建一个含有指定字段的表。

2.ALTER TABLE-SQL以编程方式修改表的结构。

3.SELECT激活指定工作区。

4.USE打开一个表及其相关索引文件,或打开一个SQL视图。

5.CLOSE TABLES关闭所有打开数据库中的所有表。

6.COPY STRUCTURE用当前选择的表结构创建一个新的空自由表。

7.COPY TO用当前选定表的内容创建新文件。

8.RENAME TABLE重命名当前数据库中的表。

9.BROWSE打开浏览窗口。

10.A PPEND在表的末尾添加一个或多个新记录。

11.A PPEND FROM从一个文件中读入记录,添加到当前表的尾部。

12.G O/GOTO将记录指针移到指定记录上。

13.L OCATE按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。

14.S EEK在一个表中搜索首次出现的一个记录。

15.S KIP使记录指针在表中向前或向后移动。

16.C ONTINUE继续执行先前的LOCA TE命令。

17.E DIT显示要编辑的字段。

18.D ELETE给要删除的记录做标记。

19.D ELETE-SQL给要删除的记录做标记。

20.P ACK从当前表中永久删除有删除标记的记录。

21.R ECALL恢复所选表中带删除标记的记录。

22.Z AP从表中删除所有记录。

23.I NSERT-SQL在表尾追加一个包含指定字段值的记录。

24.R EPLACE更新表的记录内容。

25.U PDATE-SQL以新值更新表中的记录。

26.S ET EXCLUSIVE指定Visual FoxPro在网络上是以独占方式,还是以共享方式打开表文件。

27.S ET FILTER指定访问当前表中记录时必须满足的条件。

28.S ET DELETED指定Visual FoxPro 是否处理标有删除标记的记录。

29.S ET INDEX打开一个或多个索引文件,供当前表使用。

一VFP中表达式

一VFP中表达式

25
中国医科大学计算机中心 徐东雨讲师
3. 日期和时间函数
1. 时间函数 time() 给出hh:mm:ss格式的时间
2.
?Time( )
18:25:35
2. 日期函数 date( )
给出系统当前日期
3.
?Date()
09/09/05
3. 求年份函数 year(d) 求出日期D的年份数值
4.
?Year(date( ))
2019/12/24
3
中国医科大学计算机中心 徐东雨讲师
2. 字符表达式
字符串定界符:“abc”、 ‘abc’、[abc]
字符运算符: 有两个:+和- 运算
例如
结果
? “abcd ”+ “efg” efg”
“abcd
? “abcd ”- “efg”
2019/1“2/24abcdefg
”中国医科大学计算机中心 徐东雨讲师
4
3.日期表达式
由算术运算符+、-,算术表达式、日期常量、 变量、函数组成。
例如
?Date() +15
?Date() -15
?ctod(“01/25/2019”)- ctod(“01/10/2019”)
结果等于 15
2019/12/24
5
中国医科大学计算机中心 徐东雨讲师
5.逻辑表达式
由关系表达式、逻辑运算符、变量、函数组成。 一般格式为:
<关系表达式1><逻辑运算符><关系表达式2> 结果;真值 .T. 或 假值 .F. 表示 逻辑运算符 .NOT. 逻辑非
.AND. 逻辑与 .OR. 逻辑或 运算优先级 一级 算术运算、字符串运算 二级 关系运算 三级 逻辑运算 表达式运算次序 按照运算符的优先级进行运算。

VFP常用函数大全

VFP常用函数大全

VFP常用函数大全一.字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.1.取子串函数:格式:substr(c,n1,n2)功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型. 例:取姓名字符串中的姓.store "王小风" to xm ?substr(xm,1,2) 结果为:王2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型.trim(字符串):删除字符串的尾部空格 alltrim(字符串):删除字符串的前后空格ltrim(字符串):删除字符串的前面的空格例:去掉第一个字符串的尾空格后与第二个字符串连接store "abcd " to x store "efg" to y ?trim(x)+y abcdefg 3.空格函数: 格式:space(n)说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).例:定义一个变量dh,其初值为8个空格 store space(8) to dh 4.取左子串函数:格式:left(c,n) 功能:取字符串C左边n个字符. 5.取右子串函数:格式:right(c,n) 功能:取字符串c右边的n个字符例:a="我是中国人"?right(a,4) 国人 ?left(a,2) 我6.empty(c):用于测试字符串C是否为空格.7.求子串位置函数:格式:At(字符串1,字符串2) 功能:返回字符串1在字符串2的位置例:?At("教授","副教授") 2 8.大小写转换函数: 格式: lower(字符串)upper(字符串)功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写例:bl="FoxBASE" ?lower(bl)+space(2)+upper(bl) foxbase FOXBASE 9.求字符串长度函数: 格式:len(字符串) 功能:求指定字符串的长度例:a="中国人" ?len(a) 6 二.数学运算函数: 1.取整函数:格式:int(数值) 功能:取指定数值的整数部分. 例:取整并显示结果 ?int(25.69)25 2.四舍五入函数: 格式:round(数值表达式,小数位数)功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理例:对下面给出的数四舍五入并显示其结果?round(3.14159,4),round(2048.9962,0),round(2048.9 962,-3)3.1416 2049 2000 3.求平方根函数: 格式:sqrt(数值)功能:求指定数值的算术平方根例:?sqrt(100) 10 4.最大值、最小值函数: 格式:Max(数值表达式1,数值表达式2) Min(数值表达式1,数值表达式2)功能:返回两个数值表达式中的最大值和最小值例:x1=123.456 x2=234.567?max(x1,x2) 234.567 ?min(x1,x2) 123.456 5.求余数函数:格式:mod(表达式1,表达式2)功能:求表达式1对表达式2的余数例: ?mod(10,3)1 6.求指数、对数函数: 格式: exp(数值表达式) log(数值表达式) 功能:(1).exp()计算自然数e为底,表达式的值为指数的幂(2).log()计算表达式值的自然对数,返回lnx的值. 例: x=1 y=exp(x)?exp(x),log(x) 2.72 1 三.转换函数: 1.数值转数字字符串函数:格式:str(n,n1,n2) 功能:将数值n转换为字符串,n1为总长度,n2为小数位例:?str(321.56) 322 &&隐含四舍五入取整转换为字符型数据?str(321.56,6,2) 321.56 2.字符转数值函数: 格式:val(s)功能:将数字字符串s转换为数值例:x="23" y="76" ?val(x)+val(y) 1003.字符转日期函数: 格式:ctod(c) 功能:将日期字符串c转换为日期例:set dateansi &&日期格式设为美国标准化协会格式 ?ctod("^2005.11.14")2005.11.14 4.日期转字符函数: 格式:dtoc(d) 功能:将日期d转化为日期字符串例:将日期型数据转化为字符型日期数据并显示汉字日期. set century on&&开启世纪前缀,即日期中年份用4位表示 set date ansirq={^2005.11.14} rq=dtoc(rq)?substr(rq,1,4)+"年"+substr(rq,6,2)+"月"+substr(rq,9,2)+"日"2005年11月14日 5.时间转字符函数: 格式:ttoc(时间)功能:将时间转为时间字符串6.字符转时间函数: 格式:ctot(c) 功能:将时间字符串转化为时间7.字符串替换函数:格式:stuff(<字符表达式1>,<起始位置>,<字符个数>,<字符表达式2>)功能:从指定位置开始,用<表达式2>的值去替换<表达式1>中指定个数字符.若<字符个数>为零,直接插入;若<表达式2>为空字符串,则删除<表达式1>中指定个数的字符.例:X="祝大家新年好!" ?stuff(X,7,4,"春节") 祝大家春节好?stuff(X,11,0,"春节") 祝大家新年春节好 ?stuff(x,7,4," ")祝大家好 8.字符转ASCⅡ码函数: 格式:Asc(<字符表达式>)功能:把<字符表达式>左边第一个字符转成相应的ASCⅡ码值例:x="Foxpro"?Asc(x),Asc(lower(x)) 70 102 9.ASCⅡ码值转字符函数:格式:chr(数值表达式) 功能:把数值转成相应的ASCⅡ码字符,返回值为字符型例:?chr(70)+chr(111)+chr(111+9) Fox四.日期函数: 1.系统日期函数: 格式:date()功能:给出系统的当前日期,返回值是日期型数据.例:显示系统日期 ?date() 11/14/05 set date ansi set century on ?date() 2005.11.14 2.年、月、日函数:格式1).year(日期表达式):从日期表达式中返回一个由四位数字表示的年份.(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份.(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数. 例:测试系统日期rq=date() ?year(rq),month(rq),day(rq) 2005 11 14 3.系统时间函数: 格式:time() 功能:得到当前时间字符串例:?time()20:32:26 4.系统日期时间函数: 格式:datetime() 功能:得到当前日期时间例:?datetime() 2005.11.14 08:35:12 PM 5.星期函数:格式:dow(日期表达式) cdow(日期表达式)功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期例:?date()2005.11.15 ?dow(date()),cdow(date()) 3 Tuesday五.测试函数: 1.测试文件尾函数: 格式:eof([n]) 说明:(1).n指定被测工作区号,其范围为1~32767(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试文件记录指针是否指向文件尾 use 职工档案 go bottom ?eof() .F.skip ?eof() .T. 2.测试文件头函数: 格式:bof([n]) 说明:(1).n指定被测工作区号,其范围为1~32767(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试记录指针是否指向文件头 use 职工档案 go top ?bof() .f. skip -1?bof() .t. 3.测试当前记录号函数: 格式:recno() 功能:得到当前的记录号例:use 职工档案 ?recno() 1 skip ?recno() 24.测试表文件记录数函数: 格式:reccount() 功能:得到表的记录数例:测试"职工档案"表的记录数use 职工档案 ?reccount() 5 5.测试表字段数函数:格式:fcount() 功能:得到当前的字段数例:测试"职工档案"表共有多少个字段 use职工档案 ?fcount() 9 6.测试查找记录是否成功函数: 格式:found()功能:测试find、seek和locate命令查找记录是否成功.如成功则返回真值,否则为假值.例:在"职工档案"表中查找"小刚"的文化程度 use 职工档案 locate for 姓名="小刚"?found() .t. display 7.文件测试函数: 格式:file(字符表达式)功能:测试字符表达式指定的文件是否存在例:?file("e:\myvfp\职工档案.dbf".t. 8.数据类型测试函数: 格式:type(字符表达式)功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注)例: x=1236 y="hello" ?type("x" N ?type("y" C 9.测试工作区函数: 格式:select() 功能:返回当前工作区的区号 10.测试别名函数:格式:alias() 功能:测试当前工作区的别名例: select 1 use 职工档案alias zgda select 2 use 工资情况 ?alias() 工资情况 &&打开表时,不指定别名,表名即为别名 select zgda &&通过别名选择工作区?select() 1 11.表文件名函数: 格式:dbf() 功能:返回当前工作区打开的表名例: use 工资情况 ?dbf() e:\myvfp\工资情况六.其它函数: 1.宏替换函数: 格式:&变量名说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串.例:为"工资情况"表中每个人加100元工资 gz="工资" use 工资情况 replace all&gz with &gz+100 2.条件函数: 格式:iif(表达式,表达式1,表达式2)功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致a=3 b=5 ?iif(a>b,"高兴","开心") 开心 3.消息框函数:格式:messagebox(提示文本[,对话框类型[,对话框标题文本]]) 功能:显示提示对话框说明: (1)对话框类型见表1: 对话框类型功能 0仅"确定"按钮 1"确定"和"取消"按钮2"终止","重试"和"忽略"按钮 3"是","否"和"取消"按钮4"是"和"否"按钮5"重试"和"取消"按钮 16stop图标 32?图标 48!图标64i图标 0默认第1个按钮256默认第2个按钮 512默认第3个按钮 (2).返回值见表2: 返回值按钮 1确定 2取消3终止 4重试 5忽略 6是 7否例:分析messagebox("您确实要退出系统吗?",4+64,"提示信息")会弹出什么样的窗口.分析:回头观察此函数的格式,弹出的对话框中的提示文本是"您确实要退出系统吗",对话框标题是"提示信息",函数中间有"4+64",其中4指定对话框中出现"是"和"否"两个按钮(见表1),64指定对话框中出现i图标(见表2)ok,我们在命令窗口依次执行下列命令:tui=messagebox("您确实要退出系统吗?",4+64,"提示信息")&&变量tui用于接收messagebox函数的返回值,弹出的窗口如图1 ?tui&&变量tui值取决于运行时用户点了哪个按钮,如果点了"是",返回6,如果点了"否",返回7,见表2功能:测试字符表达式指定的文件是否存在例:?file("e:\myvfp\职工档案.dbf").t. 8.数据类型测试函数: 格式:type(字符表达式)功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注)例: x=1236 y="hello" ?type("x") N ?type("y") C 9.测试工作区函数: 格式:select() 功能:返回当前工作区的区号 10.测试别名函数:格式:alias() 功能:测试当前工作区的别名例: select 1 use 职工档案alias zgda select 2 use 工资情况 ?alias() 工资情况 &&打开表时,不指定别名,表名即为别名 select zgda &&通过别名选择工作区?select() 1 11.表文件名函数: 格式:dbf() 功能:返回当前工作区打开的表名例: use 工资情况 ?dbf() e:\myvfp\工资情况? 在下一行显示表达式串?? 在当前行显示表达式串@... 将数据按用户设定的格式显示在屏幕上或在打印机上打印ACCEPT 把一个字符串赋给内存变量APPEND 给数据库文件追加记录APPEND FROM 从其它库文件将记录添加到数据库文件中AVERAGE 计算数值表达式的算术平均值PACK 彻底删除加有删除标记的记录ZAP 删除当前数据库文件的所有记录(不可恢复)Welcome !!! 欢迎您的下载,资料仅供参考!。

第2章VFP表达式及应用

第2章VFP表达式及应用

第2章VFP表达式及应用数据是程序加工处理的对象,并以某种特定的形式存在。

在VFP中,各个数据的类型可能不同,不同数据类型决定了数据不同的存储方式与运算方法。

表达式是运算符连接常数、变量和函数等构成的运算式。

表达式作为命令的重要组成部分,主要完成各种计算任务。

2.1 数据类型与常数常数是在命令或程序执行过程中保持不变的量,而变量则指其值可以变化的量。

2.1.1数值型数据数值型数据,即能参与算术运算的数据,由数字0~9、小数点与正负号组成,其数据类型用符号N表示。

数值型数据在内存中占8个字节,能表示1~20位数据,整数在-6899999999999998至6899999999999998之间无误差;能表示的小数位数为0~19,小数位数≤15位(不含符号位)无误差。

数值型常数是整数或实数,如:23、-153和123.48,也可以用科学计数法表示数值型数据,如:用2.34e+4表示2.34×104,即23400。

2.1.2字符型数据字符型数据是英文字母、汉字或数字等符号组成的一串字符,其数据类型用符号C 表示。

一个字符型数据最多可由16777184个字符组成,半角英文字符占一个字节,一个汉字或全角字符占两个字节。

字符型常数也称为字符串,是用定界符括起来的一串字符。

定界符可以是半角的单引号、双引号或方括号,必须成对使用。

如:’我是学生’、”I Study VFP”和[男]都是字符型常数。

定界符本身不作为字符型常数的内容,当某种定界符是字符串中的内容时,必须用另一种定界符作为标志,如:’老师说:”明天交作业”’和[“Windows”操作]。

字符串长度是指字符串中所含字符的个数(1个半角字符长度为1,1个汉字或全角字符长度为2)。

如:字符串常数”说:'What'”的长度为9。

2.1.3货币型数据货币型数据作为一种特殊的数值型数据,用来表示货币值。

其数据类型用符号Y表示。

货币型常数是在数值前加货币符号$,如:$12.34。

VFP表达式及函数

VFP表达式及函数

使用VFP命令时应遵循以下规则 命令时应遵循以下规则 使用
• (1)命令动词与子句、子句与子句、子句与 FOR<条件>间必须用空格隔开.但各子句的次序 允许任意排列. • (2)命令动词与各子句中的保留字,以及函数名, 都可简写为前4个字符,且对其中出现的英文字 母不区分大小写. • (3)一条VFP命令可以很长,若一行写不下,可在 适当位置键入“;”并回车,然后在下一行继续键 入该命令. • (4)用“[ ]”括起来的部分表明可选项.这些内容, 当用户不需要时,可省略不写.
字段变量
所谓变量,就是在命令操作和程序运行过程中,其 值可以发生变化的量。 对于不同的记录,同一字段名对应的值不同。 性别 出生日期 工资 婚否 姓名 欧阳木子 王清照 胡箫 女 女 男 08/27/74 07/09/76 08/27/62 1100.00 1238.00 1530.00 F T T
关于VFP中的数据类型 中的数据类型 关于
常量 Vfp中的数据类型 中的数据类型 字段变量 变量 系统变量 内存变量
常量
常量就是在工作过程中,其值不发生变化的 常量就是在工作过程中, 数据。 数据。 字符型常量:用双引号、 字符型常量:用双引号、单引号或方括号等 定界符括起来的由字符、空格和数字组成的字串。 定界符括起来的由字符、空格和数字组成的字串。 例如: 计算机” 北京’ 电脑 电脑], 例如:“计算机”,‘首都 北京’,[电脑 , “84”,[企业‘管理’] , 企业‘管理’ 企业 ‘93级‘本科’’ 是非法的,当字符串含有 级 本科’’ 是非法的, 双引号,单引号或方括号时, 双引号,单引号或方括号时,须用另一种定界符 括起来。应改为: 级 本科’ 括起来。应改为:[93级‘本科’]
(注意:表文件的扩展名为DBF)

最新第3章VFP的常量变量表达式和函数

最新第3章VFP的常量变量表达式和函数

第3章Visual FoxPro的常量、变量、表达式和函数3.1 Visual FoxPro的常量一、常量的认识1、常量是表示一个确定的数据,如65.8等。

2、Visual FoxPro中,常量的类型有数值型、货币型、字符型、逻辑型、日期型、日期时间型6种。

二、数值型常量1、数值型常量表示的是一个具体的数,因此,数值型常量也称为常数。

2、数值型常量的表示·日常表示法如12、+56、-64.8等。

·科学表示法1.6E12表示1.6×1012;1.6E-12表示1.6×10-12;-1.6E12表示-1.6×1012;-1.6E-12表示-1.6×10-12。

三、货币型常量1、货币型常量用来表示一个具体的货币值。

货币型常量的小数位数最多4位。

2、货币型常量的表示如$12,$12.68,-$12.68等。

四、字符型常量1、字符型常量用来表示一串字符(数字、符号、汉字统称为字符),因此,字符型常量也称为字符串。

2、字符型常量的表示如'abcd'、"abcd"、[abcd]均表示字符串abcd。

3、说明·表示字符型常量前后的'、"或[]称为字符型常量的定界符,它表示字符串的开始和结束,不是字符串的组成内容。

字符串的前后定界符必须一致,如'abcd"等是错误的。

·当字符串中包含定界符时,必须使用与之不同的定界符作为字符串的定界符,如字符串ab'cd应表示为"ab'cd"或[ab'cd]。

·字符型常量中的字母大小写是区分的,比如"abcd"和"ABCD"是不同的两个字符串。

注意:其他场合,字母的大小写是不区分的。

·组成字符串的内容中可以有空格,如"ab cd"、"a bc d"、" "等都是正确的字符串。

VFP第2部分(表达式函数)

VFP第2部分(表达式函数)
【例】?LEN(SPACE(8)-SPACE(3)) 11
4)
格式: AT(<字符串表达式1>,<字符串表达 式2> [,<数值表达式>])
功能:如果<字符串表达式1>是<字符串表达式2>的 子串,则返回<字符串表达式1>在<字符串表达式 2>中的起始位置;若不是子串,则返回0。AT()的 函数值为数值型,ATC()与AT()功能类似,但在子
数>
间若干秒前的日期时间
<日期时间1>- < 数值型。两个指定日期时
日期时间2>
ቤተ መጻሕፍቲ ባይዱ
间相差的秒数
【例】日期和日期时间表达式
d1= {^2008-09-01}+2 d2= {^2008-09-01}-2 ? d1-d2 4
(4)关系表达式
关系表达式的运算结果 为逻辑型常量。关系成立结 果 为 ( .T. ) ; 反 之 , 结 果 为(.F .)。
主窗口显示: 11
x=" XSDA" Use &x.dbf
&& 打开数据表XSDA.dbf
y= " list memory "
&y like a* A= " 457 "
主窗口显示: A开头的内存变量
? " abc&a.457 ", " abc&abc "
主窗口显示: abc457457 abc&abc
三、 日期时间函数
1)系统日期和系统时间函数 格式: DATE()
TIME() DATETIME()

vfp常用函数

vfp常用函数

一.数值函数:1、绝对值函数ABS(数值表达式)返回数值表达式的绝对值,返回数据类型:数值型;2、取整函数INT(数值表达式)返回数值表达式的整数部分,返回数据类型:数值型;3、符号函数SIGN(数值表达式)测试表达式的值,若为正数,返回1,若为负数,返回-1,若为0,返回0,返回数据类型:数值型;4、取最小整数函数CEILING(数值表达式)返回大于或等于表达式的值的最小整数,返回数据类型:数值型;5、取最大整数函数FLOOR(数值表达式)返回小于或等于表达式的值的最小整数,返回数据类型:数值型;6、四舍五入函数ROUND(数值表达式,有效位数)对数值表达式按照有效位数进行四舍五入,返回数据类型:数值型;7、求余函数MOD(数值表达式1,数值表达式2)返回表达式1除以表达式2的余数,同号直接求余,若异号,求余后加上表达式2的值,返回数据类型:数值型8、平方根函数SQRT(数值表达式)返回数值表达式的平方根,返回数据类型:数值型9、自然对数函数LOG(数值表达式)返回数值表达式的自然对数,返回数据类型:数值型10、圆周率函数PI( )返回圆周率的值,返回数据类型:数值型二、日期和时间函数1、日期函数DATE()返回当前系统日期,返回默认格式“mm/dd/yy”,返回的数据类型:日期型;2、求年份函数YEAR(日期表达式|日期时间表达式)返回指定日期的年份,返回的数据类型:数值;3、求月份函数MONTH(日期表达式|日期时间表达式)返回指定日期的月份,返回的数据类型:数值;4、求日函数DAY(日期表达式|日期时间表达式)返回指定日期的日的数值,返回的数据类型:数值;5、系统时间函数TIME()返回当前系统时间,返回的默认格式“hh:mm:ss”,返回数据类型:字符型;6、系统日期时间函数DATETIME()返回当前系统日期和时间,返回的数据类型日期时间型三、字符函数1、生成空格函数SPACE(数值表达式)返回一个空格组成的字符串,空格的个数有数值表达式来决定,返回数据类型:字符型2、删除前导空格函数LTRIM(字符表达式)返回指定字符串删除前导空格后的字符串,返回数据类型:字符型。

VFP常用编程命令及常用函数

VFP常用编程命令及常用函数

VFP常用编程命令及常用函数VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号“[]”括起来的词句,表示可以不用。

常用命令假设(if...endif) 循环(dowhile...enddo)分支(docase...endcase)赋值(store...to) 调用表单(do form) 调用子程序(do)返回调用程序(return) 启动事件处理(readevents)清除事件处理(clearevents)开关命令执行状态(set talkon/off)结束程序(cancel)常用函数数值转换字符(str()) 字符转换数值(val()) 取系统日期(date())取年份(year()) 取月份(month()) 取天日(day())取整(int()) 四舍五入(round()) 删除标记(delete())记录号(recno()) 记录数(reccount()) 找到记录(found())表结尾(eof()) 表开头(bof()) 消除后续空格(trim())消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。

语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。

备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。

then可以有也可以没有,对程序没有影响。

else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。

if 与 endif 必须配对使用,即有一个 if 必须有一个 endif,否则程序会出错。

举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。

VFP表达式、函数的使用,

VFP表达式、函数的使用,

《计算机应用基础》期末考试准考证号:11216101110+学号后4位上机内容:第一部分:函数一、数学函数1、INT( )功能:取整。

例如:?INT(3.4) 32、?ROUND( )功能:四舍五入例如:?ROUND(2005.789,2) 2005.793、MOD( )功能:取模整数例如:?MOD(69,-5) -44、MAX/MIN()功能:最大值最小值例如:?MAX (3.78,5,0),MIN(-6,-8,-9) 5 -95、ABS( )功能:绝对值例如:?ABS(-3.89) 3.896、SQRT( )功能:平方根函数例如:?SQRT(4) 27、EXP( )功能:指数函数例如:?EXP(0) 18、RAND( )功能:随机取数例如:?(9-8)*RAND(8)+9 9.179、ALLTRIM()功能:取消字符表达式中的前后空格例如:?ALLTRIM("好好"+"学习") 好好学习10、LTRIM()功能:删除字符串前导空格函数例如:?"计算机"+LTRIM( "实用技术")计算机实用技术11、TRIM()功能:删除字符串尾部空格函数例如:?trim("他")+"你"12、LEFT()功能:取左子串函数例如:?LEFT(“ABCDEF”,2) AB13、RIGHT()功能:取右子串函数例如:?RIGHT(“ABDCE”,2) CE14、SUBSTR()功能:取子串函数例如:?SUBSTR(2,3,4) 315、LEN()功能:字符串长度函数例如:?LEN("I AM LILEI") 10 16、APACE()功能:空格函数例如:?"白痴"+SPACE(2+2)+"崔哥"白痴崔哥17、STUFF()功能:字符串替换函数例如:?STUFF("浙江万里学院",5,0,"宁波") 浙江宁波万里学院18、TIME()功能:日期时间例如:?TIME() 11:20:4519、 DATE()功能:显示日期例如:?DATE() 12/20/1120、DATETIME()功能:显示日期时间例如:?DATETIME() 12/20/11 09:07:0221、YEAR()功能:显示年份例如:?YEAR() 12/20/1122、DAY功能:日期函数例如:?day() 12/2023、MONTH/CMONTH( )功能:月份。

VF中的所有函数

VF中的所有函数
t="学生"
SELECT * FROM &t &&相当于SELECT * FROM学生
a='b'
b='Hello World!'
?a &&显示的结果是“b”
?&a &&显示的结果是“Hello World!”
3表达式
1)VFP中的表达式
表达式是由常量、变量通过运算符连接组成的式子。
在VFP中,表达式分为数值表达式、文本表达式、日期时间表达式、关系表达式和逻辑表达式。
ALLTRIM函数返回去除原始字符串首尾空格的字符串。
例:
? LEN(TRIM(s)) -> 7 ? LEN(ALLTRIM(s)) -> 4
5、取子串函数
SUBSTR返回原始字符串中从起始位置开始指定长度的子串,若无指定长度则从起始位置取到字符串末尾。。
LEFT函数返回原始字符串左侧指定长度的子串。
例:
? INT(PI()) -> 3 ? CEILING(PI()) -> 4 ? FLOOR(PI()) -> 3
6、四舍五入函数
保留小数位数可以为负,代表对整数部分四舍五入。
例:
x=345.678
? ROUND(x,2) -> 345.68
? ROUND(x,-2) -> 300
7)求余函数
效果与被除数%除数等同。
定界符"" '' [ ]
例:"数据库" '技术’[应用]
4.逻辑型(Logical)常量
逻辑型常量用于表示逻辑真和逻辑假两个值。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

将设备表复制到D盘xxx目录下(xxx即个人文件夹),执行命令:set default to d:\xxx一、常量及变量1.常量及其运算(1)数值型常量?2*3.14*3 && 18.84?0.281828E1*2 && 5.63656(2)字符型常量字符型常量定界符:'abc'、"abc"、[abc]?"信息 "+"技术" && "信息技术"?"信息 "-"技术" && "信息技术 "(3)日期型常量、日期时间型常量及其运算通常日期格式与严格日期格式的切换命令为:set strictdate to 0|1?{03/05/90}+30 && {04/04/90},即30天以后?{03/05/90}-30 && {02/03/90},即30天以前?{03/05/90}-{03/05/89} && 365,即两个日期相差的天数?{03/05/90}+{03/05/89} && 错误!两个日期不可相减?{03/05/90 11:59:00am}+60 && {03/05/90 12:00:00 PM},即60秒以后?{03/05/90 11:59:00am}-60 && {03/05/90 11:58:00 AM},即60秒以前?{03/05/90 11:59:00am}-{03/05/90 10:59:00am} && 3600,即相差的秒数?{03/05/90 11:59:00am}+{03/05/90 10:59:00am} && 错误,两个日期时间型常量不可相减(4)逻辑型常量及其运算逻辑型常量只能进行逻辑运算。

?.t. and .f. && .F.?.t. or .f. && .T.?not .t. && .F.(5)货币型常量及其运算货币型常量以$符号开头,并四舍五入到4位小数。

?$100.12345 && 100.12352.变量(1)变量的赋值a=123b="456"c={03/05/90}store 2*4 to n1,n2,n3注:变量的类型取决于所赋值的类型。

(2)数组的定义dimension x(3) && 一维数组,含3个数组元素,即x(1)、x(2)、x(3) dimension a(2,3) && 二维数组,含6个数组元素,即a(1,1)、a(1,2)、a(1,3)、a(2,1)、a(2,2)、a(2,3)亦可表示为:a(1)、a(2)、a(3)、a(4)、a(5)、a(6)注:数组定义后各数组元素的初值为逻辑假值。

数组元素的赋值:①各元素分别赋值:x(1)=123x(2)="VFP"x(3)={03/05/90}②数组整体赋值a=2*4 && 数组a中6个数组元素均被赋值83.字段变量字段变量引用示例:?编号,名称&& 016-1 车床go 3?编号,名称&& 037-2 磨床skip 2?编号,名称&& 100-1 微机注:当字段变量与内存变量同名,引用内存变量时应在变量名前加上“M.”或“M->”4.内存变量的显示list memory或:display memory示例:执行命令release all,释放之前定义的所有内存变量。

定义如下内存变量:a=123ab=456abc="vfp"abcd={03/05/90}bc=.t.bcd=3.14执行如下命令并查看显示结果:list memory like a?list memory like a*list memory like b?list memory like b*list memory like ?b*5.内存变量的释放内存变量释放命令:release执行如下命令并查看显示结果:(1)示例1list memory like a?release all like a?list memory like a?(2)示例2list memory like a*release all like a*list memory like a*(3)示例3display memoryrelease alldisplay memory二、运算符1.算术运算符重点掌握:乘方运算符(^或**)及取模运算符。

关于取模运算的补充:设有数值型数据nDividend和nDivisor,则取余表达式为:nDividend % nDivisor参数说明·nDividend:被除数,被除数中小数点的位数,将决定结果中小数点的位数。

·nDivisor:除数,决定结果的正负,结果的数符与之相同,除数不得为0。

运算结果判断① nDividend 和 nDivisor同号当除数和被除数的数符相同时,结果的绝对值为:|nDividend|%|nDivisor|。

示例:?13%4,-13%-4,8.00%2.6,-8%-2.5结果显示:1 -1 0.20 -1② nDividend 和 nDivisor异号当除数和被除数的符号不同时,结果的绝对值为:|nDivisor|-|nDividend|%|nDivisor|。

示例: ?13%-4,-13%4,8.00%-2.6,-8.00%2.6结果显示:-3 3 -2.40 2.402.关系运算符设置精确/非精确比较命令:set exact on|off,默认进行非精确比较。

非精确比较时,以右串的结束作为整个比较过程的结束。

非精确比较示例:set exact off?"ABC"="AB" && .T.?"AB"="ABC" && .F.?"ABC">"AB" && .F.精确比较示例:set exact on?"ABC"="AB" && .F.?"AB"="ABC" && .F.?"ABC">"AB" && .T.注:双等号“==”始终进行精确比较,与是否设置set exact on|off命令无关。

3.逻辑运算符非:NOT与:AND或:OR示例:分析表达式?"ABCD"$"AD"OR(1.1+2)^3>66的结果并验证。

三、函数1.数值型函数?ABS(9) && 9?ABS(-9) && 9?SQRT(9) && 3.00?EXP(1) && 2.72?EXP(2) && 7.39?INT(3.5678) && 3,不会四舍五入?MAX(12,-5,0,65,100,-99,3) && 100?MIN(12,-5,0,65,100,-99,3) && -99?MOD(15,4) && 3?MOD(15,-4) && -1?MOD(-15,4) && 1?MOD(-15,-4) && -3?ROUND(3.1415926,3) && 3.142?ROUND(3.1415926,2) && 3.14?RAND(-1) && 返回一个随机数补充:设有两个整数m和n(m<n),则生成[m,n]之间随机整数的公式为:INT(RAND()*(n-m+1))+m示例:生成1~100间的随机整数 ?int(rand()*(100-1+1))+1 生成10~100间的随机整数 ?int(rand()*(100-10+1))+102.字符处理函数?SUBSTR("ABCDEFG",3,3) && "CDE"?SUBSTR("ABCDEFG",3) && "CDEFG"?SUBSTR("渭南师范学院",5,4) && "师范"?LEFT("ABCDEFG",3) && "ABC"?RIGHT("ABCDEFG",3) && "EFG"?LEFT("渭南师范学院",4) && "渭南"?RIGHT("渭南师范学院",4) && "学院"?RIGHT(LEFT("渭南师范学院",8),4) && "师范"?LEN("ABCDEFG,./? HIJKLM") && 18?AT("BC","ABCDABCDABCDABCD",2) && 6?AT("BC","ABCDABCDABCDABCD",1) && 2?AT("BC","ABCDABCDABCDABCD") && 2?ALLTRIM(" AB CD ") && "AB CD"?LTRIM(" AB CD ") && "AB CD "?RTRIM(" AB CD ") && " AB CD"?SPACE(5) && " "?UPPER("ABcdeFgHIJklMN") && "ABCDEFGHIJKLMN"?LOWER("ABcdeFgHIJklMN") && "abcdefghijklmn"?VAL("3.14") && 3.14,将字符串转换为数值?STR(3.1415926,5,3) && "3.142",将数值转换为字符串?STR(3.1415926,5,2) && " 3.14"?STR(3.1415926,5,1) && " 3.1"?STR(3.1415926,5) && " 3"?STR(3.1415926) && " 3"?CHR(65) && "A"?ASC("A") && 653.日期处理函数?CTOD("03/05/90") && {03/05/90}?DTOC({03/05/90}) && "03/05/90"?DTOS({03/05/90}) && "19900305"?TIME() && 返回系统当前时间?DATE() && 返回系统当前日期?YEAR({03/05/90}) && 1990?MONTH({03/05/90}) && 3?DAY({03/05/90}) && 5?"今天是:"+STR(YEAR(DATE()),4)+"年"+ALLTRIM(STR(MONTH(DATE()),2))+"月"+ALLTRIM(STR(DAY(DATE()),2))+"日"4.逻辑型函数BOF():测试记录指针是否指向首记录之前,是则返回.T.,否则返回.F.EOF():测试记录指针是否指向末记录之后,是则返回.T.,否则返回.F.示例:USE SB?RECNO(),BOF(),EOF() && 1 .F. .F.SKIP -1?RECNO(),BOF(),EOF() && 1 .T. .F.SKIP 7?RECNO(),BOF(),EOF() && 8 .F. .F.SKIP?RECNO(),BOF(),EOF() && 9 .F. .T.FOUND():用在某些查询命令之后,如果被查询的记录存在,返回.T.,否则返回.F. 示例:USE SBLOCATE FOR 名称="磨床" && .T.?FOUND()LOCATE FOR 名称="汽车" && .F.?FOUND()FILE():测试指定的文件是否存在,存在返回真,否则返回假,应带上文件的扩展名。

相关文档
最新文档