第二章VFP语言基础_第1页
第二章VFP语言基础_第2页
第二章VFP语言基础_第3页
第二章VFP语言基础_第4页
第二章VFP语言基础_第5页
已阅读5页,还剩42页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-6-271第二章第二章 VFPVFP语言基础语言基础2022-6-272第二章第二章 VFP语言基础语言基础主要内容主要内容: :2022-6-2732.1 2.1 数据类型数据类型2022-6-274字符型(字符型(Character)数据描述不具有计算能力的文数据描述不具有计算能力的文字数据类型。字数据类型。字符型数据字符型数据包括汉字、英文字符、数字字符、空包括汉字、英文字符、数字字符、空格及其他专用符号。格及其他专用符号。 长度范围是长度范围是0-254个字符。个字符。 1、字符型、字符型2022-6-2752、数值型、数值型 数值型数据(数值型数据(Numeber)是描述数

2、量的数)是描述数量的数据类型。由数字(据类型。由数字(0-9)、小数点和正负号组成。)、小数点和正负号组成。最大长度为最大长度为20位。位。 例:例: 18.5 6789.3453、日期型、日期型 日期型(日期型(Date)数据是用于表示日期的,默认格)数据是用于表示日期的,默认格式为式为yyyy-mm-dd来表示。长度固定为来表示。长度固定为8位位。 例例:2005-8-26 、1998-04-05 10:00:00 am2022-6-2764、逻辑型、逻辑型 逻辑型数据逻辑型数据 (Logic)是描述客观事物真假的)是描述客观事物真假的数据,用于表示逻辑判断结果的。它只有两类值数据,用于表

3、示逻辑判断结果的。它只有两类值:真(真(.t.)和()和(.f.)假)假。 长度固定为长度固定为1位。位。 5、备注型、备注型 备注型(备注型(Memo)数据用于存放较长的字符型数数据用于存放较长的字符型数据类型。可以把它看成是字符型数据的特殊形式。据类型。可以把它看成是字符型数据的特殊形式。长度固定为长度固定为4位。位。 只用于数据表中的字段类型的定义。只用于数据表中的字段类型的定义。2022-6-2776、通用型、通用型 通用型(通用型(General)数据可以是电子表格、文档、数据可以是电子表格、文档、图片等。它只用于数据表中的字段类型的定义图片等。它只用于数据表中的字段类型的定义。长长

4、度固定为度固定为4位。位。2022-6-2782.22.2数据存储数据存储 VFP允许使用常量、变量、数组、记录允许使用常量、变量、数组、记录和对象来存储数据,它们也被称为和对象来存储数据,它们也被称为存储数据存储数据的容器的容器. 2.2.1 常量常量(Constants) 2.2.2 内存变量内存变量(Variables) 2.2.3 字段(字段(Fields) 2.2.4 数组数组(Arrays)2022-6-279 常量是指在数据处理过程中其值保持常量是指在数据处理过程中其值保持不变的量。包括:不变的量。包括:2.2.1 常量常量数值型常量数值型常量字符型常量字符型常量逻辑型常量逻辑型

5、常量日期型常量日期型常量1.1.数值型常量数值型常量例:例:123.5 0.9E+6包括整数和小数在内的数值。包括整数和小数在内的数值。2022-6-27102.2.1 2.2.1 常量常量2.2.字符型常量字符型常量例:例: “ “ABCD”ABCD” 1234 1234 王小力王小力 字符型数据使用时必须用定界符双引号或单引字符型数据使用时必须用定界符双引号或单引号或方扩号括起来号或方扩号括起来例例:“王小力王小力” ” abcabc 232 232是是字符型数据,字符型数据, 而而 姓名姓名 xyxy 123 123 不是字符型数不是字符型数据。据。思考:思考:以下表达式的结果?以下表达

6、式的结果? 1. 1. ?12+1312+13 2. 2. ?“12”+“13”12”+“13”2022-6-27112.2.1 2.2.1 常量常量3.3.日期常量日期常量例:例:1999-09-081999-09-08 Ctod(“09/08/99”) Ctod(“09/08/99”)Set century on/off功能:功能:显示显示4位位/2位年份。位年份。Set date ymd功能:按功能:按yy/mm/dd格式显示日期格式显示日期.Set date amer功能功能: 按月按月/日日/年格式显示日期年格式显示日期.2022-6-27122.2.1 2.2.1 常量常量4.4.

7、逻辑型常量逻辑型常量真(真(.t.) 假假 (.f.) 思考:思考:123.5 123.5 “abcde“abcde” .t. .t. .f. .f.1998-04-051998-04-051998-04-05 10:00:001998-04-05 10:00:002022-6-2713数值型内存变量数值型内存变量字符型内存变量字符型内存变量逻辑型内存变量逻辑型内存变量日期型内存变量日期型内存变量2.2.2 2.2.2 内存变量内存变量常用的内存变量类型有常用的内存变量类型有: :2022-6-27141.1.内存变量的命名内存变量的命名2.2.2 2.2.2 内存变量内存变量(1)(1)由汉

8、字、字母、数字、下划线组成,而且由汉字、字母、数字、下划线组成,而且 必须以汉字、字母或下划线开头。必须以汉字、字母或下划线开头。(2)(2)长度最多长度最多128128个字符。(一个汉字占个字符。(一个汉字占2 2个字个字节)节)(3)(3)不能使用不能使用VFPVFP的保留字。的保留字。例例1 1:在下列字符串中,不符合在下列字符串中,不符合VFPVFP规定的、非规定的、非法的变量名是(法的变量名是( ) A A、GZINPUT2 BGZINPUT2 B、A ASK97 CSK97 C、4AK 4AK D D、姓名、姓名2022-6-2715例例2:在下列字符串中,符合在下列字符串中,符合

9、VFPVFP规定的、合法的规定的、合法的变量名是变量名是( ) A、FE_1234 B、FIND C 、25_ABCD D、 PS:122.2.内存变量的建立内存变量的建立 给内存变量赋值有给内存变量赋值有 STORE STORE 和和 = = 两个命令两个命令. .例:例:STORE 0 TO A1,A2,A3 A1=15 A2=16 ?A1+A2+A32.2.2 2.2.2 内存变量内存变量2022-6-2716注意:注意: 一行只能写一条命令。写完一条命令后按回车键来确一行只能写一条命令。写完一条命令后按回车键来确认。认。 ?可以显示后边表达式的结果。?可以显示后边表达式的结果。 3.显

10、示内存变量显示内存变量 List/display memory like例例: : W1=“123” W2=5 X1=4 W3=.f. List memory like W*2.2.2 2.2.2 内存变量内存变量2022-6-27174.释放内存变量释放内存变量(1)clear memory(2)release all like /except作用:释放所有内存变量或指定的内存变量。作用:释放所有内存变量或指定的内存变量。例:例:release all like W* List memory like w*2.2.3 2.2.3 字段变量字段变量2.2.2 2.2.2 内存变量内存变量202

11、2-6-27182.2.3 2.2.3 字段字段在上表中在上表中,学号、姓名、性别等均是字段变量。学号、姓名、性别等均是字段变量。2022-6-2719常用的字段变量类型有:常用的字段变量类型有: 数值型、字符型、逻辑型(数值型、字符型、逻辑型(1 1)、日期型()、日期型(8 8)、)、备注型(备注型(4 4)和通用型()和通用型(4 4)等。)等。课堂练习:课堂练习:1.1.在在VFPVFP中,以下说法不正确的是(中,以下说法不正确的是( ) A A、字符型字段中可以存放空格、字符型字段中可以存放空格 B B、日期型字段中专门存放日期数据、日期型字段中专门存放日期数据 C C、备注型字段中

12、可以一个字都不放、备注型字段中可以一个字都不放 D D、逻辑型字段中可以存放数值、逻辑型字段中可以存放数值2.2.字段为数值型字段,其宽度为字段为数值型字段,其宽度为6 6,则其小数宽度,则其小数宽度最多可定义为(最多可定义为( ) A A、2 B2 B、8 C8 C、4 D4 D、6 62.2.3 2.2.3 字段字段2022-6-2720数组数组: :2.2.4 2.2.4 数组数组 是内存中连续的一片存储区域,由一组变量组是内存中连续的一片存储区域,由一组变量组成。每个数组元素通过数组名及相应的下标被引用,成。每个数组元素通过数组名及相应的下标被引用,相当于一个一般的内存变量。相当于一个

13、一般的内存变量。 通过赋值语句可以为各个元素分别赋值,且赋通过赋值语句可以为各个元素分别赋值,且赋值的类型可以不同。值的类型可以不同。数组的定义:数组的定义:dimension(,),(,)功能:定义一个或若干个一维或二维数组。功能:定义一个或若干个一维或二维数组。2022-6-2721说明:见书说明:见书P20P20例例:dime a(3) dime b(2,3) ,c5 a(1)=123 a(2)=234 ?a(1) ?a(2) ?a(3) b=12(数组的各个元素值均为数组的各个元素值均为1212) b(2,2)=8( (相当于相当于b(5)=8b(5)=8) )2.2.4 2.2.4

14、数组数组2022-6-27222.3 2.3 表达式表达式1. 数值表达式数值表达式 2. 字符表达式字符表达式4. 关系表达式关系表达式5. 逻辑表达式逻辑表达式3. 日期表达式日期表达式2022-6-27232.3.1 2.3.1 数值表达式数值表达式、算术表达式、算术表达式运算符号:运算符号:+ - + - * * / / * * *或或 %(%(求余求余) )例:例:? 2*3? 12+45? 12%5? (2*3-4)/22022-6-27242.3.2 2.3.2 字符表达式字符表达式2 2、字符表达式、字符表达式():联接,联接两个字符型数据():联接,联接两个字符型数据例:例:

15、?“AB”+”CD”():将前边字符串尾部空格压缩到后边():将前边字符串尾部空格压缩到后边字符串的尾部字符串的尾部?“ab ” “cd”?len(“ab ” “cd”)例:例:2022-6-27252.3.32.3.3日期表达式日期表达式3 3、日期表达式、日期表达式()是在已给的日期上再加天数是在已给的日期上再加天数?1998-10-10+3?1998-11-04+4思考:思考:例:例:()() 是计算已给的两个日期相差的天数是计算已给的两个日期相差的天数?1998-10-15-1998-10-10?1999-10-17-1999-10-09思考:思考:例:例:2022-6-27264 4

16、、关系表达式、关系表达式2.3.42.3.4关系表达式关系表达式 小于小于 = 大于大于 =大于等于大于等于= =等于等于 =精确比较精确比较或或# #或或 !=!=不等不等 ?58 ?4+66.and.4+76.and.4+710?3+56.and.4+710 ?3+5102.3.52.3.5逻辑表达式逻辑表达式例例1 1:2022-6-27282.3.52.3.5逻辑表达式逻辑表达式?3+56.or.4+76.or.4+710?3+56.or.4+710 ?3+510 括号括号算术运算符算术运算符字符串运算字符串运算符符关系运算关系运算符符逻辑运算逻辑运算符符(not and or )?.

17、not.3+56?.not.3+56例例2 2:例例3 3:运算符的优先级:运算符的优先级:2022-6-27292.42.4系统函数系统函数2022-6-27302.4.12.4.1数值处理函数数值处理函数2022-6-27312.4.12.4.1数值处理函数数值处理函数4.4.求最大值函数求最大值函数 格式:格式:MAXMAX( , expR3 expR3 ) 功能:返回几个数值表达式中最大的值。功能:返回几个数值表达式中最大的值。 例:例:?max(-30,40,20)?max(-30,40,20)结果为:结果为:40405.5.求最小值函数求最小值函数 格式:格式:MinMin( ,

18、expR3 expR3 ) 功能:返回几个数值表达式中最小的值。功能:返回几个数值表达式中最小的值。 例:例:?min(-30,40,20)?min(-30,40,20)结果为:结果为:-30-302022-6-27327.7.求自然对数函数求自然对数函数 格式:格式:log(expnlog(expn) ) 功能:求功能:求expnexpn的自然对数值的自然对数值. . 例:例:?log(32.78)?log(32.78)结果为:结果为:3.493.498.8.求幂函数求幂函数 格式:格式:exp(expnexp(expn) ) 作用:求作用:求expnexpn对于对于e e的幂的值。的幂的值

19、。2.4.12.4.1数值处理函数数值处理函数2022-6-2733例:?例:?exp(4.43)exp(4.43)结果为:结果为:83.9383.939.9.取模函数取模函数格式:格式:mod(expn1,expn2)mod(expn1,expn2)功能:求功能:求expn1expn1除以除以expn2expn2的余数的余数例:例:?mod(15,4)?mod(15,4)结果为:结果为:3 3注注: :当当expn1,expn2expn1,expn2异号时异号时, ,两数相除所得余两数相除所得余数数, ,先与被除数同号先与被除数同号, ,再加上除数的值即再加上除数的值即可可. .2.4.12

20、.4.1数值处理函数数值处理函数2022-6-2734LENLEN( expC ) 功能:计算参数字符串的长度功能:计算参数字符串的长度, ,结果为数值型。结果为数值型。2.4.22.4.2字符处理函数字符处理函数2022-6-2735 例:例:?len(“abcdefg?len(“abcdefg”)”)结果为:结果为:7 7 ?len ?len(“(“沈阳农业大学沈阳农业大学”) )结果为:结果为:12123.3.生成空格函数生成空格函数 格式:格式:space(expnspace(expn) ) 功能:产生由功能:产生由expnexpn指定数目的空格,结果为字符型。指定数目的空格,结果为字

21、符型。 例:例:?“ab”+space(3)+ “cd?“ab”+space(3)+ “cd” ” 结果为结果为ab cdab cd4.4.字符串转换成小写字母函数字符串转换成小写字母函数 格式:格式:LOWERLOWER( expC ) 功能:将字符表达式中的大写字母转换成小写字母。功能:将字符表达式中的大写字母转换成小写字母。 例:?例:?Lower(“ViaFbLower(“ViaFb”) ”) 结果为:结果为:“viafbviafb”5.5.字符串转换成大写字母函数字符串转换成大写字母函数 格式:格式:upperupper( expC ) 功能:将字符表达式中的小写字母转换成大写字母。

22、功能:将字符表达式中的小写字母转换成大写字母。 例:?例:? upper(“ViaFbupper(“ViaFb”) ”) 结果为:结果为:“VIAFB”VIAFB”2.4.22.4.2字符处理函数字符处理函数2022-6-27366.6.删除字符串尾部的空格函数删除字符串尾部的空格函数 格式:格式:TRIMTRIM( expC ) 功能:删除功能:删除expC 尾部空白字符与尾部空白字符与RTRIMRTRIM()完()完全相同。全相同。 例:例:x=abcx=abc ?len(trim(x ?len(trim(x)结果为:结果为:3 37.7.删除字符串左边空格函数删除字符串左边空格函数 格式

23、:格式:LTRIMLTRIM( expC ) 功能:删除功能:删除expC 左边空白字符。左边空白字符。 例:例:x= abcx= abc ?len(ltrim(x ?len(ltrim(x)结果为:结果为:3 32.4.22.4.2字符处理函数字符处理函数2022-6-27378.8.删除字符串两边空格函数删除字符串两边空格函数 格式:格式:ALLTRIMALLTRIM( expC ) 功能:删除功能:删除expC 两边空白字符。两边空白字符。 例:例:x= abcx= abc ?len(ALLTRIM(x ?len(ALLTRIM(x)结果为:结果为:3 39.9.取左边子字符串函数取左边

24、子字符串函数 格式:格式:LEFTLEFT(expc,expnexpc,expn) 例:例:?left(“?left(“王小力王小力”,2),2)结果为结果为“王王”10.10.取右边子字符串函数取右边子字符串函数 格式:格式:rightright(expc,expnexpc,expn) 例:例:?right(“?right(“王小力王小力”,2),2)结果为结果为“力力”2.4.22.4.2字符处理函数字符处理函数2022-6-273811.11.取子字符串函数取子字符串函数 格式:格式:SUBSTRSUBSTR(expCexpC, expN1,expn2, expN1,expn2) 功能功

25、能: :从字符串从字符串expCexpC后位置后位置expN1expN1开始,截取开始,截取expN2expN2个字符。如果没有个字符。如果没有expN2expN2,则会截至末尾。,则会截至末尾。 例:例:?substr?substr(“(“王小力王小力”,3,2),3,2)结果为结果为“小小”12.12.子字符串位置测试函数子字符串位置测试函数 格式:格式:ATAT(expC1 ,expC2 ,expNexpC1 ,expC2 , ) 功能功能: :在在expC2 expC2 中由左向右寻找第一次出现的中由左向右寻找第一次出现的expC1,expC1,然后以整数值返回其出现的位置。如果未然后

26、以整数值返回其出现的位置。如果未出现返回出现返回0 0;加入;加入expN 参数,则寻找参数,则寻找 第第expN 次出现的位置。次出现的位置。2.4.22.4.2字符处理函数字符处理函数2022-6-2739 例例: :?At(“is”, “thaisbiscisAt(“is”, “thaisbiscis”)”)结果为:结果为:4 4 ?At(“is”, “thaisbiscisAt(“is”, “thaisbiscis”,2)2)结果为结果为:7 7三三. .日期和时间处理函数日期和时间处理函数 1 1、date( )date( ) 作用:返回系统当前日期。作用:返回系统当前日期。 2 2

27、、time( )time( ) 作用:返回系统当前时间。作用:返回系统当前时间。 3 3、datetimedatetime( )( ) 作用:返回系统当前日期和时间。作用:返回系统当前日期和时间。2.4.32.4.3日期和时间处理函数日期和时间处理函数2022-6-27404.day(expd)4.day(expd) 作用:返回日子。作用:返回日子。 例:?例:?Day(dateDay(date( )( )5.month(expd)5.month(expd) 作用:返回月份。作用:返回月份。 例:例:?month(date?month(date( )( )6.year(expd)6.year(

28、expd) 作用:返回年。作用:返回年。 例:?例:?year(dateyear(date( )( )2.4.32.4.3日期和时间处理函数日期和时间处理函数2022-6-2741四四. .数据类型转换函数数据类型转换函数1.asc(expc)1.asc(expc) 返回指定字符串表达式中最左边字符的返回指定字符串表达式中最左边字符的ASCIIASCII码值。码值。 例:?例:?Asc(“ABCAsc(“ABC”)”)结果为:结果为:65652.chr(expn)2.chr(expn) 返回指定返回指定ASCIIASCII码值所对应的字符。码值所对应的字符。 例:例:?chr(66)?chr(

29、66)结果为:结果为:B B2.4.42.4.4数据类型转换函数数据类型转换函数2022-6-27423.STR3.STR(expN1 ,expN2 ,expN3expN1 ,expN2 ,expN3) 功能功能: :将将expN1 expN1 转换成长度为转换成长度为expN2 expN2 的字符串;的字符串;表示小数位数。表示小数位数。 例:例:?“abc”+str(12,3)?“abc”+str(12,3)结果为结果为“abcabc 12” 12” x=12345.6789 x=12345.6789 ?str(x,8,2) ?str(x,8,2) 结果为:结果为:12345.681234

30、5.684.VAL4.VAL(expCexpC)将字符表达式转换成数值。将字符表达式转换成数值。 遇到第一个非数值字符停止,如果第一个字符不遇到第一个非数值字符停止,如果第一个字符不是数字,则返回是数字,则返回0 0。 例:例:?8+val(“21cdb”)?8+val(“21cdb”)结果为:结果为:29292.4.42.4.4数据类型转换函数数据类型转换函数2022-6-27435.DTOC5.DTOC(expDexpD)功能功能: :日期转换为字符。日期转换为字符。五五. .其他函数其他函数 1.IIF1.IIF( 条件,条件, exp1exp1, exp2 exp2 ) 依条件的逻辑值决定返回依条件的逻辑值决定返回exp1exp1或者或者exp2 exp2 。 例如:例如:x=11x=11 ?IIF ?IIF(x9,100,20 x9,100,20)结果为)结果为100100 2.vartype( )2.vartype( )返回变量的类型。返回变量的类型。 类型有:类型有:C N D L U M GC N D L U M G2.4.52.4.5其他函数其他函数2022-6-27441.1.在在VFPVFP中存储图像的字段类型应该是中存储图像的字段类型应该是( )( ) A A、备注型、备注型 B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论