1 / 93

Visual FoxPro 应用基础与面向对 象程序设计教程

Visual FoxPro 应用基础与面向对 象程序设计教程. 潘世永 数学与计算机学院 Email: psycg5753@gmail.com. 第二章 表的基本操作. Visual FoxPro 中的数据类型. VFP6 将系统中所有操作、处理的数据,分为几种不同数据类型: 字符型、数值型、日期型、日期时间型、逻辑型、备注型、通用型、货币型、二进制字符型和二进制备注型。

step
Download Presentation

Visual FoxPro 应用基础与面向对 象程序设计教程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VisualFoxPro 应用基础与面向对 象程序设计教程 潘世永 数学与计算机学院 Email: psycg5753@gmail.com

  2. 第二章 表的基本操作 Visual FoxPro中的数据类型 VFP6将系统中所有操作、处理的数据,分为几种不同数据类型: 字符型、数值型、日期型、日期时间型、逻辑型、备注型、通用型、货币型、二进制字符型和二进制备注型。 字符型 字符型(Character)数据是不具有计算能力的文字数据类型,用字母C表示。字符型数据包括中文字符、英文字符、数字字符和其他ASCII字符,其长度(即字符个数)范围是0~254个字符。

  3. 数值型 数值型数据是表示数量、可以进行数值运算的数据类型。数值型数据由数字、小数点、正负号和表示乘幂的字母E组成,数值精度达16位。在Visual FoxPro系统中,按存储、表示形式与取值范围不同,数值型数据又分为四种不同类型: 1.数值型数值型(Numeric)数据由数字、小数点、正负号和字母E组成,用字母N表示。数值型数据的取值范围是:-0.9999999999E+19~0.9999999999E+20,包括正负号、小数点和字母E在内,其长度(数据位数)最大20位。通常用于表示实数。如23,-103.45,1.3E-5(即1.3×10-5)等;

  4. 2.浮点型 浮点型(Float)数据是数值型数据的一种,用字母F表示。它与数值型数据完全等价,只是在存储形式上采用浮点格式,主要是为了得到较高的计算精度。 3.双精度型 双精度型(Double)数据是具有更高精度的一种数值型数据,用字母B表示。它采用固定长度浮点格式存储,占用8个字节,其取值范围是:+/-4.94065645841247E-324 ~ +/-8.9884656743115E307。 4.整型 整型(Integer)数据是不包含小数部分的数值型数据,用字母I表示。整型数据只用来表示整数,以二进制形式存储,占用4个字节。其取值范围是:-21474836~21474836。

  5. 日期型 日期型(Date)数据是表示日期的数据,用字母D表示。VFP6支持2000年型的日期数值。格式为:月/日/年。如:04/28/97 ,固定占用8个字节。其中的年份如果输入97,则系统默认为1997,因为日期的默认格式是{mm/dd/yyyy},其中mm表示月份,dd表示日期,yyyy表示年度。如果输入小于48的数(如45)则系统默认为2045,因此,最好输入完整的年份。 日期时间型 日期时间型(Date Times)数据是表示日期和时间的数据,用字母T表示。日期时间型常量,其默认格式是: {mm/dd/[yy]yy [,] hh:mm:ss[a|p]} 其中a和p分别表示AM(上午)和PM(下午),mm、dd、yyyy的意义与日期型相同,而hh表示小时,mm表示分钟,ss表示秒数。日期时间型数据固定占用8个字节。

  6. 逻辑型 逻辑型(Logic)数据是描述客观事物真假的数据类型,表示逻辑判断的结果,用字母L表示。逻辑型数据只有真(.t.或.y.)和假(.f.或.n.)两种,固定占用1个字节。 备注型 备注型(Memo)数据是表示、存放较多字符的数据类型。可以把它看成是字符型数据的特殊形式,用字母M表示。 备注型数据没有数据长度限制,仅受限于磁盘空间。它只用于表中字段类型的定义,字段宽度固定为4字节,实际数据存放在与表文件同名的备注文件(.FPT)中,长度根据数据的内容而定。

  7. 通用型 通用型(General)数据是存储OLE(对象链接嵌入)对象的数据类型,用字母G表示。通用型数据中的OLE对象可以是电子表格、文档、图形图片等。它只用于表中字段类型的定义。通用型数据字段宽度固定为4字节,实际数据长度仅受限于磁盘空间。 通用型数据包含链接或嵌入OLE对象两种操作方式。 货币型 货币型(Currency)数据是为存储美元金额而使用的一种称为货币(Currency)的数据类型。默认保留4位小数,字段宽度固定为8字节。货币型数据用字母Y表示。 二进制字符型和二进制备注型 本课程中不涉及这两种类型,不做介绍。

  8. Visual FoxPro的常量与变量 常量常量是在命令或程序中可直接引用、具有具体值的命名数据项,其特征是在整个操作过程中它的值和表现形式保持不变。Visual FoxPro按常量取值的数据类型,将常量分为6种类型:数值型常量、浮点型常量、字符型常量、逻辑型常量、日期型常量、日期时间型常量。 1.数值型常量 由数字、小数点和正负号组成,表示整数或实数值。如;100,-21,15.31,-21092.5041等。

  9. 2.浮点型常量 以浮点格式表示的数值常量。通常用来表示那些绝对值很大或很小、而有效位数不太长的一些数值,对应于日常应用中的科学记数法。如:1.3×109表示为1.3E+9,其中,1.3称为尾数,表示有效数字,9称为阶码,表示幂指数。阶码只能是整数,尾数可以是整数,也可以是小数;尾数与阶码均可正可负。 3.字符型常量 由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。Visual FoxPro要求将字符串中所有字符,用一对双引号或单引号或方括号作为定界符对括起来。如:“I am a student”,‘中华人民共和国’,[Visual FoxPro 6.0系统]都是字符串。

  10. 4.逻辑型常量逻辑型常量就是表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.)和(.f.或.n.)表示真和假。4.逻辑型常量逻辑型常量就是表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.)和(.f.或.n.)表示真和假。 5.日期型常量 日期型常量是表示日期值的数据,如{10/01/02} 表示2002年10月1日这一日期常量值。 6.日期时间型常量 日期时间型常量是表示日期时间值的数据,如{10/01/02 8:30} 表示2002年10月1日8点半这一日期时间常量值。

  11. 日期值和日期时间值的格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。 (1)日期格式中的世纪值命令格式:SET CENTURY ON | OFF功能:ON:日期数据显示10位,其中年份4 位,即日期值输出时显示年份值。OFF:(默认值)。日期数据显示8位,年份2位,即日期值输出时不显示年份值。(2)设置日期显示格式用户可以调整、设置日期值和日期时间值的显示输出格式。命令格式:SET DATE TO AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JAPAN | 命令功能:设置日期型和日期时间型数据的显示输出格式。系统默认为AMERICAN美国格式,日期格式为mm/dd/yy。

  12. Visual FoxPro系统增加了一种严格的日期格式是:{^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]} ^ 符号表明该格式是严格的日期格式,并按照 YMD 的格式解释日期型和日期时间型数据,它是严格日期格式的标志,不可缺少。有效的日期型和日期时间型数据分隔符为:连字符“-”、正斜杠“/”、句点“.”和空格。 Visual FoxPro系统默认采用严格的日期格式,命令格式:SET STRICTDATE TO 0|1命令功能:0:关闭严格的日期格式,即设置为传统的格式。1:设置严格的日期格式,要求所有日期型和日期时间型数据均按严格的格式。

  13. 变量变量是在操作过程中可以改变其取值或数据类型的数据项。在Visual FoxPro系统中变量分为字段变量、内存变量、数组变量和系统变量4类。确定一个变量,需要确定其三个要素:变量名、数据类型和变量值。 1.命名约定(1) 用字母,下划线和数字命名。一般建议不采用汉字命名; (2) 命名以字母或下划线开头;除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1~128个字符; (3) 避免使用 Visual FoxPro的保留字; (4) 文件名的命名应遵循操作系统的约定。

  14. 2.字段变量表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段也是变量。与其他变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。2.字段变量表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段也是变量。与其他变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。 3.内存变量 内存变量是在内存中定义的、一种单个数据元素的临时性变量。 (1)内存变量的数据类型 内存变量的数据类型包括:数值型、字符型、逻辑型、日期型和日期时间型; (2)内存变量的建立 建立内存变量就是给内存变量赋值。

  15. 命令格式:STORE <表达式> TO <内存变量表>命令功能:计算<表达式>的值并赋值给各个内存变量。 例如:STORE 0 TO AA,BB,CC 将数值0赋给变量AA,BB,CCSTORE “李四”TO NAME 将字符串“李四”赋给NAME命令格式:<内存变量> = <表达式>命令功能:计算<表达式>的值并赋值给指定内存变量。 例如:A=.T. 将逻辑真值赋给变量A

  16. (3)内存变量的显示输出命令格式:?| ??<表达式表> 命令功能:计算表达式表中各表达式的值,并在屏幕上指定位置显示输出各式的值。 ?:先回车换行,再计算并输出表达式的值; ??:在屏幕上当前位置,计算并直接输出表达式的值;<表达式表>:多个用逗号两两分隔的表达式,各表达式的值输出时,以空格分隔。

  17. 命令格式: LIST MEMORY [LIKE<内存变量名框架>] [TO PRINTER[PROMPT]|TO FILE<文件名>] [NOCONSOLE] 命令功能:显示当前在内存中定义的自定义内存变量和系统内存变量。说明: LIKE<内存变量名框架>:可以通过它有选择地显示内存变量和数组信息。 TO PRINTER[PROMPT]:将显示结果在打印机上输出。 TO FILE<文件名>:将显示结果输出到指定的文件中,该文件为文本文件。NOCONSOLE:不在屏幕上显示。

  18. 命令格式: DISPLAY MEMORY [LIKE <内存变量框架名>] [TO PRINTER[PROMPT]|TO FILE<文件名>] [NOCONSOLE] 说明:LIST MEMORY与DISPLAY MEMORY的区别 LIST MEMORY显示内存变量时不暂停,在屏幕上只保留最后一屏内存变量。 DISPLAY MEMORY在显示内存变量时,若内存变量数超过一屏,则在每显示一屏后暂停,按任意键后继续显示。

  19. (4)保存内存变量命令格式:SAVE TO <内存变量文件名> [ALL LIKE/ EXCEPT <内存变量名框架>] 功能:它将内存中的部分或全部内存变量以文件的形式存入磁盘,文件名由<内存变量文件名>指定,文件扩展名的缺省值为 .MEM。 说明:ALL LIKE<内存变量名框架>]:将符合<内存变量名框架>的那些变量存入指定的文件。 ALL EXCEPT <内存变量名框架>]:将不符合<内存变量名框架>的那些变量存入指定的文件。

  20. 例如:SAVE TO VAR1 将除系统内存变量以外所有内存变量保存到VAR1.MEM文件中。即:AA、BB、CC、NAME、A 。 SAVE TO VAR2 ALL LIKE ?A* 将第一个字符是任意字符,第二个字符是A的所有内存变量保存到VAR2.MEM文件中。即AA、NAME 。 SAVE TO VAR3 ALL EXCEPT ?A* 将自定义内存变量中第二个字符不是A的所有内存变量保存到VAR2.MEM文件中。即BB、CC、A。

  21. (5)删除内存变量命令格式:RELEASE <内存变量名表>功能:删除指定的内存变量。当<内存变量名表>为多个变量时,变量名之间用“,”隔开。 命令格式:RELEASE ALL [LIKE|EXCEPT <内存变量名框架>]功能:删除指定的内存变量。省略所有选择项时,则删除所有的内存变量。命令格式:CLEAR MEMORY功能:删除当前内存中的所有内存变量。它和RELEASE ALL的效果完全相同。例如:RELEASE BB,CC LIST MEMORY LIKE * RELEASE ALL LIKE ?A* LIST MEMORY LIKE * RELEASE ALL LIST MEMORY LIKE *

  22. (6)恢复内存变量 如果需要使用已保存的内存变量时,可用下述命令恢复 :命令格式:RESTORE FROM <内存变量文件名> 功能:它将<内存变量文件名>指定的内存变量文件中所保存的内存变量从磁盘读回内存重新使用。 参数描述: RESTORE:命令动词,表示执行恢复操作。 FROM <内存变量文件名> :指定恢复内存变量的来源。 [ADDITIVE] :保留当前内存中的内存变量,将指定文件中的内存变量添加到当前内存变量之后。 若省略ADDITIVE选择项,则内存中已有的内存变量全部释放,将指定文件中的内存变量调入内存。

  23. 例如:RESTORE FROM VAR1LIST MEMORY LIKE * RESTORE FROM VAR2LIST MEMORY LIKE *RESTORE FROM VAR3 ADDITIVE LIST MEMORY LIKE * 当内存变量名与字段变量名相同时,字段名优先于内存变量名,使用时可以在内存变量名前加上“M->”或“M.”以示区别。

  24. 4.数组变量 数组变量是一组具有相同名称、以下标相互区分的有序内存变量。一个数组通常都包含多个数据元素。Visual FoxPro系统中只允许使用一维数组和二维数组。 (1)数组元素 数组中各有序变量(数据元素)组成数组的成员,称为数组元素。 数组元素的名称用数组加下标构成。如AA(1),BB(2,3)分别表示一维数组AA的第1个元素,二维数组BB中第2行第3列的元素。

  25. (2)数组的定义 数组必须先定义后使用,定义数组是向系统申请数组元素在内存中的存储空间。命令格式:DIMENSION | DECLARE <数组名1>(<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式3>[,<数值表达式4>])…]说明:(1)<数组名1>:指定数组的名称,其规定与内存变量名相同。 (2)数组的下标的起始值为1 。 (3)同一数组中的数组元素可以有不同的数据类型 。 (4)二维数组中各元素按行的顺序依次排列 。例如:DIMENSION A(2,3),BB(4,8) DIMENSION A(6)

  26. (3)数组的赋值与引用 数组元素的赋值与引用,与普通内存变量的规则相同。 除了可以分别对数组元素赋值以外,也可对数组中的所有元素赋同一初值。 5.系统变量 系统变量是Visual FoxPro系统特有的内存变量,它由Visual FoxPro系统定义、维护。系统变量有很多,其变量名均以下划线“_”开始,因此在定义内存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。

  27. Visual FoxPro的函数 Visual FoxPro系统中,函数是一段程序代码,用来进行一些特定的运算或操作。 Visual FoxPro的函数由函数名与自变量两部分组成。标准函数是Visual FoxPro系统提供的系统函数,其函数名是Visual FoxPro保留字,自定义函数是用户自已定义的函数,函数名用户指定;自变量必须用圆括号对括起来,如有多个自变量,各自变量以逗号分隔;有些函数可省略自变量,或不需自变量,但也必须保留括号。Visual FoxPro系统有数百种不同函数,按函数运算、处理对象和结果的数据类型,可分为数值型函数、字符型函数、日期时间型函数等。

  28. 数值函数 数值函数用于数值运算。 1.取绝对值函数ABS( ) 【格式】ABS(<nExp>) 【功能】计算nExp的值,并返回该值的绝对值。 2.指数函数EXP( ) 【格式】EXP(<nExp>) 【功能】求以e为底、nExp值为指数的幂。 3.取整函数INT( ) 【格式】INT(<nExp>) 【功能】计算nExp的值,返回该值的整数部分

  29. 4.自然对数函数LOG( ) 【格式】LOG(<nExp>) 【功能】求nExp的自然对数。nExp的值必须为正数。 5.常用对数函数 【格式】LOG10(<nExp>) 【功能】求nExp的常用对数。nExp的值必须为正数。 6.平方根函数SQRT( ) 【格式】SQRT(<nExp>) 【功能】求非负nExp的平方根。

  30. 7.最大值函数MAX( )和最小值函数MIN( ) 【格式】MAX(<nExp1>,<nExp2>[,< nExp3>...]) MIN(<nExp1>,<nExp2>[,< nExp3>...]) 【功能】返回数值表达式中的最大值和最小值。 8.求余数函数MOD( ) 【格式】MOD(<nExp1>,<nExp2>) 【功能】返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。 9.四舍五入函数ROUND( ) 【格式】ROUND(<nExp1>,< nExp2>) 【功能】返回nExp1四舍五入的值, nExp2表示保留的小数位数。

  31. 10.π函数PI( ) 【格式】PI( ) 【功能】返回常量π的近似值 11.正弦函数SIN( ) 【格式】SIN(<nExp>) 【功能】返回nExp的正弦值。nExp以弧度为单位,函数值域为[-1,1]。 12.余弦函数COS( ) 【格式】COS(<nExp>) 【功能】返回nExp的余弦值。nExp以弧度为单位,函数的值域为[-1,1]。 13.正切函数TAN( ) 【格式】TAN(<nExp>) 【功能】返回nExp的正切值。nExp以弧度为单位,其值为π/2或- π/2时,系统返回一个绝对值很大的数。

  32. 字符函数 字符函数是处理字符型数据的函数。 1.子串位置函数 【格式】AT(<cExp1>,< cExp 2>) 【功能】返回串cExp1在串cExp2中的起始位置。函数值为整数。如果串cExp2不包含串cExp1,函数返回值为零。 2.取左子串函数LEFT( ) 【格式】LEFT(<cExp>,<nExp>) 【功能】返回从cExp串中第一个字符开始,截取nExp个字符的子串。 3.取右子串函数RIGHT( ) 【格式】RIGHT(<cExp >,< nExp>) 【功能】返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。有关说明同LEFT( )函数。

  33. 4.取子串函数SUBSTR( ) 【格式】SUBSTR (<cExp>,<nExp1> [,< nExp2>] ) 【功能】返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。 5.字符串长度函数LEN( ) 【格式】LEN(<cExp>) 【功能】返回cExp串的字符数(长度)。函数值为N型。 6.删除字符串前导空格函数LTRIM( ) 【格式】LTRIM(<cExp>) 【功能】删除cExp串的前导空格字符。 7.删除字符串尾部空格函数RTRIM( ) 【格式】RTRIM (<cExp>) 【功能】删除cExp串尾部空格字符。

  34. 8.删除字符串最左边和最右边的所有空格函数ALLTRIM( ) 【格式】ALLTRIM(<cExp>) 【功能】删除cExp串左边和最右边的所有空格。9.空格函数SPACE( ) 【格式】SPACE (<nExp>) 【功能】返回一个包含nExp个空格的字符串。 10.字符复制函数 REPLICATE( ) 【格式】REPLICATE (<cExp>,<nExp>) 【功能】返回将cExp串重复nExp次的字符串。 11.大小写转换函数LOWER( ) 和UPPER( ) 【格式】LOWER (<cExp>) UPPER (<cExp>) 【功能】LOWER( )将cExp串中字母全部变成小写字母,UPPER( )将cExp串中字母全部变成大写字母,其它字符不变。

  35. 日期时间函数 日期时间函数是处理日期型或日期时间型数据的函数。 1.系统日期函数DATE( ) 【格式】DATE() 【功能】返回当前系统日期,此日期由Windows系统设置。函数值为D型。 2.系统时间函数TIME( ) 【格式】TIME() 【功能】返回当前系统时间,时间显示格式为hh:mm:ss。函数值为C型。 3.日期函数DAY( ) 【格式】DAY(<dExp>) 【功能】返回dExp式中的天数。函数值为N型。

  36. 4.星期函数DOW( )、CDOW( ) 【格式】DOW(<dExp>) CDOW(<dExp>) 【功能】DOW( )函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW( ) 函数返回dExp式中星期的英文名称。函数值为C型。 5.月份函数MONTH( )、CMONTH( ) 【格式】MONTH(<dExp>) CMONTH(<dExp>) 【功能】MONTH( )函数返回dExp式中月份数。函数值为N型。CMONTH( )函数则返回月份的英文名。函数值为C型。 6.年份函数YEAR( ) 【格式】YEAR(<dExp>) 【功能】函数返回dExp式中年份值。函数值为N型。

  37. 转换函数 在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换。Visual FoxPro系统提供了若干个转换函数。 1.ASCII码函数ASC( ) 【格式】ASC (<cExp>) 【功能】返回cExp串首字符的ASCII码值。函数值为N型。 2.ASCII字符函数CHR( ) 【格式】CHR(<nExp >) 【功能】返回以nExp值为ASCII码的ASCII字符。函数值为C型。 3.字符日期型转换函数CTOD( ) 【格式】CTOD(<cExp>) 【功能】把“××/××/××”格式的cExp串转换成对应日期值。函数值为D型。

  38. 4.日期字符型转换函数DTOC( ) 【格式】DTOC(<dExp>) 【功能】把日期dExp转换成相应的字符串。函数值为C型。5.数值字符型转换函数STR( ) 【格式】STR(<nExp1>[,< nExp2>][,< nExp3>]) 【功能】将nExp1的数值转换成字符串形式。函数值为C型。6.字符数值型转换函数VAL( ) 【格式】VAL (<cExp>) 【功能】将cExp串中数字转换成对应数值,转换结果取两位小数。函数值为N型。

  39. 测试函数 用于了解数据对象的类型、状态等属性。 1.数据类型函数TYPE( ) VARTYPE( ) 【格式】TYPE(<cExp>) VARTYPE(<Exp>) 【功能】TYPE(<cExp>)返回cExp串表示的数据的数据类型。VARTYPE(<Exp>)返回Exp表达式的数据类型。返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义。 2.文件查找函数FILE() 【格式】FILE(<cExp>) 【功能】根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返回逻辑真(.T.) 值,否则为逻辑假(.F.)值。

  40. 3.条件测试函数IIF( ) 【格式】IIF(<lExp >,<eExp 1>,<eExp2>) 【功能】逻辑表达式lExp值为真(.T.),返回表达式eExp1的值,否则返回表达式eExp2的值。eExp1和eExp2可以是任意数据类型的表达式。 4.表结束标志测试函数EOF( ) 【格式】EOF([<工作区号> | <别名>]) 【功能】测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回真(.T.),否则为假(.F.)。 5.表起始标识测试函数BOF ( ) 【格式】BOF ([<工作区号> | <别名>]) 【功能】测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。工作区说明见EOF()函数。

  41. 6.当前记录号函数RECNO( ) 【格式】RECNO([<工作区号> | <别名>]) 【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为1。 7.当前记录逻辑删除标志测试函数DELETED( ) 【格式】DELETED([<工作区号> | <别名>]) 【功能】测试指定工作区中表的当前记录是否被逻辑删除。如果记有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。 8.记录数函数RECCOUNT( ) 【格式】RECCOUNT ([<工作区号> | <别名>]) 【功能】返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。

  42. 9.屏幕列坐标和行坐标函数 COL( )、ROW( ) 【格式】COL( ) ROW( ) 【功能】COL( )返回光标的列坐标值,ROW( )返回光标的行坐标值。 除了系统(标准)函数外, Visual FoxPro系统还允许用户自定义函数。

  43. 运算符 功能 表达式举例 运算结果 优先级别 ( ) 圆括号 (2-5)*(3+2) -15 最高 | | | | 最低 - 取相反数 -(3-8) 5 **、^ 乘幂 2**5、3^2 32、9 *、/ 乘、除 2*10、25/5 20、5 % 取余数 20%5 0 +、- 加、减 36+19、29-47 55、-18 Visual FoxPro的表达式 在Visual FoxPro系统中,表达式是由常量、变量、函数单独或与运算符组成的有意义的式子。 表达式分为算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。算术表达式算术表达式又称数值表达式。数值运算符的功能及运算优先顺序,如下表所示。

  44. 运算符 功能 表达式举例 运算结果 + 串1+串2:两串顺序相连接 ‘12 ’+‘56’ ‘12 56’ - 串1-串2:串1尾空格移到串2尾后再顺序相连接 ‘12 ’-‘56’ ‘1256 ’ $ 串1$串2:串1是否为串2子串 ‘1234’$ ‘a12345’ ‘1234’$ ‘34512’ .T. .F. 字符表达式“+”与 “-”都是字符连接运算符,都将两字符串顺序连接,但“+”是直接连接,“-”则将串1尾部所有空格移到串2尾部后再连接。“$”运算实质上是比较两个串的包含关系,其作用是比较、判断串1是否为串2的子串,如果串1是串2的子串,运算结果为“真”,否则为“假”。

  45. 日期表达式 日期运算符分为“+”和“-”两种,可在日期型数据上增加或减少一个天数,在日期时间型数据上增加或减少一个秒数。两个日期型数据相减等于间隔的天数,两个日期时间型数据相减等于间隔的秒数。例如:{12/15/03}-{12/11/03}的结果为4{12/15/03}-4的结果为{12/11/03} {12/15/03}+4的结果为{12/19/03}注意:两个日期型数据不能相加,两个日期时间型数据也不能相加。

  46. 运算符 功能 表达式举例 结果 < 小于 15<4*6 .T. > 大于 ‘A’ > ‘1’ .T. = 等于 2+4 = 3*5 .F. <>、#、!= 不等于 5 <> -10 .T. <= 小于或等于 'bc' <= ‘ab' .F. >= 大于或等于 {10/10/02}>={10/01/02} .T. == 字符串恒同 ‘abc’==’abcabc’ .F. 关系表达式关系表达式的值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。 日期型或日期时间型数据以日期或时间的先后顺序为序。

  47. 字符型数据的比较相对复杂,默认规则为: (1)单个字符:单个字符的比较是以字符ASCII码的大小,作为字符的“大小”,也就是先后顺序。(2)字符串:两个字符串进行比较的基本原则是从左到右逐个字符进行比较,但因系统相关设置状态不同,比较的结果不完全相同。相等比较:用运算符=进行两串比较时,或者到达右端串的末尾字符为止(当SET EXACT OFF时),或者当到达两串的末端为止(当SET EXACT ON时),以判断两串是否相等。恒等比较:用运算符==进行两串的恒同比较时,不论SET EXACT的设置如何,只有当两串长度相同,字符相同,排列一致时才成立。大小比较:用运算符<或>进行两串比较时,比较到第1个不相同字符为止,否则,长度较长的串较“大”。(3)汉字:系统默认以汉字的拼音顺序比较“大小”。

  48. 运算符 A B A .AND.B 功能 A .OR. B 优先级别 .NOT A .T. ( ) .T. .T. 圆括号 .T. 最高 | | 最低 .F. .T. .NOT.或! .F. .F. 逻辑非 .T. .F. .AND. .F. .T. .F. 逻辑与 .T. .T. .F. .OR. .F. .F. 逻辑或 .F. .T. 逻辑表达式 由逻辑运算符将逻辑型数据连接而成的式子称为逻辑表达式。 逻辑运算真值表

  49. 在Visual FoxPro系统中,各类运算的优先顺序如下: 圆括号>算术和日期运算>字符串运算>关系运算>逻辑运算 多个同一级别的运算,则按在表达式中出现的先后顺序进行运算。

  50. 建立表 定义数据表的结构 建立表时,首先要定义数据表的结构。 在Visual FoxPro 系统中,一张二维表对应一个数据表,称为表文件。 一张二维表由表名、表头、表的内容三部分组成,一个数据表则由数据表名、数据表的结构、数据表的记录三要素构成。 定义数据表的结构,就是根据二维表的定义来确定数据表的结构。即确定表的组织形式,定义表中的字段名、字段类型、字段宽度及是否以该字段建立索引等。(1)字段名:必须以字母或汉字开头,可以包括字母、汉字、数字和下划线,不要超过10个字符。示例:姓名、XB、班级BJ、班级2、班级_2

More Related