第3章VFP的基本语法.ppt
《第3章VFP的基本语法.ppt》由会员分享,可在线阅读,更多相关《第3章VFP的基本语法.ppt(69页珍藏版)》请在三一文库上搜索。
1、第3章 Visual FoxPro的基本语法,教学目标,掌握VFP中数据类型及变量的分类; 掌握变量的命名及表达式运算; 掌握内存变量的操作; 熟悉VFP函数的使用。,双语课堂 C,重点与难点:数据及变量的类型;使用逻辑表达式描述复合条件;类型转换函数及状态测试函数。,3.1 常量与变量,一. 常量,表示一个具体的、不变的值。不同类型的常量有不同的书写格式。,1.字符型常量 用定界符(单引号、双引号和方括号)括起来的字符串。可以是26个英文大小写字母、10个阿拉伯数字、各种汉字、专用符号和空格等,最大长度可达254个字符。 示例:“ade”, 568 ,“book的中文意思是书。” 注意:如果
2、将阿拉伯数字定义为字符串时,它不具备数学上的数值含义,不能参加数学运算,如电话号码,邮编等。 注意:字符定界符必须成对的出现。如果字符串中包含一种定界符,则必须用另一种定界符括起来。如:“计算机”,双引号为字符定界符,其中的方括号为字符串。,例如:在主窗口中显示几个字符常量,?“计算机”,123,数据,ABX “abc” ? “学习”,字符串,“ ”,表示方法 注意,不包括任何字符的字符串(“”)叫空串. 空串与包含空格的字符串(“ ”)不同.,2. 数值型常量 用来表示一个数量的大小,可以进行算术运算。包含09的阿拉伯数字、小数点与正负号,最大长度为20位。 示例:538, 10.5, 5.
3、87E12, 1.6E12,3. 逻辑型常量 只有逻辑真和逻辑假两个值, 逻辑真的表示形式有:.T.、.t.、.Y.和.y. 逻辑假的表示形式有:.F.、.f.、.N.和.n. 逻辑型数据长度固定为1位,占用1个字节。,4. 日期型常量 表示一个确切的日期,用大括号作为定界符。 1) 传统的日期格式:mm/dd/yy,受设置命令的影响。 2) 严格的日期格式:YYYY-MM-DD,不受设置命令的影响,能表达一个确切的日期。 示例:10/08/06,2006-08-06 严格的日期格式可以在任何情况下使用,而传统的日期格式只能在SET STRICTDATE TO 0 状态下使用。,3)影响日期格
4、式的设置命令 SET MARK TO 日期分隔符 SET DATE TO ymd mdy 等 SET CENTURY ON | OFF &设置年份位数 SET STRICTDATE TO 0 | 1 ,&是否进行严格的日期格式检查,0: 检查 严格日期格式,1: 不检查 传统日期格式,2: 检查,并且对CTOD( )和CTOT( )也有效,5. 日期时间型常量 包括日期和时间两部分内容,用来描述日期和时间。 示例:05/16/99 12:00:00,6.货币型常量 用来表示货币值,在数字前加一个符号($)。存储和计算时采用4位小数,多余小数位四舍五入。 示例:$123.4567,二. 变量,在
5、使用过程中其值可以改变的量。VFP的变量分为字段变量和内存变量两大类。内存变量又包括简单内存变量、系统内存变量和数组变量。,1. 字段变量 字段变量对应于数据表中的字段,是在建立数据表文件时定义的,数据表中的每一个字段都是一个字段变量,以字段名标识。字段变量必须依附于数据表,存在于数据表文件中,随着数据表的打开而生效,随着数据表的关闭而撤消,,2. 简单内存变量 内存中的一个存储区域,是一种临时工作单元,常被用来存储所需要的常数、中间结果或最终结果。变量名由汉字、字母、数字和下划线组成,必须由字母或汉字开头。,(1)内存变量的命名规则: 由字母、汉字、数字或下划线组成。 以字母、汉字或下划线开
6、头。 长度为1128个字符,每个汉字占两个字符。 不能使用VFP的保留字。 当内存变量名与字段变量名相同时,字段名优先于内存变量名,使用时可以在内存变量名前加上M .(或M)以示区别,但赋值时不能使用前缀。 例: ? M . 姓名 & 表示内存变量,内存变量的赋值命令,STORE TO ,格式一,命令动词,去向子句,包含值的表达式,接收值的变量名表,STORE 0 TO AA,BB,CC &数值0赋给变量AA,BB,CC STORE “李磊” TO NAME &字符串“李磊”赋给NAME,例,格式二,=,接收值的变量名,赋值操作符,包含值的表达式,例,A=.T. 将逻辑真值赋给变量A,功能注释
7、: (1)等号一次只能给一个内存变量赋值。 (2)Store命令可以同时给若干个变量赋予相同的值,各内存变量名之间必须用逗号分开。 (3)在vfp中,变量使用之前并不需要特别的声明和定义。 (4)内存变量在赋值时定义了它的值及类型,其类型与所赋值的类型相同。 (5)命令后的符号&,表示该符号后跟随的是本命令行的注释,与命令执行无关。,3. 内存变量的显示; 命令格式一 LIST MEMO TO PRINT DISPLAY MEMO TO PRINT 例 list memo 命令格式一 ?/?功能计算表达式的值,并将其显示在屏幕上。 ?表示从屏幕下一行的第一列显示结果 ?表示从当前行的当前列显示
8、结果 例如: S=“visiual” P=“ foxpro” ?s ? p,例如 在命令窗口键入的命令和主屏显示的内容如下:,s=“vfp” &用字符串vfp赋给变量S,结果S的值为vfp,并成为字符型变量 y=500 &用数值型常量500赋值内存变量 stor 24 to x1,x2 &对两个内存变量赋相同的值 stor .t. to q &用逻辑常量赋值内存变量q ?s,y,x1,x2,q,2. 数组,数组 是按一定顺序排列的一组内存变量,数组中的各个变量称为数组元素。每个数组元素可通过数组名及相应的下标来访问。数组必须先定义后使用。 说明:由若干单下标变量组成的数组称为一维数组,由若干双
9、下标变量组成的数组称为二维数组。在Visual FoxPro 中,只允许使用一维数组或二维数组。 一维数组:各个元素按线性排列; 二维数组:类似于一个数据表,第一维是行,第二维是列。,定义数组,在使用数组时一定要先定义 ,有两条命令可以定义数组。,DIMENSION (,), (,),DECLARE(,), (,),功能:定义一个或多个一维或二维的内存变量数组。 参数描述:DIMENSION和DECLARE为定义数组的命令动词。 :指定数组的名称,其规定与内存变量名相同。 (,):定义数组的维数和大小 。 说明:1、数组的下标的起始值为 。 2、同一数组中的数组元素可以有不同的数据类型 。 3
10、、二维数组中各元素按行的顺序依次排列 。,4、每个数组占用一个内存变量 。 5、除了可以分别对数组元素赋值以外,也可对数组中的所有元素赋同一初值。 6、DIMENSION和DECLARE功能完全相同,常用DIMENSION。 例如: DIMENSION (,), (,) DIMENSION A (2,3), B(4,8) 也可以一次只定义一个数组: DIMENSION A(2,3) 也可以只定义一维数组: DIMENSION A(6),(2)示例:dimension x(5),y(2,3),一维数组x含5个元素: x(1),x(2),x(3), x(4) x(5). 二维数组Y含6个元素: y
11、(1,1),y(1,2),y(1,3),y(2,1),y(2,2),y(2,3) 可以用一维数组表示二维数组分别为: y(1),y(2),y(3),y(4),y(5),y(6),数组元素的赋值操作,STORE TO ,格式一,命令动词,去向子句,包含值的表达式,接收值的数组名或元素,STORE 0 TO A 将数值0赋给数组A的所有元素 STORE “李磊“ TO A(2,1) 将字符串“李磊”赋给数组A的第2行第1列的元素。,例,格式二,=,接收值的数组名或元素,赋值操作符,包含值的表达式,例,A=.T. 将逻辑真值赋给数组A的所有元素,【例2.3】定义数组,并给数组赋值。 DIMENSIO
12、N Y(3), X(2,2) Y=123 X(1,1)=345 X(1,2)=“abc“ X(2,1)=2003-03-25 X(4)=.T. ? Y(1),Y(2),Y(3),X(1),X(2),X(3),X(4),3.2 运算符与表达式,运算符:是对数据对象(操作数)进行操作运算的符号。 运算符以其结果的类型分组有如下五类 : 算术运算符 关系运算符 逻辑运算符 字符串运算符 日期运算符 1、算术运算符:操作数和运算的结果都是数值 (1) + 加号 (2) - 减号 (3) * 乘号 (4) / 除号 (5) 或* 乘方 (6) % 余数 %取模,取两数相除的余数 ?17%5 结果为2 和
13、* 乘方 ?23 结果为8 运算的顺序:是先乘方-乘除-加减,若有括号先内后外。,4.关系运算符: 小于()、等于(=)、不等于(、#或!=)、 小于等于(=)、 字符串包含($)、字符串精确比较(= =)。,说明: (1)运算符= =和$仅适用于字符型数据。其他运算符适用于任何类型的数据,但前后两个运算对象的数据类型必须一致。 数值型和货币型数据比较: 按数值的大小比较,包括负号。 日期或日期时间型数据比较: 越早的日期或时间越小,越晚的日期或时间越大。,注意:关系运算符两边操作数类型必须一致,比较的结果是逻辑植。 数值数据按数值大小比较 ?56(f) 日期型数据按年月日的先后进行比较 ?1
14、2/31/9912/31/01(f) 字符型数据是按相应位置上两个字符的ASCII码值进行比较 “ABC”AAAA”(T), “ABC”=“AB”(T) “ABC”= =“AB”(F), :包含,左串是右串的子串为真 ?BC$ABCD (T),3、 逻辑运算,运算结果是逻辑值 NOT(!):取反运算,即:NOT .T.=.F. NOT .F.=.T. .AND. 逻辑与 .T.AND”ABC”AB” (T) .OR. 逻辑或 .T.OR34 (T) 4、字符运算符 :用于连接两个字符串 :用于连接两个字符串,并将前面一个字符串 尾部的空格移到结果字符串的尾部。 例如:a=hello b=eve
15、ryone! ?a+b, a-b,例:使用逻辑表达式描述复合条件 条件一:“自动化专业的女团员” 专业 “自动化” AND 性别=女 AND 团员 条件二:“未婚的女职工” NOT 婚否 AND 性别=女 条件三:“职称为工程师或部门为技术科的男职工” (职称=“工程师” OR 部门=“技术科”) AND 性别=男,例如: “ABCl23”+“666xyz”连接后结果为: “ABCl23666xyz“ “计算机”+“世界” 连接后结果为: “计算机世界” “ABC ”-“DEFG” 连接后结果为: “ABCDEFG “ “ABC ”“DEFG” 连接后结果为: “ABC DEFG “,“+”运
16、算符与“”运算符的区别:,+,5 日期时间表达式的格式,2001-03-19+10 2001-03-19-365 2001-03-19 12:10:10-2001-03-19 11:10:10 2001-03-19 10:10:10am+10 设置日期格式的几个命令: Set strictdate to 0 严格日期的格式 Set strictdate to 1 传统日期的格式 Set century on/off 年份前含有世纪/不含世纪,算术运算符,最高级,*或(乘方),*、/、和%(乘、除和余数), 和 (加和减), 和 (直接连接和去空连接), 和(加和减),日期运算符,关系运算符,、
17、=、=、#、!=、$、=,各运算符优先级相同,次高级,逻辑运算符,NOT或!(逻辑非),AND(逻辑与),OR(逻辑或),最低级,字符串运算符,例如:数值表达式,?(1/60-3/56)*18.54 ?(1+2(1+2)/(2+2) ?15%4 Stor 122 to x,y Z=73 ?x%z,mod(x,z),混合表达式中, 算术运算符优先于关系运算符,关系运算符优先于逻辑运算符。,例如:“ABC”$”AD”OR(1+2)366,3.3 Visual FoxPro的常用函数,函数名起标识作用;参数是自变量,写在括号内,当有多个参数时,各个参数之间用逗号分隔;括号中没有参数的函数称为无参函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 基本 语法
链接地址:https://www.31doc.com/p-2979398.html