第2章visualfoxpro基础剖析

上传人:今*** 文档编号:106887114 上传时间:2019-10-16 格式:PPT 页数:62 大小:675KB
返回 下载 相关 举报
第2章visualfoxpro基础剖析_第1页
第1页 / 共62页
第2章visualfoxpro基础剖析_第2页
第2页 / 共62页
第2章visualfoxpro基础剖析_第3页
第3页 / 共62页
第2章visualfoxpro基础剖析_第4页
第4页 / 共62页
第2章visualfoxpro基础剖析_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《第2章visualfoxpro基础剖析》由会员分享,可在线阅读,更多相关《第2章visualfoxpro基础剖析(62页珍藏版)》请在金锄头文库上搜索。

1、第2章 Visual FoxPro基础,2.1 Visual FoxPro的数据类型,2. 1 Visual FoxPro的数据类型 Visual FoxPro定义了13种数据类型,这些类型可分为两大类:一类只适用于数据表中的字段,另一类不仅适用于字段,还适用于程序设计中的内存变量和数组。 基本数据类型 (1)字符型(C):由字母、汉字、数字、空格等任意ASCII码字符组成。字符的长度为0254,每个字符占1个字节。 (2)数值型(N)用来表示数量,它由数字09、一个符号(+或-)和一个小数点(.)组成。数值型数据的长度为120,数值型数据取值的范围是:-.9999999999E+19.999

2、9999999E+20 (3)货币型(y):在使用货币值时,可以使用货币型来代替数值型。货币型数据取值的范围是:-922 337 203 685 477.580 7922 337 203 685 477.580 7 小数位数超过4位时,系统将进行四舍五入的处理。每个货币型数据占8个字节。,(4)日期型(D):用以保存不带时间的日期值。日期型数据的存储格式为“yyyymmdd“其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位。 日期型数据的表示有多种格式,最常用的格式为mm/dd/yyyy。 日期型数据取值的范围是:公元0001年1月1日公元9999年12月31日。 (6)日期时间型

3、(T):用以保存日期和时间值。日期时间型数据的存储格式为“yyyymmddhhmmss”其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位,hh为时间中的小时,占2位,mm为时间中的分钟,占2位,ss为时间中的秒,占2位。 日期时间型数据中可以只包含一个日期或者只包含一个时间值,缺省日期值时,系统自动加上1999年12月31日,省略时间值时,则自动加上午夜零点。 (6)逻辑型(L):用于存储只有两个值的数据。存入的值只有真(.T.)和假(.F.)两种状态,占1个字节。,Visual FoxPro的数据类型,以下数据类型只能被用于数据表中的字段:,(7)双精度型(Double):用于取

4、代数值型,以便能提供更高的数值精度。双精度型只用于数据表中字段的定义,它采用固定存储长度的浮点数形式。与数值型不同,双精度型的小数点的位置是由输入的数据值来决定的。 双精度型数值的取值范围是:+/-4.94065645841247E-324+/-8.9884656743115E307每个双精度型数据占8个字节。 (8)浮点型(Float):只能用于数据表中字段的定义,包含此类型是为了提供兼容性,浮点型在功能上与数值型等价。 (9)通用型(G):用于存储OLE对象,只能用于数据表中字段的定义。该字段包含了对OLE对象的引用,而OLE对象的具体内容可以是一个电子表格、一个字处理器的文本、图片等,是

5、由其他应用软件建立的。,Visual FoxPro的数据类型,(10)整型(I):用于存储无小数部分的数值,只能用于数据表中字段的定义。在 数据表中,整型字段占用4个字节,取值范围是:-21474836472147483647 整型以二进制形式存储,不像数值型那样需要转换成ASCII字符存储。 (11)备注型(M):备注型用于字符型数据块的存储,只能用于数据表中字段的定义。在数据表中,备注型字段占用4个字节,并用这4个字节来引用备注的实际内容。实际备注内容的多少只受内存可用空间的限制。 备注型字段的实际内容变化很大,不能直接将备注内容存在数据表(.DBF)文件中。系统将备注内容存放在一个相对独

6、立的文件中,该文件的扩展名为.FPT。,Visual FoxPro的数据类型,(12)字符型(二进制):用于存储任意不经过代码页修改而维护的字符数据,只能用于数据表中字段的定义。 (13)备注型(二进制):用于存储任意不经过代码页修改而维护的备注型数据,只能用于数据表中字段的定义。,数据存储与运算方式,在Visual FoxPro系统环境下,数据输入、输出是通过数据的存储设备完成的。 可将数据存入到常量、变量、数组中,还可以存入到字段、记录和对象中。 这些供数据存储的常量、变量、数组、字段、记录和对象称为数据存储容器。 1.常量 常量是一个具体的数据项,其特征是在所有的操作中其值不变。常量有以

7、下六种。 (1)数值型常量 由数字(09)、小数点和正负号组成。 123、-34.56 0.55E3 8E-3,(2)字符型常量 由汉字和ASCII字符集中可打印字符组成的字符串,使用时必须用定界符括起来。 “” “你好”hello abc (3)逻辑型常量 由表示逻辑判断结果“真”或“假”符号组成。 .t. .y. .f. .n. (4)日期常量 用于表示日期,其规定格式以yyyy-mm-dd表示。 2009-3-4 (5)时间日期型常量 用于表示时间日期,其规定格式以yyyy-mm-dd hh:mm:ss表示。 2009-02-20,4:48:10 p,2.内存变量 P23 内存变量形式:

8、内存变量、数组变量、系统变量、字段变量。每一个内存变量都必须有一个固定的名称,以标识该内存单元的存储位置。当退出Visual FoxPro 系统后,内存变量也会与系统一起消失。 用户可以根据需要定义内存变量类型,它的类型取决于接受的数据的类型。 它的类型有数值型N、字符型C、逻辑型L、日期型D、时间日期型T、货币型Y、对象型O七种。,内存变量的命名 : 内存变量名的长度1-128个字符,是由字母、数字和下划线组成。 如果内存变量与数据表中的字段变量同名时,用户在引用内存变量时,要在其名字前加一个m.,用以强调这一变量是内存变量。 内存变量的赋值: 内存变量的赋值和输出,可以使用STORE、“=

9、”或“?”命令进行操作完成。三个命令的格式如下: .STORE TO .= .? 系统变量:系统变量名都以下划线开头 _screen.fontsize=12 内存变量的作用域: 每个内存变量都有它的作用域。用户可以通过LOCAL、PRIVATE、PUBLIC命令规定作用域,也可以使用系统默认的范围作为内存变量的作用域。,X=90 A1=“hello” Store .t. to a,b,c,变量的释放,当程序结束,从内存中删除或释放变量的命令是: RELEASE 内存变量表 这里,内存变量表中的各个变量用逗号分隔。 还可以使用CLEAR MEMORY命令清除所有的内存变量。,变量的显示,显示内存

10、变量的命令格式有两种: LIST MEMORY LIKE 通配符TO PRINTER PROMPT|TO FILE 文件名 DISPLAY MEMORY LIKE 通配符TO PRINTERPROMPT|TO FILE 文件名 例:LIST MEMORY like a*,表达式与运算符,表达式是由数据、数据存储容器和运算符组成的运算式。在Visual FoxPro系统中根据不同的运算符及表达式结果的不同,表达式可以分为以下五种: 1.算术表达式 算术表达式可由算术运算符和数值型常量、数值型变量、返回数值型数据的函数组成。运算结果是数值型常数。,数值型表达式,算术运算符有6种,按优先级由高到低的

11、排列顺序为: *或(乘方). *(乘)、/(除)、%取模,即取两个数相除的余数. +(加)、一(减) 此外,还可以使用圆括号改变运算顺序。 例如: A=6 ?(8+A)/2 &显示结果为:7.0000 ?20%3 &显示结果为:2 ?3*A-26 &显示结果为:-8 ?210 &显示结果为:1024.00,字符型表达式,2.字符表达式 字符表达式可由字符运算符和字符型常量、字符型变量和返回字符型数据的函数组成。字符表达式运算的结果是字符串 字符运算符只有两种: + (完全连接运算符,将两个或多个字符串按顺序直接连接成一个字符串) - (不完全连接运算符,用于连接两个字符串,并将前一个字符串尾部

12、的空格移到结果字符串的尾部) 例如: 姓名=”王小红” ?”姓名”+姓名 &显示结果为:姓名王小红 ?”Visual”+”FoxPro”+”6.0” &显示结果为:Visual FoxPro6.0 ?”科学 ”+”技术” &显示结果为:科学 技术 ? ”科学 ”-”技术” &显示结果为:科学技术,3.时间日期表达式 时间日期表达式可由日期运算符和时间日期型常量、时间日期型内存变量和数组、返回时间日期型数据的函数组成。时间日期表达式运算的结果是时间日期型常数。,日期运算符有两种,日期运算符有两种: +(相加) -(相减) 例如: ?2008-9-10+30 &显示结果为 10/10/08 ?20

13、08-9-10-30 &显示结果为:08/11/08 ?2008-10-1-2008-9-10 &显示结果 为21,关系运算符P69,4.关系表达式 关系表达式可由关系运算符和字符表达式、算术表达式、时间日期表达式组成。其运算结果为逻辑型常量。关系运算是运算符两边同类型元素的比较,关系成立结果为(T);反之,结果为(F)。 关系运算符有8种,它们的优先级相同,由其先后顺序和括号来决定运算次序。 (大于) = (大于或等于) (不等于 list for 姓名#“李“ =(完全等于,两个字符串完全相同才为真) ?”ab”=“a” &.f. list for 姓名=“李“ $(包含,右串包含左串才为

14、真,或者说左串为右串的子串才为真) ?”a”$”ab” &.t. list for “李“$姓名,说明: 关系运算符两侧值或表达式的类型应一致。 数学不等式a x b,在VFP中不能写成a =a AND x = b 字符型数据按其ASCII码值进行比较。在比较两个字符串时,首先比较两个字符串的第一个字符,其中ASCII码值较大的字符所在的字符串大。如果第一个字符相同,则比较第二个,依此类推。 = 表示“等同于”,用于精确匹配。例如,使用条件:UPPER(NAME) = “SMITH“进行查找,将找出SMITHSON、SMITHERS和SMITH的记录,而用=(等同于)可得到精确匹配SMITH的

15、纪录。 关系运算符两边的表达式只能是数值型、字符串型、日期型,不能是逻辑型的表达式或值。,逻辑运算符,5.逻辑表达式 逻辑表达式可由逻辑运算符和逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成。其运算结果仍是逻辑型常量。 逻辑运算符有3种,按优先级由高到低排列顺序如下: NOT或!(逻辑非,取其右边逻辑值的相反值) AND (逻辑与,两边的逻辑值都是真时才得真) OR (逻辑或,两边的逻辑值都是假时才得假,只要有一个是真就得真) 例如: S1=90 S2=120 ?NOT S1=90 &显示结果为:.F. ?S1200 &显示结果为:.T. ?S1200 &显示结果为:.F.,运算符的优先顺序,运算符的优先顺序 在一个表达式中进行多种操作时,VFP会按一定的顺序进行求值,称这个顺序为运算符的优先顺序。运算符的优先顺序,见表5-4。 说明: 同级运算按照它们从左到右出现的顺序进行计算。 可以用括号改变优先顺序,强令表达式的某些部分优先运行。 括号内的运算总是优先于括号外的运算,在括号之内,运算符的优先顺序不变。,【例5-1】设变量x = 3,y = -2,a = 6.5,b = 7.2,求下列表达式的值: x + y a + b AND NOT y 0.7 AND NOT y b 再作关系运算 .T. AND NOT .F. 作逻辑非运算 .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号