VFP第二章课件(语言基础).ppt

上传人(卖家):三亚风情 文档编号:2527061 上传时间:2022-04-29 格式:PPT 页数:47 大小:198.50KB
下载 相关 举报
VFP第二章课件(语言基础).ppt_第1页
第1页 / 共47页
VFP第二章课件(语言基础).ppt_第2页
第2页 / 共47页
VFP第二章课件(语言基础).ppt_第3页
第3页 / 共47页
VFP第二章课件(语言基础).ppt_第4页
第4页 / 共47页
VFP第二章课件(语言基础).ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、 Visual FoxPro 6.0Visual FoxPro 6.0用户界面及语言基础用户界面及语言基础第二章第二章.1 VFP 6.0.1 VFP 6.0的用户界面的用户界面l Visual FoxProVisual FoxPro是一个关系数据库的是一个关系数据库的操作操作和和应用应用程序开发程序开发的集成环境的集成环境, ,它的用户界面的窗口外观和它的用户界面的窗口外观和工作方式,与工作方式,与WindowsWindows及及WindowsWindows的其他应用程序的其他应用程序类同。类同。l 主窗口包括:标题栏、菜单栏、普通工具栏、主窗口包括:标题栏、菜单栏、普通工具栏、状态栏、命令

2、窗口和工作区域。当进入不同的开状态栏、命令窗口和工作区域。当进入不同的开发界面时,还会出现项目管理器窗口、表单设计发界面时,还会出现项目管理器窗口、表单设计窗口、菜单设计窗口、属性窗口等设计界面。窗口、菜单设计窗口、属性窗口等设计界面。l 关于关于VFPVFP的菜单、工具栏、向导、生成器、设计的菜单、工具栏、向导、生成器、设计器、项目管理器等,将结合数据库的操作及应用器、项目管理器等,将结合数据库的操作及应用程序开发具体介绍。程序开发具体介绍。. . Visual FoxPro Visual FoxPro 的数据类型的数据类型l 虽然虽然VFP6.0VFP6.0中大部分的数据库操作都可以通过其

3、集成环中大部分的数据库操作都可以通过其集成环境完成,但境完成,但VFPVFP更重要的应用在于利用它开发用于信息查更重要的应用在于利用它开发用于信息查询、统计等功能的应用程序。因此,必须了解询、统计等功能的应用程序。因此,必须了解VFPVFP提供的提供的语言能力,首先必须了解它的数据类型。语言能力,首先必须了解它的数据类型。l 和其他程序设计语言类似,和其他程序设计语言类似,VFPVFP提供了多种数据类型,提供了多种数据类型,通过这些数据类型可以将各种类型的数据,保存在表、数通过这些数据类型可以将各种类型的数据,保存在表、数组、变量以及其它数据表现形式中。并按照不同的数据类组、变量以及其它数据表

4、现形式中。并按照不同的数据类型对数据进行不同的运算、操作和处理。型对数据进行不同的运算、操作和处理。l VFPVFP的数据类型,有的只适用于数据表中的字段;有的的数据类型,有的只适用于数据表中的字段;有的不仅适用于字段,还适用于应用程序中的内存变量和数组。不仅适用于字段,还适用于应用程序中的内存变量和数组。数数 据据 类类 型型l(1 1)字符型字符型 ( ( Character )Character ) 字符型(字符型(C C型型)数据可以包含任何可显示的字母、数字、)数据可以包含任何可显示的字母、数字、汉字、符号等。字符型字段变量和内存变量的数据不能超汉字、符号等。字符型字段变量和内存变量

5、的数据不能超过过254254个字节,每个字符占用一个字节,每个汉字占用两个个字节,每个字符占用一个字节,每个汉字占用两个字节。字符型常数用单引号,双引号,方括号括起来并定字节。字符型常数用单引号,双引号,方括号括起来并定界。界。l(2 2)数值型数值型 ( ( Numeric )Numeric ) 数值型(数值型(N N型型)用于表示数量,由数字符号)用于表示数量,由数字符号0-90-9、小数点、小数点、正负号及正负号及E E组成。长度不能超过组成。长度不能超过2020字节(我们平常所说的字节(我们平常所说的位)。其中负号、小数点各占一位。在内存中,数值型固位)。其中负号、小数点各占一位。在内

6、存中,数值型固定占用定占用8 8个字节。个字节。l(3 3)整型整型 ( ( Integer )Integer ) 整型(整型(N N型型)表示整数,仅用于字段变量,数据占)表示整数,仅用于字段变量,数据占4 4个字个字节。节。数数 据据 类类 型型l(4 4)浮点型浮点型 ( ( Float )Float ) 浮点型(浮点型(N N型型)与数值型等价,较早的)与数值型等价,较早的FoxProFoxPro版版本单独定义浮点数,表示科学计数,是为考虑兼容本单独定义浮点数,表示科学计数,是为考虑兼容而设置的。如,数而设置的。如,数1.2E+1 1.2E+1 表示表示 1.21.21010l(5 5

7、)双精度型双精度型 ( ( Double )Double ) 双精度型(双精度型(N N型型)能提高数值精度,只用于字段)能提高数值精度,只用于字段变量,固定占用变量,固定占用8 8个字节。个字节。l(6 6)货币型)货币型 ( ( Currency )Currency ) 在在VFVF中通常用货币型(中通常用货币型(Y Y型型)来表示货币值,而)来表示货币值,而不用数值型。系统默认的货币符号是不用数值型。系统默认的货币符号是“$”,$”,可使用可使用 SET CURRENCYSET CURRENCY命令设置货币符号。命令设置货币符号。数数 据据 类类 型型l(7 7)日期型日期型 ( ( D

8、ata )Data ) 日期型(日期型(D D型型)用于表示日期,存储格式是)用于表示日期,存储格式是“yyyymmdd”yyyymmdd”,yyyyyyyy表示年占表示年占4 4字节,字节,mmmm表示月占表示月占2 2字节,字节,dddd表示日占表示日占2 2字节。字节。l(8 8)日期时间型日期时间型 ( ( DataTime )DataTime ) 日期时间型(日期时间型(T T型型)数据包括日期和时间,固定)数据包括日期和时间,固定占用占用8 8个字节。个字节。l(9 9)逻辑型逻辑型 ( ( Logical )Logical ) 逻辑型(逻辑型(L L型型)用于表示只有两个值的数据

9、,其)用于表示只有两个值的数据,其值为真值为真(.T.)(.T.)或假或假(.F.)(.F.),多用于程序分支设置。,多用于程序分支设置。数数 据据 类类 型型l(1010)备注型备注型 ( Memo )( Memo ) 备注备注型(型(M M型型)只用于表中的字段,当存储的文本数据超)只用于表中的字段,当存储的文本数据超过过254254个字符时采用备注型。备注型字段固定占个字符时采用备注型。备注型字段固定占4 4个字节,个字节,用来存储一个指向备注文件(用来存储一个指向备注文件(.FPT.FPT)的指针。而备注内容)的指针。而备注内容的多少只受限于内存空间,备注型字段多用来存放简历、的多少只

10、受限于内存空间,备注型字段多用来存放简历、注释等内容。注释等内容。l(1111)通用型通用型 ( ( General )General ) 通用型(通用型(G G型型)用于存储)用于存储OLEOLE对象,仅适用于表中的字段,对象,仅适用于表中的字段,固定占固定占4 4个字节。个字节。OLEOLE是将其它是将其它WindowsWindows应用程序所处理的对应用程序所处理的对象(图表、图片等)链接或嵌入象(图表、图片等)链接或嵌入VFPVFP表中。如人事档案管理表中。如人事档案管理中的照片。中的照片。数数 据据 类类 型型l(1212)字符型字符型(二进制)(二进制) 与字符类型相似,但若代码页

11、(不同语与字符类型相似,但若代码页(不同语系代码)改变时,其值并不会随之改变,系代码)改变时,其值并不会随之改变,即即VFPVFP不会自动转换成相应国家的语系。不会自动转换成相应国家的语系。l(1313)备注型备注型(二进制)(二进制) 与字符型(二进制)一样,当代码页改与字符型(二进制)一样,当代码页改变时,其值不会随之改变。变时,其值不会随之改变。2.3 VFP2.3 VFP的数据存储与运算方式的数据存储与运算方式l数据在系统中进行加工处理时,需要一个载体,数据在系统中进行加工处理时,需要一个载体,用于暂时存储内存中的数据。用于暂时存储内存中的数据。l我们将用于存储数据的常量、变量、数组、

12、记我们将用于存储数据的常量、变量、数组、记录和对象属性等称为数据存储容器(数据容录和对象属性等称为数据存储容器(数据容器),它们决定了数据的类型及使用方法和操器),它们决定了数据的类型及使用方法和操作方式。数据容器是系统存储数据的存储单元。作方式。数据容器是系统存储数据的存储单元。l下面分别介绍常量、变量、表达式和函数。下面分别介绍常量、变量、表达式和函数。2.3.1 2.3.1 常常 量量 常量是不变的数据。常量是不变的数据。l(1 1)字符型字符型(C C型)型) 字符型常量是由双引号、单引号、方括号括起来字符型常量是由双引号、单引号、方括号括起来的字符或字符串。例如,的字符或字符串。例如

13、,ABCDABCD、“1234”1234”、 北京北京 等。等。l(2 2)数值型数值型(N N型)型) 数值型常量是由数字数值型常量是由数字0 09 9、小数点、正负号和、小数点、正负号和 E E(科学计数法中指数的底(科学计数法中指数的底1010)组成的数值。)组成的数值。常常 量量l(3 3)逻辑型逻辑型(L L型)型) 逻辑型常量只有逻辑逻辑型常量只有逻辑“真真”和逻辑和逻辑“假假”两个值,用两个值,用.T.T.或或.Y.Y.表示逻辑真值,表示逻辑真值,.F.F.或或.N.N.表示逻辑假值。表示逻辑假值。l(4 4)货币型货币型(Y Y型)型) 货币型常数是以货币型常数是以“$”$”作

14、为前缀的数值,如作为前缀的数值,如$986.35$986.35、 $1234.5678$1234.5678。l(5 5)日期型日期型(D D型)型) 日期常量是用大括号括起来的日期形式的常量。正确的日期常量是用大括号括起来的日期形式的常量。正确的日期格式为日期格式为yyyy-mm-ddyyyy-mm-dd。 如如 2000-09-20,2000/10/012000-09-20,2000/10/01。常常 量量l(6 6)日期时间型日期时间型(T T型)型) 日期时间型常量也是用大括号括起来表示,正确的日期时日期时间型常量也是用大括号括起来表示,正确的日期时间格式为:间格式为: yyyy-mm-

15、ddhh:mm:ssa|pyyyy-mm-ddhh:mm:ssa|p (工具(工具/ /选项选项/ /区域区域) ) 1998-09-09 1998-09-09 2:21:09 1998-09-09 1998-09-09 2:21:09 1998-09-09 16:21 1998-09-09 4 p 1998-09-09 16:21 1998-09-09 4 pl 此外此外,VFP,VFP还允许在程序中为常量定义一个名称,在编译还允许在程序中为常量定义一个名称,在编译时代表该常量,定义的常量可以是任意类型的数据。这里时代表该常量,定义的常量可以是任意类型的数据。这里暂不介绍。暂不介绍。2.3.

16、2 2.3.2 变变 量量l 变量存储的数据可以变化,变量可分为字段变变量存储的数据可以变化,变量可分为字段变量和内存变量。而内存变量又可分为系统变量、普量和内存变量。而内存变量又可分为系统变量、普通变量和数组变量。通变量和数组变量。l1 1字段变量字段变量 字段变量是数据库中表文件的某一字段名,字段字段变量是数据库中表文件的某一字段名,字段变量是多值变量,它的具体值是当前记录中该字段变量是多值变量,它的具体值是当前记录中该字段所存放的数据。所存放的数据。 变量名可以使用字母、数字、下划线和汉字,但变量名可以使用字母、数字、下划线和汉字,但第一个字符必须是字母或汉字。字段变量名长度不第一个字符

17、必须是字母或汉字。字段变量名长度不得超过得超过128128个字符(自由表中字段变量名长度不能个字符(自由表中字段变量名长度不能超过超过1010个字符)。个字符)。变变 量量l2 2、内存变量内存变量l 内存变量的数据存储在内存存储单元中,内存内存变量的数据存储在内存存储单元中,内存变量建立后,数据一直保存,并可以改变其值,直变量建立后,数据一直保存,并可以改变其值,直到用户清除该变量。内存变量除暂存数据外,在程到用户清除该变量。内存变量除暂存数据外,在程序中还用来控制程序的执行。序中还用来控制程序的执行。l 内存变量允许与字段变量重名,但优先访问字内存变量允许与字段变量重名,但优先访问字段变量

18、,可以用段变量,可以用 M .M . 的形式访问重名的形式访问重名的内存变量。的内存变量。l 内存变量的数据类型包括字符型、数值型、货内存变量的数据类型包括字符型、数值型、货币型、逻辑型、日期型、日期时间型和对象型。币型、逻辑型、日期型、日期时间型和对象型。变变 量量-内存变量内存变量l 在给内存变量赋值时在给内存变量赋值时, ,同时也定义了内存变量的同时也定义了内存变量的数据类型,并建立该内存变量。数据类型,并建立该内存变量。l(1 1)内存变量赋值语句:)内存变量赋值语句: 格式格式 STORE STORE TO TO | | = = 例例: : STORE 123.5STORE 123.

19、5* *4 TO A,B,C4 TO A,B,C NAME = “ NAME = “李华李华”变变 量量-内存变量内存变量l(2 2)系统内存变量)系统内存变量 系统内存变量是由系统内存变量是由VFPVFP建立和维护的建立和维护的“嵌入嵌入”式式的内存变量。变量名均以下划线开头,这些变量控的内存变量。变量名均以下划线开头,这些变量控制制VFPVFP屏幕和打印机输出格式等。屏幕和打印机输出格式等。l(3 3)对象型内存变量)对象型内存变量 对象型内存变量主要在程序中用来定义和存取对象型内存变量主要在程序中用来定义和存取对象信息。对象信息。VFPVFP中的每个对象都可以看作是用类定中的每个对象都可

20、以看作是用类定义的。对象是类的实例,而类则是对于拥有数据和义的。对象是类的实例,而类则是对于拥有数据和一定行为特征的对象集合的描述。一定行为特征的对象集合的描述。变变 量量-内存变量内存变量l(4 4)内存变量的显示)内存变量的显示 语句格式语句格式 DISPLAY MEMORYDISPLAY MEMORY LIST MEMORY LIST MEMORYl(5 5)内存变量的删除)内存变量的删除 语句格式语句格式 RELEASE RELEASE RELEASE ALL LIKE RELEASE ALL LIKE | EXCEPT | EXCEPT 变变 量量-内存变量内存变量l(6 6)内存变

21、量存储到文件中)内存变量存储到文件中 可以将内存变量及值存储到文件中,文件扩展名可以将内存变量及值存储到文件中,文件扩展名默认为默认为 .MEM.MEM;还可以从内存变量文件中读取内存;还可以从内存变量文件中读取内存变量到内存中。变量到内存中。 语句格式语句格式 SAVE TO SAVE TO SAVE TO SAVE TO ALL LIKE ALL LIKE | EXCEPT | EXCEPT RESTORE FROM RESTORE FROM ADDITIVE ADDITIVE 2.3.3 2.3.3 表达式与运算符表达式与运算符l 常量、变量、函数通过运算符连接起来构成表达常量、变量、函

22、数通过运算符连接起来构成表达式。表达式在语句中通过运算或操作会产生表达式式。表达式在语句中通过运算或操作会产生表达式的值,语句再对表达式值进行相应的数据处理。的值,语句再对表达式值进行相应的数据处理。l 表达式一般都含有几项,但是常量、变量和函数表达式一般都含有几项,但是常量、变量和函数单独可以作为表达式在语句中使用。单独可以作为表达式在语句中使用。l 根据表达式中的数据类型和运算符的运算意义,根据表达式中的数据类型和运算符的运算意义,VFPVFP中的表达式有数值表达式、字符表达式、日期中的表达式有数值表达式、字符表达式、日期表达式、关系表达式、逻辑表达式和名表达式。表达式、关系表达式、逻辑表

23、达式和名表达式。表达式及运算符表达式及运算符l1 1数值表达式及运算符数值表达式及运算符 数值表达式是通过算术运算符,对数值型数据进数值表达式是通过算术运算符,对数值型数据进行数值运算,其结果是数值型数据。行数值运算,其结果是数值型数据。 算术运算符及优先级顺序:算术运算符及优先级顺序: ( ) 括号,优选运算;括号,优选运算; * * *或或 乘方乘方, , 例:例:3 3* * *2 2 或或 3232 * *、/ / 乘、除乘、除 % % 取模(余数),例:取模(余数),例:15%4 15%4 结果是结果是3 3 + +、- - 加、减(单目运算为加、减(单目运算为“正正”、“负负”号)

24、号)表达式及运算符表达式及运算符l2 2字符表达式及运算符字符表达式及运算符 字符表达式对字符型数据进行操作,其值为字符字符表达式对字符型数据进行操作,其值为字符串。字符运算符有两个:串。字符运算符有两个: + + 字符串连接操作,将几个字符串连接成一个字符串连接操作,将几个字符串连接成一个新字符串。新字符串。 例:例:”ABCD” + ”EFGH ” + ”1234”ABCD” + ”EFGH ” + ”1234” 连接结果为:连接结果为:”ABCDEFGH 1234”ABCDEFGH 1234” - - 串尾空格移位连接操作,将第一个字符串尾串尾空格移位连接操作,将第一个字符串尾部空格移到

25、后面一个字符串末尾后,连接成一个新部空格移到后面一个字符串末尾后,连接成一个新字符串。字符串。 例:例: 山东山东 -经济学院经济学院+会计系会计系 连接结果为连接结果为: “: “山东经济学院会计系山东经济学院会计系”表达式及运算符表达式及运算符l3 3日期和日期时间型表达式及运算符日期和日期时间型表达式及运算符 对日期及日期时间进行日期和时间的运算。日对日期及日期时间进行日期和时间的运算。日期及时间运算符有期及时间运算符有“+”+”和和“-”-” 日期及日期时间型表达式的运算有三种情况:日期及日期时间型表达式的运算有三种情况:l(1 1)两个日期(时间)型数据相减,结果是表示)两个日期(时

26、间)型数据相减,结果是表示天数的数值型数据。天数的数值型数据。 例:例:2000-10-1-2000-09-012000-10-1-2000-09-01 结果为结果为3030,表示两个日期相距,表示两个日期相距3030天。天。 日期表达式及运算符日期表达式及运算符l(2 2)一个日期(时间)型数据加一个表示)一个日期(时间)型数据加一个表示天数天数( (秒)秒)的数值型数据,结果是一个向后推算的日期的数值型数据,结果是一个向后推算的日期(时间)型数据。(时间)型数据。 例:例:2000-09-01+60 2000-09-01+60 结果为结果为2000-10-312000-10-312000-

27、09-01 12 p+50 2000-09-01 12 p+50 结果为结果为 2000-09-01 12:00:50 2000-09-01 12:00:50 ppl(3 3)一个日期(时间)型数据减一个表示)一个日期(时间)型数据减一个表示天数天数(秒)(秒)的数值型数据,结果是一个向前推算的日的数值型数据,结果是一个向前推算的日期(时间)型数据。期(时间)型数据。 例:例:2000-09-01 302000-09-01 30 结果为结果为2000-08-022000-08-022000-09-01 12 p-50 2000-09-01 12 p-50 结果为结果为 2000-09-01 1

28、1:59:10 2000-09-01 11:59:10 pp表达式及运算符表达式及运算符l4 4关系表达式及运算符关系表达式及运算符l 关系表达式对同一类型的数据进行比较运算,比关系表达式对同一类型的数据进行比较运算,比较符合逻辑较符合逻辑, ,关系成立,结果为逻辑真值关系成立,结果为逻辑真值.T.T.;比较;比较不符合逻辑,关系不成立,结果为逻辑假值不符合逻辑,关系不成立,结果为逻辑假值. .F.F.。l 关系表达式可以对数值型表达式,字符型表达式、关系表达式可以对数值型表达式,字符型表达式、日期型表达式及逻辑型表达式进行关系比较运算。日期型表达式及逻辑型表达式进行关系比较运算。 关系表达式

29、的一般格式为:关系表达式的一般格式为:N 关系表达式及运算符关系表达式及运算符l 关系运算符为:关系运算符为: 大于大于 , , = = 等于等于 , ,= 大于或等于大于或等于 , ,、# #、!=!= 不等于不等于 , , = = = 字符串相等字符串相等( (精确比较)如:精确比较)如: ?this isthis is = this is= this is ?this is =this is ?this is =this is $ $ 字符串包含(关系表达式右边的字符串包含左边的字字符串包含(关系表达式右边的字符串包含左边的字符串,即左边是右边的子字符串,结果为符串,即左边是右边的子字符

30、串,结果为 .T.T.,否则,否则为为.F.F.)。如:)。如:?father$grandfather?father$grandfather关系表达式及运算符关系表达式及运算符 N l各种类型数据的比较方法如下:各种类型数据的比较方法如下:l(1 1)数值型数值型,按数值大小进行比较。,按数值大小进行比较。l(2 2)日期(时间)型日期(时间)型,按日期(时间)先后顺序进行比较,按日期(时间)先后顺序进行比较,前小后大。前小后大。l(3 3)字符型字符型,对于单个字符是按其,对于单个字符是按其ASCIIASCII码值进行比较;码值进行比较;两个字符串的比较运算,是两个字符串从左至右对应字符两个

31、字符串的比较运算,是两个字符串从左至右对应字符逐个进行比较,当比较到不同字符,将这两个字符的比较逐个进行比较,当比较到不同字符,将这两个字符的比较结果作为整个字符串的比较结果。若两个字符串所有对应结果作为整个字符串的比较结果。若两个字符串所有对应字符都相同,则两个字符串相等。字符都相同,则两个字符串相等。l(4)(4)逻辑型逻辑型 表达式及运算符表达式及运算符l5 5、逻辑表达式及运算符、逻辑表达式及运算符l 逻辑表达式进行逻辑运算,包括逻辑逻辑表达式进行逻辑运算,包括逻辑“与与”、逻辑逻辑“或或”、逻辑、逻辑“非非”运算。逻辑运算的结果运算。逻辑运算的结果仍是一个逻辑值,即仍是一个逻辑值,即

32、 .T.T.(真)或(真)或 .F.F.(假)。(假)。l 逻辑运算符及其优先次序是:逻辑运算符及其优先次序是: 非非 .NOT.(!) , .NOT.(!) , 与与 .AND. , .AND. , 或或 . .OR. OR. 。 逻辑表达式可使用括号(逻辑表达式可使用括号( ),优先级别最高。),优先级别最高。逻辑运算符两端的圆点(逻辑运算符两端的圆点(. .)可以省略。)可以省略。逻辑表达式及运算符逻辑表达式及运算符 A B .NOT. AA .AND. B A .OR. B .F. .F. .T. .F. .F. .T. .F. .F. .F. .T. .F. .T. .T. .F.

33、.T. .T. .T. .F. .T. .T.逻辑运算真值表逻辑运算真值表逻辑表达式及运算符逻辑表达式及运算符l逻辑表达式的构成逻辑表达式的构成: :l 两个或两个以上的关系表达式,及逻辑型常量、两个或两个以上的关系表达式,及逻辑型常量、变量、函数之间用逻辑运算符连接起来,构成逻辑变量、函数之间用逻辑运算符连接起来,构成逻辑表达式。表达式。l 逻辑表达式进行运算时,先运算关系表达式,再逻辑表达式进行运算时,先运算关系表达式,再运算逻辑表达式运算逻辑表达式例:例:2 .AND. 5+25 2 .AND. 5+25 运算结果为运算结果为 . .T.T. “A”B” .OR. 4+3”B” .OR.

34、 4+3”d”3 .AND. “D”d” 运算结果为运算结果为 . .F.F. “Ab”aB” .OR.NOT.“Ab”aB” “Ab”aB” .OR.NOT.“Ab”aB” 运算结果为运算结果为 . .T. T. 。名表达式名表达式l6. 6. 名表达式名表达式 VFPVFP很多操作对象都使用很多操作对象都使用“名名”,包括数据表名、,包括数据表名、字段名、文件名、内存变量名、数组名、窗口名、字段名、文件名、内存变量名、数组名、窗口名、菜单名等。菜单名等。 而在一些命令和函数中常要使用这些名。名用而在一些命令和函数中常要使用这些名。名用标标识符识符表示,但在命令和函数中名不能象字符串常数表示

35、,但在命令和函数中名不能象字符串常数那样用引号括起来。虽然名没有用引号括起来,但那样用引号括起来。虽然名没有用引号括起来,但它不是变量,而是字符型常量形式它不是变量,而是字符型常量形式。 例如例如: : 命令命令 USE XSDA USE XSDA ,是打开一个名为,是打开一个名为XSDAXSDA的数据表。的数据表。名表达式名表达式l 当把当把名名以字符串形式赋值给内存变量,将存储名以字符串形式赋值给内存变量,将存储名的字符型变量用圆括号括起来,就成为名表达式。的字符型变量用圆括号括起来,就成为名表达式。l在命令和函数中可以直接使用名表达式,这样通在命令和函数中可以直接使用名表达式,这样通过名

36、表达式可以利用内存变量而间接引用过名表达式可以利用内存变量而间接引用名名,为程,为程序中使用名提供灵活性。序中使用名提供灵活性。如如,FILE=”XSDA”FILE=”XSDA”USE ( FILE )USE ( FILE )将打开名为将打开名为XSDAXSDA的数据表。的数据表。(注意:(注意:USE FILE USE FILE 是打开名为是打开名为FILEFILE的数据表)的数据表)表达式及运算符表达式及运算符l7 7宏代换宏代换l 借助于借助于“宏宏”代换也可以用内存变量代替名。代换也可以用内存变量代替名。把宏代换符把宏代换符 & & 紧放在字符型内存变量名前,将以紧放在字符型内存变量名

37、前,将以字符型内存变量的值代换该变量名。必要时宏代换字符型内存变量的值代换该变量名。必要时宏代换应以园点应以园点“.”.”作为宏代换的结束标志。作为宏代换的结束标志。例:例: FILE1=”RSDA”FILE1=”RSDA” FILE2=”RS” FILE2=”RS” USE &FILE1 USE &FILE1 将打开将打开XSDAXSDA数据表;数据表; USE &FILE2USE &FILE2GL GL 将打开将打开RSGLRSGL数据表。数据表。2.4 2.4 函函 数数l VFPVFP函数是系统内部预先编制好的一段函数是系统内部预先编制好的一段程序,只要调用它就能实现某些特定的运程序,

38、只要调用它就能实现某些特定的运算或操作。算或操作。l 函数的一般调用形式是:函数的一般调用形式是: ( (,2,)l 下面仅介绍常用函数。下面仅介绍常用函数。2.3.1 2.3.1 字符处理函数字符处理函数l1 1测字符串长度函数测字符串长度函数 格式:格式:LEN(LEN() 功能:测定功能:测定 的长度,返回的数值表的长度,返回的数值表示字符个数。示字符个数。 例例: LEN(ABCD), : LEN(ABCD), 函数值为函数值为4.4.l2 2取子字符串函数取子字符串函数 格式:格式:SUBSTR(SUBSTR( , 1 , )2) 功能功能: : 从从 中截取子串,起始位置由中截取子

39、串,起始位置由 1决定,其长度由决定,其长度由 2决定。决定。 例:例:?SUBSTR(ABCDEFG,2,3), ?SUBSTR(ABCDEFG,2,3), 函数值为函数值为”BCD”BCD”字符处理函数字符处理函数l3 3左端、右端取子字符串函数左端、右端取子字符串函数l 格式:格式:LEFT (LEFT ( , )l RIGHT( RIGHT( , )l 功能:从功能:从 左端、右端截取子字符串,左端、右端截取子字符串,截取字符的个数由截取字符的个数由 决定。决定。l4 4截掉空格函数截掉空格函数l 格式与功能:格式与功能:lALLTRIM(ALLTRIM() 删除删除 首尾空格首尾空格

40、;l LTRIM(LTRIM() ) 删除字符串左边空格;删除字符串左边空格;l RTRIM(RTRIM() ) 删除字符串右边空格;删除字符串右边空格;l TRIM(TRIM() ) 功能功能同同RTRIM( )RTRIM( )。字符处理函数字符处理函数l5 5产生重复字符串函数产生重复字符串函数 格式:格式:REPLICATE(REPLICATE(,) 功能:得到功能:得到 的重复值,重复数目由的重复值,重复数目由 决定。决定。 例:例:REPLICATE(REPLICATE(* *,5),5)函数值为函数值为“* * * * * *”字符串字符串l6 6产生空格字符函数产生空格字符函数

41、格式:格式:SPACE(SPACE() 功能:功能: 指定生成空格的个数。指定生成空格的个数。l7 7ASCIIASCII码函数码函数 格式:格式:ASC(ASC() 功能:得到功能:得到 最左边字符的最左边字符的ASCIIASCII码值码值 例例: ?ASC(ABC): ?ASC(ABC)的值为的值为6565。2.3.2 2.3.2 数值运算函数数值运算函数l1 1取整函数取整函数 格式:格式:INT(INT() 功能:返回表达式值的整数部分。功能:返回表达式值的整数部分。l2 2最大值、最小值函数最大值、最小值函数 格式:格式:MAX(MAX(,3) MIN( MIN(,3) 功能:返回各

42、表达式中的最大值或最小值,表达式可以是功能:返回各表达式中的最大值或最小值,表达式可以是N N、C C、D D型表达式,但各表达式的数据类型应一致。型表达式,但各表达式的数据类型应一致。数值运算函数数值运算函数l3 3四舍五入函数四舍五入函数 格式:格式:ROUND(ROUND(,)2) 功能:对功能:对 1小数点后面的数字进行四小数点后面的数字进行四舍五入;舍五入; 2指定保留的小数位数。指定保留的小数位数。l平方根函数平方根函数 格式:格式:SQRT(SQRT( ) ) 功能:返回功能:返回 的平方根值。的平方根值。2.3.3 2.3.3 日期和时间函数日期和时间函数l系统日期函数系统日期

43、函数格式:格式:DATE( )DATE( )功能:返回当前系统日期。功能:返回当前系统日期。l系统日期时间函数系统日期时间函数格式:格式:DATETIME( )DATETIME( )功能:返回当前系统日期时间。功能:返回当前系统日期时间。l系统时间函数系统时间函数格式:格式:TIME( )TIME( )功能:返回当前系统时间。功能:返回当前系统时间。2.3.42.3.4数据类型转换函数数据类型转换函数 l数值转换成字符函数数值转换成字符函数 格式:格式:CHR(CHR() 功能:将功能:将 的值作为的值作为ASCIIASCII码转换成相码转换成相应的字符,该函数的逆函数是应的字符,该函数的逆函

44、数是 ASC(ASC()。l2 2数值型转换成字符型函数数值型转换成字符型函数 格式:格式:STR(STR(,) 功能:将功能:将 的值转换成字符串,的值转换成字符串, 指定字符串总长,指定字符串总长, 指定保留的小数位数。指定保留的小数位数。 例例:Age = 21.666 Age = 21.666 ? ? 年龄年龄= + STR(Age,2)+= + STR(Age,2)+岁岁 显示结果:年龄显示结果:年龄= 22= 22岁岁数据类型转换函数数据类型转换函数l3 3字符转换成数值函数字符转换成数值函数 格式:格式:VAL(VAL() 功能:将指定的数字字符串转换成一个数值型数据,只能功能:

45、将指定的数字字符串转换成一个数值型数据,只能将将 左边的左边的数字部分数字部分,转换成数值,若第一个,转换成数值,若第一个字符不是数字,将返回数值字符不是数字,将返回数值0 0。 如如A=“23.66”,VAL(A)A=“23.66”,VAL(A)将返回将返回23.6623.66。(若。(若SET DECI TO SET DECI TO 1 1),则),则VALVAL(A A)为)为23.723.7。若。若a=8a=8, b=a/2b=a/2,则,则valval(”b”b”)=0.00=0.00。l4 4大小写字符转换函数大小写字符转换函数 格式:格式:LOWER(LOWER() UPPER(

46、 UPPER() 功能:功能:LOWER( )LOWER( )把把 的字符转换成小写字母,的字符转换成小写字母,UPPER( )UPPER( )把把 的字符转换成大写字母。的字符转换成大写字母。数据类型转换函数数据类型转换函数l5 5字符转换成日期函数字符转换成日期函数 格式:格式:CTOD(CTOD() 功能:将日期形式的字符串转换成一个日期值,功能:将日期形式的字符串转换成一个日期值, 的形式要与(的形式要与(工具工具/ /选项选项/ /区域区域/ /日期格式日期格式)设置的格)设置的格式一致(式一致(Y Y两位、四位皆可)两位、四位皆可) 。如如ctodctod(“12-03-1999”

47、)(“12-03-1999”)为为12/03/199912/03/1999或或12/03/9912/03/99;而;而ctodctod(“1999-12-03”)(“1999-12-03”)为为1999/12/031999/12/03或或99/12/0399/12/03。l6 6日期转换成字符函数日期转换成字符函数 格式:格式:DTOC(DTOC(,1)1) 功能:将功能:将 (YYYYMMDDYYYYMMDD) )的值转换成日期形式的值转换成日期形式(与工具(与工具/ /选项选项/ /区域区域/ /日期格式设置的格式一致)的字符串。日期格式设置的格式一致)的字符串。如果使用可选参数如果使用可

48、选参数1 1,则函数返回,则函数返回YYYYMMDDYYYYMMDD的格式,以适应的格式,以适应在索引中使用。如在索引中使用。如dtocdtoc(1999.12.09)(1999.12.09)为为1999/12/091999/12/09或其或其它它。2.3.5 2.3.5 测试函数测试函数l 测试函数常用于程序中,测试对数据表的测试函数常用于程序中,测试对数据表的操作状态,以控制程序的执行。操作状态,以控制程序的执行。l1 1测试数据表头函数测试数据表头函数 格式:格式:BOF(BOF(|) 功能:测试当前数据表或指定数据表的记功能:测试当前数据表或指定数据表的记录指针,是否超过第一个记录的前

49、面,指向录指针,是否超过第一个记录的前面,指向表头。当指针指向表头时函数值为表头。当指针指向表头时函数值为.T., .T., 否否则当记录指针指向任意记录时函数值为则当记录指针指向任意记录时函数值为. .F.F.。测测 试试 函函 数数l2 2测试数据表尾函数测试数据表尾函数 格式:格式:EOF(EOF(|) 功能:测试当前数据表或指定数据表的功能:测试当前数据表或指定数据表的记录记录指指针,是否超过末记录的后面,指向表尾。当指针指针,是否超过末记录的后面,指向表尾。当指针指向表尾时函数值为向表尾时函数值为.T., .T., 否则当记录指针指向任意否则当记录指针指向任意记录时函数值为记录时函数

50、值为. .F.F.。l3 3测试当前记录号函数测试当前记录号函数 格式:格式:RECNO(RECNO(|) 功能:测试当前数据表或指定数据表当前记录的功能:测试当前数据表或指定数据表当前记录的记录号。记录号。测测 试试 函函 数数l4 4测试数据表记录数函数测试数据表记录数函数 格式:格式:RECCOUNT(RECCOUNT(|) 功能:测试当前数据表或指定数据表的记录个数。功能:测试当前数据表或指定数据表的记录个数。l5 5测试查找是否成功函数测试查找是否成功函数 格式:格式:FOUND(FOUND(|) 功能:当用查找命令查找数据表中某记录时,该功能:当用查找命令查找数据表中某记录时,该函

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(VFP第二章课件(语言基础).ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|