第二章VFP操作基础.ppt_第1页
第二章VFP操作基础.ppt_第2页
第二章VFP操作基础.ppt_第3页
第二章VFP操作基础.ppt_第4页
第二章VFP操作基础.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章visual foxpro操作基础,2.1 数据类型,VFP重要的作用就是对数据进行高效的处理。在VFP中按数据存储类型分为整型、浮点型、字符型、日期型等多种。按数据形式分为常量、变量、函数、表达式等;,表2.1 数据类型,2.2.1常量 所谓的常量就是在程序执行中其值不变的量。 VFP中有6种类型的常量: 数值型常量 字符型常量 逻辑型常量 货币型常量 日期型常量 日期时间型常量,2.2 常量与变量,(1)整数:由数字组成,如0,-2,3。 (2)实数: 十进制表示形式:它由数字、正负号、小数点组成。如0.23,-3.14等。 指数表示形式:它由数字、小数点与E或e组成。如1.2310

2、3可表示为1.23E3,如-1.2310-2可表示为-1.23e-2。E前要有数字,E后要有整数。,1数值型常量,字符型常量是用定界符(双引号“”、单引号、方括号)括起来的一系列有效字符,也称为字符串。如“中国”、“微机”、 PC、abc、计算机、 123、“3.14159”等。 字符串的最大长度为254个字符。 若字符串中含有定界符,则必须用另一种定界符括起来。 例如 “学生爱好计算机” Im a student.,2字符型常量,3.逻辑型常量,逻辑常量只有真和假两种值。 逻辑真:.t. .T. .Y. .y. 逻辑假:.f. .F. .N. .n.,货币型常量以$符号开头,并四舍五入到小数

3、点后4位 例如: $100.12345,计算结果为$100.1235,4. 货币型常量,5.日期型、日期时间型常量,日期型常量:必须用花括号括起来 (1)通用格式: mm/dd/yyyy,例如08/08/2008或8/8/08,空白的日期可表示为、/,需执行SET STRICTDATE TO 0命令; (2)严格格式:yyyy-mm-dd,若要设置严格的日期格式,例如2008-8-8,需执行SET STRICTDATE TO 1命令。,Set century on|off 设置日期中的年是四位或是两位 Set date to ymd|mdy 设置日期的格式,日期时间型常量: (1)通用格式:

4、mm/dd/yyyy hh:mm:ssa|p 如9/15/99 8:45 (2)严格格式: yyyy-mm-dd hh:mm:ssa|p , 如2008-8-8 8:8:8 p,变量是它的值可以改变的量。 变量可分为两大类,一类为字段变量、另一类为内存变量。 变量是有名的。 标识符是用来标识变量、函数、表、数据库、文件等名子,即标识符就是一个名字。,1.3.2 变量,由数字、字母、下划线组成。 以字母、下划线开头。 长度一般为1128个字符,但对于数组名、自由表名、自由表中的字段名、索引标识符名最多为10个字符。 避免使用VFP保留字。 汉字与字母同等待遇(一个汉字占两个字符)。 5sd,_3

5、4rf,u8*,标识符的组成规则:,内存变量有N、C、Y、D、T、L六种类型。 VFP规定内存变量的类型可以改变,即同一变量可以赋予不同类型的值。 当内存变量与字段变量重名时,在访问内存变量时,VFP规定在内存变量名前加M-或M.,否则系统默认是访问字段变量。,(1)赋值命令 格式1:= 格式2:STORE TO 功能: 格式1将表达式的值赋给变量。 格式2将表达式的值赋给变量表中的所有变量。 说明: 1)表达式是运算符与操作对象连接起来的式子,表达式可为变量、常量、也可为表达式。 2)变量表中的各变量用逗号分隔。,1. 简单变量与相关命令,(2)输出命令,格式:? | ? 功能:显示输出项目

6、表中的各输出项。 说明: 1)输出项可为变量、常量、表达式。 2)输出项目表中的各项是用逗号分隔的,命令执行时遇到逗号就空一格。 3)?是表示在下一行输出各输出项,?是在当前行当前列输出各输出项。,例1.4 内存变量的应用,a=1 b=.t. c=2005-10-12 d=A e=2005-10-12 12:30:28 a store 10 to f, g h=$123.23 ?a,b,c,d,e,f,g a=中国 b=哈尔滨 c=123 ?a,b ?c=,c ?a,b,(1)内存变量的显示 格式:LIST | DISPLAY MEMORY LIKE TO PRINT | TO FILE 功能

7、:显示内存变量的名、作用域、类型、值。 说明: 1)like子句是显示与通配符相匹配的内存变量信息。 通配符有?与*,?表示一个任意字符,*表示多个任意字符。 2)to print子句是将显示内存变量的信息同时从打印机输出。 3)to file 子句是将显示内存变量的信息同时存入由文件名指定的文件中。 4)list不管显示的信息有多少,都一次显示完。 5)display显示的信息多于一屏时,分屏显示。每显示一屏就暂停下来,待用户按任意键后继续显示。,3内存变量的显示与释放,格式1:CLEAR MEMORY 格式2:RELEASE 格式3:RELEASE ALL EXTENDED 格式4:REL

8、EASE ALL LIKE | EXCEPT 功能: 格式1释放所有内存变量。格式2释放由内存变量表指定的内存变量。格式3释放所有内存变量,无任何选项释放所有内存变量,在程序中要选extended,否则不能释放公共变量。格式4当选like 时,释放与相匹配的内存变量;当选except 时,释放与不相匹配的内存变量。,(2)内存变量的释放,例1.7 内存变量的显示与应用,a=2 abc=6 b=中国 a1=哈尔滨 dimension c(3) c(1)=2005-10-20 c(2)=22 display memory like a? to file qq1 display memory lik

9、e a* to file qq2 release all like a* display memory like a* release all,数组是按一定顺序排列的数据集合。 数组中的每一个数据称为一个元素。 数组中每一个元素的序号称为下标。 数组中的所有元素在内存中是连续存放的。,2数组,格式: DIMENSION | DECLARE (,) 功能:定义一维或多维数组 说明: 1)数组定义后系统自动为每一个元素赋逻辑假.F.。 2)数组有一个下标称为一维数组,有二个下标称为二维数组。 3)数组的最小下标为1。 4)数组的类型可以通过使用加以改变,同一数组的元素类型可以不同。,数组的定义,5

10、)当在赋值、输入命令中只用数组名时,表示数组的所有元素有同一个值。 6)数组名不能与简单变量重名。,例1.5 一维数组的应用。 dimension a(5), b(5) a=10 a(5)=23 b(1)=2*a(1) b(3)=中国 b(4)=2005-10-6 b(5)=$123.2 ?a(1), a(2), a(3), a(4), a(5) ?b(1), b(2), b(3), b(4), b(5),2.3 运算符与表达式,VFP的运算符主要有六种: 算术运算符 字符串运算符 关系运算符 逻辑运算符 日期与日期时间运算符 宏替换运算符,1、算术运算符与表达式,算术运算符要求它的的操作数必

11、须为数值。由算术运算符与操作数连接的式子为算术表达式,算术表达式的运算结果为数值。 表1.2 算术运算符与表达式,例1.8 算术运算符与表达式的应用,x=2 y=3 ?(x+2)*y%6-x,字符串运算符用于多个字符串相连接。它的操作数是字符串。由字符串运算符连接起来的式子为字符串表达式。,2、字符串运算符,表1.3 字符串运算符与表达式,例1.9 字符串运算符与表达式的应用,a=黑龙江 b=哈尔滨 c=东方学院 ?a+b+c ?a-b-c,3、关系运算符与表达式,关系运算符用于操作数之间进行关系比较,它的操作数是同类型的。由关系运算符连接起来的式子为关系表达式。关系表达式的结果是逻辑值。若关

12、系成立,结果为真,否则为假。,表1.4 关系运算符与表达式,例1.10 关系运算符与表达式的应用,clear x=2 y=3 ?x+3=2, x!=y, xy x=abcde y=ab z=cd ?x=y, x=y, z$x, x!=y,4、逻辑运算符与表达式,逻辑运算符用于对操作数进行逻辑运算。由逻辑运算符连接起来的式子为逻辑表达式。当逻辑表达式成立时,结果为.T.,否则结果为假.F.。 表1.5 逻辑运算符,逻辑运算真值表,例1.11 逻辑表达式的应用,a=中国黑龙江 b=黑龙江 c=3 ?b$a and c3,日期、日期时间运算符可以对操作对象进行加、减运算。用这种运算符连接起来的式子为

13、日期、日期时间表达式。,5 日期、日期时间运算符与表达式,表1.6 日期时间运算符与表达式,例1.12 日期、日期时间运算符及表达式的应用。,a=2005-11-20 b=10 ?a+b, b+a, 2005-12-20+10, a-10 c=2005-11-20 10:30:30 a d=2005-11-20 10:20:10 a ?c+10, 10+d, c-10, c-d,1.3.4 常用函数,函数是一段程序代码,用来进行一些特定的运算或操作,支持和完善命令的功能,帮助用户完成各种操作与管理。按函数提供方式,可分为系统函数和用户自定义函数。按函数运算、处理对象和结果的数据类型,可分为数值

14、型函数、字符型函数、逻辑型函数、日期时间型函数、数据转换函数等。,1、系统函数的形式 函数名(形参表) 2、函数的返回值 函数经过运算所得结果称为函数的返回值 3、常用函数的分类 通常将常用的函数分为数值函数、字符处理函数、日期和时间函数、数据类型转换函数、测试函数五种。,4、常用函数,数值函数 字符函数 日期和时间函数 数据类型转换函数 测试函数,(1)数值函数,1)绝对值函数 格式:ABS() 功能:求数值表达式的绝对值 例1.14 ABS的应用 x=-2 ?abs(x), abs(10+x), abs(2+x), abs(2*x),2)符号函数 格式:SIGN(数值表达式) 功能:返回数

15、值表达式的值的符号,当数值表达式的值为正、负、0时函数分别为1,-1,0 例1.15 SIGN的应用 x=3 ?sign(x), sign(-1), sign(x-3),3)圆周率函数 格式:PI() 功能:返回圆周率。 例1.16 PI()的应用 s=pi()*10*10 ? “s=”, s,4)求平方根函数 格式:SQRT() 功能:返回数值表达式值得平方根,数值表达式的值不能为负。 例1.17 SQRT()的应用 x=-4 y=2.22 ?sqrt(abs(-4), sqrt(10+y),5)求整数函数 格式:INT() 功能:INT()返回数值表达式的整数值 例1.18 求整数函数的应

16、用 x=3.9 ?int(x), int(-x),6)四舍五入函数 格式:ROUND(, ) 功能:对数值表达式1四舍五入,保留数值表达式2的值所制定的位数 例1.19 ROUND()函数的应用 x=123.456 ?round(x, 2), round(x, 1), round(x, 0), round(x, -1),7)求余函数 格式:MOD(, ) 功能:返回数值表达式1除以数值表达式2的余数,且余数的符号与除数相同。若数值表达式1与数值表达式2同号,函数值为两数的余数。若异号,函数值为两数的余数再加上除数的值。 例1.20 MOD()应用 x=10 ?mod(x, 4), mod(x,

17、 -4), mod(-x, 4), mod(-x, -4),8)求最大值函数 格式:MAX(, , ) 功能:求数值表达式1,数值表达式2,数值表达式3中的最大值 9)求最小值函数 格式:MIN(, , ) 功能:求数值表达式1,数值表达式2,数值表达式3中的最小值 例1.21 MAX()的应用 x=10 ?max(2, 10, -2, 20, 9, x),10)求e的函数 格式:EXP() 功能:求e的数值表达式 例1.22 exp()的应用 ?exp(2),(2)字符函数,1)求字符串长度函数 格式:LEN() 功能:返回字符表达式的长度 例1.23 len()的应用 x=“中国哈尔滨”

18、y=“china” ?len(x), len(y),2)大小写转换函数 格式:LOWER() UPPER() 功能: LOWER()是将字符表达式中的大写字母转为小写字母 UPPER()是将字符表达式中的小写字母转为大写字母 例1.24 lower(),upper()的应用 x=“123study hard” ?lower(x), upper(x),3)空格字符串生成函数 格式:space() 功能:返回由数值表达式值指定数目的空格 例1.25 space()的应用 x=“We” y=“are” z=“students.” ?x+space(2)+y+space(2)+z,4)删除前导尾部空格

19、函数 格式:TRIM() LTRIM() ALLTRIM() 功能: TRIM()将字符表达式的值的尾部空格去掉 LTRIM()将字符表达式的值的前导空格去掉 ALLTRIM()将字符表达式的值的前导与尾部空格同时去掉 例1.26 TRIM(),LTRIM(),ALLTRIM()的应用 a=“ 中国” b=“首都 “ c=“ 北京 “ d=a+b+c ?a, b, c, d ?trim(a)+ltrim(b)+alltrim(c),5)子串函数 格式:LEFT(,) RIGHT(, ) SUBSTR(, , ) 功能:LEFT()从字符表达式的左端开始取N个字符。 RIGHT()从字符表达式的

20、右端开始取N个字符。 SUBSTR()从字符表达式的第N1个位置开始取N2字符。若N2省略,取到最后一个字符。 例1.27 LEFT(),RIGHT(),SUBSTR()的应用 x=“中国北京首都” ?left(x, 4)+right(x, 4)+substr(x, 5, 4),6)求子串位置函数 格式: AT(,) 功能:AT()若字符表达式1为字符表达式2的子串时,则返回字符表达式1的首字符在字符表达式2中的位置。否则返回0。数值表达式3是字符表达式1在字符表达式2中第几次出现,默认值为1。 例1.28 AT()的应用 x=“This is computer. The computer i

21、s our friend.” ?at(“is”, x), at(“is”, x, 3), at(“The”, x),(3)日期和时间函数,1)日期函数 格式:DATE() 功能:返回当前系统日期 2)时间函数 格式:TIME() 功能:返回当前系统时间 3)日期时间函数 格式:DATETIME() 功能:返回当前系统日期与时间 4)求天数函数 格式:DAY(|) 功能:返回天数 5)年份函数 格式:YEAR(|) 功能:返回年份,6)月份函数 格式:MONTH(|) 功能:返回月份 7)小时函数 格式:HOUR() 功能:返回小时 8)分函数 格式:MINUTE() 功能:返回分钟 9)秒函数

22、 格式:SEC() 功能:返回秒数,例1.29 日期和时间函数的应用 x=2005-10-2 01:30:28 am ?date(), time(), datetime(), day(datetime() ?year(x), month(x), hour(x), minute(x), sec(x),(4)数值类型转换函数,1)数值转换成字符型函数 格式:STR(, , N) 功能:将数值表达式转为长度为L,小数位数为N的字符串。 例1.30 STR()的应用 x=-1.278 ?str(x, 8, 2), str(x, 2),2)字符串转为数值函数 格式:VAL() 功能:将字符表达式值转为数

23、值 例1.31 VAL的应用 x=“-12.45” y=“b2.6” ?val(x), val(y),3)将字符串转为日期或时间函数 格式:CTOD() CTOT() 功能: CTOD()将字符表达式转为日期型数据 CTOT()将字符表达式转为日期时间型数据 例1.32 CTOD()与CTOT()的应用 ?ctod(“10/2/2005”), ctot(“10/2/2005 10:30:51 am”),4)日期时间转为字符型数据 格式:DTOC(|,1) TTOC(,1) 功能: DTOC()将日期表达式或日期时间表达式转为字符型数据,若选1则字符格式YYYYMMDD共8个字符。 TTOC()将日期时间表达式转为字符型数据,若选1则字符格式YYYYMMDD-HHMMSS共14个字符 例1.33 DTOC()与TTOC()的应用 ?dtoc(date(), ttoc(datetime(),(5)测试函数,1)值域测试函数 格式: BETWEEN(, ,

温馨提示

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

评论

0/150

提交评论