欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VFP的基本语法.ppt

    • 资源ID:5452129       资源大小:637KB        全文页数:69页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VFP的基本语法.ppt

    第3章Visual FoxPro的基本语法,教学目标,掌握VFP中数据类型及变量的分类;掌握变量的命名及表达式运算;掌握内存变量的操作;熟悉VFP函数的使用。,双语课堂C,重点与难点:数据及变量的类型;使用逻辑表达式描述复合条件;类型转换函数及状态测试函数。,3.1 常量与变量,一.常量,表示一个具体的、不变的值。不同类型的常量有不同的书写格式。,1.字符型常量 用定界符(单引号、双引号和方括号)括起来的字符串。可以是26个英文大小写字母、10个阿拉伯数字、各种汉字、专用符号和空格等,最大长度可达254个字符。示例:“ade”,568,“book的中文意思是书。”注意:如果将阿拉伯数字定义为字符串时,它不具备数学上的数值含义,不能参加数学运算,如电话号码,邮编等。注意:字符定界符必须成对的出现。如果字符串中包含一种定界符,则必须用另一种定界符括起来。如:“计算机”,双引号为字符定界符,其中的方括号为字符串。,例如:在主窗口中显示几个字符常量,?“计算机”,123,数据,ABX“abc”?“学习”,字符串,“”,表示方法 注意,不包括任何字符的字符串(“”)叫空串.空串与包含空格的字符串(“”)不同.,2.数值型常量 用来表示一个数量的大小,可以进行算术运算。包含09的阿拉伯数字、小数点与正负号,最大长度为20位。示例:538,10.5,5.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)影响日期格式的设置命令 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,二.变量,在使用过程中其值可以改变的量。VFP的变量分为字段变量和内存变量两大类。内存变量又包括简单内存变量、系统内存变量和数组变量。,1.字段变量 字段变量对应于数据表中的字段,是在建立数据表文件时定义的,数据表中的每一个字段都是一个字段变量,以字段名标识。字段变量必须依附于数据表,存在于数据表文件中,随着数据表的打开而生效,随着数据表的关闭而撤消,,2.简单内存变量 内存中的一个存储区域,是一种临时工作单元,常被用来存储所需要的常数、中间结果或最终结果。变量名由汉字、字母、数字和下划线组成,必须由字母或汉字开头。,(1)内存变量的命名规则:由字母、汉字、数字或下划线组成。以字母、汉字或下划线开头。长度为1128个字符,每个汉字占两个字符。不能使用VFP的保留字。当内存变量名与字段变量名相同时,字段名优先于内存变量名,使用时可以在内存变量名前加上M.(或M)以示区别,但赋值时不能使用前缀。例:?M.姓名&表示内存变量,内存变量的赋值命令,STORE TO,格式一,命令动词,去向子句,包含值的表达式,接收值的变量名表,STORE 0 TO AA,BB,CC&数值0赋给变量AA,BB,CCSTORE“李磊”TO NAME&字符串“李磊”赋给NAME,例,格式二,=,接收值的变量名,赋值操作符,包含值的表达式,例,A=.T.将逻辑真值赋给变量A,功能注释:(1)等号一次只能给一个内存变量赋值。(2)Store命令可以同时给若干个变量赋予相同的值,各内存变量名之间必须用逗号分开。(3)在vfp中,变量使用之前并不需要特别的声明和定义。(4)内存变量在赋值时定义了它的值及类型,其类型与所赋值的类型相同。(5)命令后的符号&,表示该符号后跟随的是本命令行的注释,与命令执行无关。,3.内存变量的显示;命令格式一 LIST MEMO TO PRINT DISPLAY MEMO TO PRINT例list memo 命令格式一?/?功能计算表达式的值,并将其显示在屏幕上。?表示从屏幕下一行的第一列显示结果?表示从当前行的当前列显示结果例如: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.数组,数组 是按一定顺序排列的一组内存变量,数组中的各个变量称为数组元素。每个数组元素可通过数组名及相应的下标来访问。数组必须先定义后使用。说明:由若干单下标变量组成的数组称为一维数组,由若干双下标变量组成的数组称为二维数组。在Visual FoxPro 中,只允许使用一维数组或二维数组。一维数组:各个元素按线性排列;二维数组:类似于一个数据表,第一维是行,第二维是列。,定义数组,在使用数组时一定要先定义,有两条命令可以定义数组。,DIMENSION(,),(,),DECLARE(,),(,),功能:定义一个或多个一维或二维的内存变量数组。参数描述:DIMENSION和DECLARE为定义数组的命令动词。:指定数组的名称,其规定与内存变量名相同。(,):定义数组的维数和大小。说明:1、数组的下标的起始值为。2、同一数组中的数组元素可以有不同的数据类型。3、二维数组中各元素按行的顺序依次排列。,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(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】定义数组,并给数组赋值。DIMENSION Y(3),X(2,2)Y=123X(1,1)=345X(1,2)=abcX(2,1)=2003-03-25X(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和*乘方?23 结果为8运算的顺序:是先乘方-乘除-加减,若有括号先内后外。,4.关系运算符:小于()、等于(=)、不等于(、#或!=)、小于等于(=)、字符串包含($)、字符串精确比较(=)。,说明:(1)运算符=和$仅适用于字符型数据。其他运算符适用于任何类型的数据,但前后两个运算对象的数据类型必须一致。数值型和货币型数据比较:按数值的大小比较,包括负号。日期或日期时间型数据比较:越早的日期或时间越小,越晚的日期或时间越大。,注意:关系运算符两边操作数类型必须一致,比较的结果是逻辑植。数值数据按数值大小比较?56(f)日期型数据按年月日的先后进行比较?12/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=everyone!?a+b,a-b,例:使用逻辑表达式描述复合条件条件一:“自动化专业的女团员”专业“自动化”AND 性别=女 AND 团员条件二:“未婚的女职工”NOT 婚否 AND 性别=女条件三:“职称为工程师或部门为技术科的男职工”(职称=“工程师”OR 部门=“技术科”)AND 性别=男,例如:“ABCl23”+“666xyz”连接后结果为:ABCl23666xyz“计算机”+“世界”连接后结果为:“计算机世界”“ABC”-“DEFG”连接后结果为:ABCDEFG“ABC”“DEFG”连接后结果为:ABC DEFG,“+”运算符与“”运算符的区别:,+,5 日期时间表达式的格式,2001-03-19+102001-03-19-3652001-03-19 12:10:10-2001-03-19 11:10:102001-03-19 10:10:10am+10设置日期格式的几个命令:Set strictdate to 0 严格日期的格式Set strictdate to 1 传统日期的格式Set century on/off 年份前含有世纪/不含世纪,算术运算符,最高级,*或(乘方),*、/、和%(乘、除和余数),和(加和减),和(直接连接和去空连接),和(加和减),日期运算符,关系运算符,、=、=、#、!=、$、=,各运算符优先级相同,次高级,逻辑运算符,NOT或!(逻辑非),AND(逻辑与),OR(逻辑或),最低级,字符串运算符,例如:数值表达式,?(1/60-3/56)*18.54?(1+2(1+2)/(2+2)?15%4Stor 122 to x,yZ=73?x%z,mod(x,z),混合表达式中,算术运算符优先于关系运算符,关系运算符优先于逻辑运算符。,例如:“ABC”$”AD”OR(1+2)366,3.3 Visual FoxPro的常用函数,函数名起标识作用;参数是自变量,写在括号内,当有多个参数时,各个参数之间用逗号分隔;括号中没有参数的函数称为无参函数。每个函数运算后都会返回一个值,称为函数值,无参函数也不例外,函数值会因参数值而异。,函数的三个要素:,函数名参数函数值,函数名(参数1,参数2),函数的一般格式:,1.宏替换函数,格式:&.示例:aa=“bb”bb=“北京”?aa,bb,&aa?“&bb.是中国的首都”&用“.”作为内存变量的结束符 n=“567.83”?356.08+&n注意:如果&后不跟有效的内存变量名,则&只是一个字符,一.字符处理函数,2.计算字符串长度函数LEN(),格式:LEN()示例:?LEN(“x+y=?”)&结果为5?LEN(“Visual FoxPro程序设计)&结果为21,3.生成空格函数SPACE(),格式:SPACE()示例:?“湖北”+SPACE(3)+“武汉”&湖北 武汉,取左子串:LEFT(,)取右子串:RIGHT(,)取任意子串:SUBSTR(,),“12345.6789”,“789”,“1234”,“5.6”,?RIGHT(C,3),变量C,?LEFT(C,4),?SUBSTR(C,5,3),4.截取子串函数,格式:AT(,)功能:AT(,)返回在中第一次出现的起始位置。AT(,)返回 在中第n次出现的起始位置。,“This is a example.”,?AT(is,C),?AT(is,C,2),3,6,变量C,5.求子串位置函数,7.重复字符串函数REPLICATE(),格式:REPLICATE(,)示例:?REPLICATE(*,3)&*,6.计算子串出现次数函数 OCCURS(),格式:OCCURS(,)示例:?OCCURS(is,This is a example)&结果为3?OCCURS(as,This is a example)&结果为0,8字符串替换函数STUFF(),格式:STUFF(,,)示例:?STUFF(computer,3,4,”abc”)&结果为”coabcer”?STUFF(computer,3,1,”abc”)&结果为”coabcputer”,9.字符替换函数 CHRTRAN(),格式:CHRTRAN(,)示例:?CHRTRAN(ABACAD,”ACD”,”X12”)&结果为”XBX1X2”?CHRTRAN(计算机ABC,”计算机”,”电脑”)&结果为”电脑ABC”,10.字符串匹配函数 LIKE(),格式:LIKE(,)示例:?LIKE(”AB*”,”ABCDEFG”)&结果为.T.,11.删除前后空格函数,格式:TRIM()LTRIM()ALLTRIM()示例:SS=SPACE(1)+“TEST”+SPACE(3)?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)&TESTTEST TEST?LEN(SS),LEN(TRIM(SS)&8 5?LEN(LTRIM(SS),LEN(ALLTRIM(SS)&7 4,12.大小写字母转换函数,格式:LOWER()UPPER()示例:?LOWER(“AaBbCc”)&结果为aabbcc?UPPER(Visual FoxPro)&结果为VISUAL FOXPRO,1.绝对值和符号函数,格式:ABS()SIGN()示例:?ABS(3.456)&结果为3.456?ABS(-12*5)&结果为60,二.数值处理函数,2.求整数函数3.平方根函数4.自然指数函数5.对数函数6.圆周率函数7.四舍五入函数8.求模(余数)函数9.正弦函数10.余弦函数11.求最大值和最小值函数 示例:,1.系统日期和时间函数,格式:DATE()TIME()DATETIME()示例:?DATE(),TIME(),DATETIME()&07/05/06 14:38:06 07/05/06 02:38:06 PM,三.日期和时间函数,2.求年份、月份和天数函数,格式:YEAR(|)MONTH(|)DAY(|)示例:?YEAR(DATE()&2006?MONTH(DATE()&7?DAY(DATE()&5 假设当前日期为2006年7月5日,CMONTH(|)功能:以英文形式输出日期型表达式或日期时间型表达式中的月份。,3.字符月份函数,DOW()&返回17的数值 CDOW()&返回英文形式的星期 注意:一个星期的第1天为Sunday,4.星期函数,1.求ASCII函数:格式:ASC()返回中的第一个字符对应的ASCII码值。2.求字符函数:格式:CHR()返回ASCII值为的字符。,字符(C),字符的ACSII码(N),ASC,CHR,四.数据类型转换函数,格式:STR(,为转换后的字符串位数,该长度包括小数点、负号。如果缺省和,其输出结果将取固定长度为10位,且只取其整数部分;(2):若的设定值大于实际数值的小数位,则转换后的字符串后补0,若的设定值小于实际数值的小数位,则对小数四舍五入;若缺省,则转换后为整数,原小数部分四舍五入;,3.数值型向字符型转换函数,(3)如果值大于给出值的数字位数时,在返回的字符串左边添加空格;(4)如果值小于值的整数部分位数,将返回一串星号,表示数值溢出。,示例:n=1234.56789?STR(n,8,2)&结果为 1234.57?STR(n,8)&结果为 1235?STR(n,8,4)&结果为1234.568?STR(n,12,6)&结果为 1234.567890?STR(n)&结果为 1235?STR(n,3)&结果为*,4.字符串转换成数值函数VAL(),格式:VAL()说明:(1)的值必须是数字形式的字符串,它只能含有数字、正负号和小数点;(2)转换时,如果遇到非数字字符则停止。如果字符表达式的第一个字符即非数字字符,则转换停止,其值为0.00;示例:?VAL(“-789.123”)&结果为-789.12?VAL(10A.56)&结果为10.00?VAL(C346.05)&结果为0.00,格式:CTOD()CTOT()说明:(1)必须是一个有效的日期格式;(2)中的日期部分格式要与SET DATE TO命令设置的格式一致。,5.字符串转换成日期或日期时间函数,示例:SET DATE TO YMD SET CENTURY ON D1=CTOD(“2006/03/08”)T1=CTOT(“2005/03/08”+“”+TIME()?D1,T1&2006/03/08 2006/03/08 10:12:25 AM,6.日期或日期时间转换成字符串函数,格式:DTOC(),1)TTOC(),1)说明:(1)字符串日期部分的格式与SET DATE TO命令的设置有关;时间部分的格式与SET HOURS TO 12|24命令的设置有关。(2)如果有,1选项,对于DTOC,按照YYYYMMDD的格式输出;对于TTOC,则按照YYYYMMDDHHMMSS的格式输出,采用24小时制。,格式:TYPE()VARTYPE()说明:函数返回值为字符型,各字符含义如下:,数据类型测试函数,示例:A=567?TYPE(“A”)&N?VARTYPE(A)&N,值域测试函数格式:BETWEEN(,,)功能:判断一个表达式的值是否介于另外两个表达式的值之间。当值大于等于且小于等于时,函数值为逻辑真.T.,否则函数值为逻辑假.F.。如果或有一个是NULL值,那么函数值也是NULL值。例:x=76?BETWEEN(x,70,80)&结果为.T.,表达式测试函数格式:INLIST(,)功能:测试表达式1的值是否与后面表达式的值相匹配。若表达式1的值是其余表达式值之一,函数值为逻辑真“.T.”,否则函数值为逻辑假“.F.”。,3.4VFP的命令结构与书写规则,命令动词+修饰子句,命令结构,示 例:USE XS&打开名为XS的表文件COUNT ALL FOR 成绩60&统计XS中分数在60分以下的人数LIST ALL 姓名,成绩 FOR 成绩60 TO PRINTER&在打印机上输出成绩为60分以下的学生的姓名和分数USE&关闭表文件XS,将其保存在磁盘上,Visual FoxPro 命令的一般格式,;FOR;WHILE;TO FILE TO PRINTERTO;ARRAY TO;ALL LIKE EXCEPT;IN,各部分的意义,命令动词:VFP的命令名,指示计算机要完成的操作。,表达式表:规定命令可处理的字段。,范围:指定命令所作用的记录范围。范围有下列五种选择:,ALL 当前表中的全部记录。NEXT 从当前记录开始的连续N条记录。RECORD 当前表中的第N号记录。REST 从当前记录开始到最后一条记录为止的所有记录。缺省:在不同的命令中含义不同,等价于ALL或仅作用 于当前记录。,NEXT 3,REST,ALL,当前记录指针,RECORD 3,范围示例:,各部分的意义,FOR:规定只对满足条件的记录进行操作。,WHILE:从当前记录开始,按记录顺序从上向下处理,一旦遇到不满足条件的记录,就停止搜索并结束该命令的执行。(WHILE 子句比FOR子句优先),TO子句:控制操作结果的输出去向。,学号 课程号成绩030101 01 76030103 01 87030102 01 67,学号 课程号成绩030101 01 76,List for 课程号 01,List while 课程号 01,FOR 与WHILE的区别,命令书写规则,1)必须以命令动词开头,其后子句的顺序可以任意。2)命令动词、修饰和限制子句之间要用空格分开。3)命令动词可以缩写为前四个字符,并且命令动词中的英文字母不区分大小写。4)变量名、字段名和文件名应避免使用保留字,以免产生错误。5)一行只能写一条命令,若分多行书写,必须使用续行符“;”。6)每条命令以回车健作为结束标志。,符号的约定 位于该符号中的内容是可选项。书写时符号本身不输入 位于该符号中的内容是必选项。书写时符号本身不输入 表示如果 中的内容被选中,则中的内容为必选项|表示或者,即根据需要从该符号紧邻的前后两项中,只能选择其中的一项.表示该符号前面的内容可重复多次,Visual FoxPro的文件类型 数据库文件(1)数据库文件 扩展名为DBC,DCT和DCX。(2)表文件 扩展名为DBF和FPT。(3)索引文件 复合索引文件:CDX,单一索引文件:IDX。文档文件(1)表单文件 扩展名为SCX和SCT(2)报表文件 扩展名为FRX和FRT(3)菜单文件 扩展名为MNX和MNT(4)项目文件 扩展名为PJX和PJT 程序文件(1)源程序文件(PRG、MPR、QPR)(2)编译后的程序文件(FXP、MPX、QPX(3)应用程序文件。(APP、EXE),本章小结,双语课堂C,本章主要讲述了Visual FoxPro中的数据类型、常量、变量、函数和表达式,它们是构成命令和程序的基本元素。其中常量分为字符型常量、数值型常量、浮点型常量、逻辑型常量、日期型常量和日期时间型常量。变量分为内存变量和字段变量两种。使用算术运算符、字符运算符、关系运算符和逻辑运算符构成数值表达式、日期表达式、字符表达式、关系表达式和逻辑表达式等。函数包括数值型函数、字符型函数、日期与时间函数、数据类型转换函数和状态测试函数。书写Visual FoxPro命令时一定要遵循其语法规则。,Thank you very much!,本讲到此结束谢谢您的光临!,

    注意事项

    本文(VFP的基本语法.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开