FoxPro中的数据与运算课件.ppt

上传人:小飞机 文档编号:1284791 上传时间:2022-11-03 格式:PPT 页数:38 大小:140.22KB
返回 下载 相关 举报
FoxPro中的数据与运算课件.ppt_第1页
第1页 / 共38页
FoxPro中的数据与运算课件.ppt_第2页
第2页 / 共38页
FoxPro中的数据与运算课件.ppt_第3页
第3页 / 共38页
FoxPro中的数据与运算课件.ppt_第4页
第4页 / 共38页
FoxPro中的数据与运算课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《FoxPro中的数据与运算课件.ppt》由会员分享,可在线阅读,更多相关《FoxPro中的数据与运算课件.ppt(38页珍藏版)》请在三一办公上搜索。

1、第二讲Visual FoxPro中的数据与运算,目 录,上一页,下一页,退 出,1,第二讲Visual FoxPro中的数据与运算目,本 章 要 点,2.1 Visual FoxPro的常量与变量 2.2 Visual FoxPro的表达式,思考题,2,本 章 要 点思考题2,2.1Visual FoxPro的常量与变量,在Visual FoxPro系统中,数据可用常量、变量、数组表示,数据还可以用字段、记录和对象中,由它们存储、容纳各种类型的数据。因此,常把这些供数据存储的常量、变量、数组、字段、记录和对象等称为数据存储容器。用户正是利用不同的数据存储容器,在Visual FoxPro系统中

2、表示、存储、操作、处理各种类型的数据,实现数据处理的应用。,3,2.1Visual FoxPro的常量与变量 在,2.1.1常量 常量是在命令或程序中可直接引用、具有具体值的命名数据项,其特征是在整个操作过程中它的值和表现形式保持不变。Visual FoxPro按常量取值的数据类型,将常量分为6种类型 数值型常量、货币型常量、字符型常量、逻辑型常量、日期型常量、日期时间型常量。,2.1Visual FoxPro的常量与变量,4,2.1.1常量2.1Visual FoxPro的常量与变量,1数值型常量(N)由数字0-9、小数点和正负号组成,表示整数或实数值。如;100,-21,15.31,-21

3、092.5041等分别是数值型常量中的整数和实数。数值型数据在内存中占用8个字节 . 2货币型常量(Y)用来表示货币值,书写格式与数据型常量类似但要多加一个前置符号且采用四位小数他没有科学记数法,在内存中占个字节,2.1Visual FoxPro的常量与变量,5,1数值型常量(N)2.1Visual FoxPro的常量与,3字符型常量(C)由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。为与其他类型常量、变量和标识符相区别,Visual FoxPro要求将字符串中所有字符,用一对双引号“”或单引号“”或方括号“”作为定界符对括起来。如“ I am a studen

4、t.”,中华人民共和国,Visual FoxPro 6.0系统都是字符串。4.逻辑型常量(L)逻辑型数据只有逻辑真和逻辑假两个值。逻辑真的常量表示形式有:.T.、.t.、.Y.和.y.。逻辑假的常量表示形式有:.F.、.f.、.N.、.n.。前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用一个字节。,2.1Visual FoxPro的常量与变量,6,3字符型常量(C)2.1Visual FoxPro的常量与,5日期型常量(D) 日期型常量是表示日期值的数据,其默认格式是mm/dd/yyyy。如10/01/02和10/01/2002均表示2002年10月1日

5、这一日期常量值。6日期时间型常量(T) Visual FoxPro系统中增加了一种表示日期和时间值的日期时间型常量,其默认格式是: mm/dd/yyyy , hh:mm:ssa|p 其中a和p分别表示AM(上午)和PM(下午)。 日期值和日期时间值的输入格式与输出格式并不完全相同,特别是输出格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。,2.1Visual FoxPro的常量与变量,7,5日期型常量(D)2.1Visual FoxPro的常量与,(1)日期格式中的世纪值 通常日期格式中用2位数表示年份,但涉及到世纪问题就不便区分。Visual FoxPro提供设置命令对此进行

6、相应设置。 命令格式: SET CENTURY ON | OFF | TO nCentury 命令功能: ON:日期数据显示10位,其中年份4 位,即日期值输出时显示年份值; OFF:(默认值)。日期数据显示8位,年份2位,即日期值输出时不显示年份值; TO nCentury:指定日期数据所对应的世纪值。nCentury是一个199的整数,代表世纪数。,2.1Visual FoxPro的常量与变量,8,(1)日期格式中的世纪值2.1Visual FoxPro的常,(2)设置日期显示格式 用户可以调整、设置日期值和时间值的显示输出格式。既可以用命令方式设置,也可以用菜单方式设置。 命令格式: S

7、ET DATE TO AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JAPAN | USA | MDY | DMY | YMD | SHORT | LONG 命令功能:设置日期型和日期时间型数据的显示输出格式。系统默认为AMERICAN美国格式。 如果日期格式设置为SHORT或LONG格式,Visual FoxPro系统将按Windows系统设置的短日期格式或长日期格式显示输出日期数据,而且SET CENTURY命令的设置被忽略。,2.1Visual FoxPro的常量与变量,9,(2)设置日期显示格式2.1Visual FoxP

8、ro的常量,各种日期格式设置所对应的日期显示输出格式,见表2-1所示。表2-1 系统日期格式,2.1Visual FoxPro的常量与变量,10,各种日期格式设置所对应的日期显示输出格式,见表2-1所示。设,(3)设置日期2000年兼容性 通常日期型和日期时间型数据的结果,与SET DATE命令和SET CENTURY命令设置状态及当前系统时间有关。由于系统时间与相应设置不同,同一数据的结果可能有不同的解释。如日期值10/11/12可以解释为1912 年 10 月 11 日、2012 年 10 月 11 日、1912 年 11 月 10 日、1910 年 11 月 12 日或者 2010 年

9、11 月 12 日等。这显然会导致系统混乱,而且还可能造成2000年兼容性错误,影响系统正常、有效的操作运行。,2.1Visual FoxPro的常量与变量,11,(3)设置日期2000年兼容性2.1Visual FoxPr,Visual FoxPro系统增加了一种所谓严格的日期格式。不论哪种设置,按严格日期格式表示的日期型和日期时间型数据,都具有相同的值和表示形式。严格的日期格式是: yyyy-mm-dd,hh:mm:ssa|p 符号表明该格式是严格的日期格式,并按照 YMD 的格式解释日期型和日期时间型数据,它是严格日期格式的标志,不可缺少。有效的日期型和日期时间型数据分隔符为:连字符“-

10、”、正斜杠“/”、句点“.”和空格。如2002-10-01、2002-10-01 10:30:30a,分别以严格的日期格式表示2002年10月1日及该日上午10时30分30秒这两个日期数据。,2.1Visual FoxPro的常量与变量,12,Visual FoxPro系统增加了一种所谓严格,2.1.2变量 变量是在操作过程中可以改变其取值或数据类型的数据项。在Visual FoxPro系统中变量分为字段变量、内存变量、数组变量和系统变量4类。此外,作为面向对象的程序语言,Visual FoxPro在进行面向对象的程序设计中引入了对象的概念,对象实质上也是一类变量。 确定一个变量,需要确定其三

11、个要素:变量名、数据类型和变量值。,2.1Visual FoxPro的常量与变量,13,2.1.2变量2.1Visual FoxPro的常量与变量,1命名约定 在Visual FoxPro系统中,将表示、存储数据的常量、变量、数组、字段、记录、对象、表、数据库等,都称之为数据容器。所有数据容器均需命名以相互区别,为规范各类对象的命名,Visual FoxPro系统推荐了若干“命名约定”供用户参考,以提高操作命令与程序的可读性和规范性。 使用字母,下划线和数字命名。一般建议不采用汉字命名; 命名以字母或下划线开头;除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1128

12、个字符; 避免使用 Visual FoxPro的保留字; 文件名的命名应遵循操作系统的约定。,2.1Visual FoxPro的常量与变量,14,1命名约定2.1Visual FoxPro的常量与变量 1,2字段变量 表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段也是变量。与其他变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。字段名就是变量名;变量的数据类型为Visual FoxPro中任意数据类型,字段值就是变量值。,2.1Visual FoxPro的常量与变量,15,2字段变量2.1Visual Fo

13、xPro的常量与变量 1,3内存变量内存变量是在内存中定义的、一种单个数据元素的临时性变量。(1)内存变量的数据类型 内存变量的数据类型包括:数值型、货币型、字符型、逻辑型、日期型和日期时间型;(2)内存变量的建立 建立内存变量就是给内存变量赋值。内存变量赋值既可定义一个新的内存变量,也可改变已朋内存变量的值或数据类型。命令格式1: STORE TO 命令功能:计算的值并赋值给各个内存变量。命令格式2: = 命令功能:计算的值并赋值给指定内存变量。,2.1Visual FoxPro的常量与变量,16,3内存变量2.1Visual FoxPro的常量与变量 1,(3)内存变量的显示输出可以用两个

14、命令在屏幕上显示输出内存变量的值。命令格式1: ?| ? AT 命令功能:计算表达式表中各表达式的值,并在屏幕上指定位置显示输出各式的值。?:先回车换行,再计算并输出表达式的值;?:在屏幕上当前位置,计算并直接输出表达式的值;:多个用逗号分隔的表达式,各表达式的值输出时,以空格分隔; AT 子句指定表达式值从指定列开始显示输出。AT的定位只对它前面的一个表达式有效,多个表达式必须用多个AT子句分别定位输出,而且可反序定位。命令格式2: SAY命令功能:命令在指定位置输出表达式的值。指定了输出的位置。左上角顶点为(0,0),行、列都可为表达式,还可为小数。,2.1Visual FoxPro的常量

15、与变量,17,(3)内存变量的显示输出2.1Visual FoxPro的常,4数组变量 数组变量是结构化的变量,是一组具有相同名称、以下标相互区分的有序内存变量。一个数组通常都包含多个数据元素。Visual FoxPro系统中只允许使用一维数组(相当于数列)和二维数组(相当于行列式或矩阵)。,2.1Visual FoxPro的常量与变量,18,4数组变量2.1Visual FoxPro的常量与变量 1,(1)数组元素 数组中各有序变量(数据元素)组成数组的成员,称为数组元素。数组元素实质上是一个内存变量,也称数组变量,它们具有相同变量名即数组名,彼此以下标区分; 数组元素的名称(变量名)用数组

16、加下标构成。如AA(1),BB(2,3)分别表示一维数组AA的第1个元素,二维数组BB中第2行第3列的元素; 下标必须用圆括号对括;一维数组的元素只有一个下标,二维数组的元素有两个以逗号分隔的下标; 下标必须是非负数值,可以是常量、变量、函数或表达式,下标值会自动取整。如AA(1.5),AA(nA1),AA(2+10/3)等; 数组元素的数据类型决定于最后赋值的数据类型;不同数组元素的数据类型可以不同; 数组元素与普通内存变量一样操作,可以赋值和引用。,2.1Visual FoxPro的常量与变量,19,(1)数组元素2.1Visual FoxPro的常量与变量,(2)数组的定义 数组必须先定

17、义后使用,定义数组是向系统申请数组元素在内存中的存储空间。命令格式: DIMENSION | DECLARE (,),(,)命令功能:定义指定的各个数组。(3)数组的赋值与引用 数组元素的赋值与引用,与普通内存变量的规则相同。,2.1Visual FoxPro的常量与变量,20,(2)数组的定义2.1Visual FoxPro的常量与变量,5系统变量 系统变量是Visual FoxPro系统特有的内存变量,它由Visual FoxPro系统定义、维护。系统变量有很多,其变量名均以下划线“_”开始,因此在定义内存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。系统变量设置、保存了很多

18、系统的状态、特性,了解、熟悉并且充分地运用系统变量,会给数据库系统的操作、管理带来很多方便,特别是开发应用程序时更为突出,学习时可对此有所关注。,2.1Visual FoxPro的常量与变量,21,5系统变量2.1Visual FoxPro的常量与变量 2,6内存变量与数组变量的基本操作(1)变量的显示 用?/?命令可以分别显示单个或一组变量的值。有时用户还需了解变量其他相关信息,如数据类型、作用范围,或了解系统变量的信息。Visual FoxPro系统提供了相应操作命令。命令格式: DISPLAY | LIST MEMORY LIKE TO PRINTER PROMPT | TO FILE

19、NOCONSOLE命令功能: 显示指定变量的信息。,2.1Visual FoxPro的常量与变量,22,6内存变量与数组变量的基本操作2.1Visual FoxP,(2)变量的保存 Visual FoxPro提供相应命令,可用文件形式将某些变量保存起来,以便重复使用。命令格式: SAVE TO ALL LIKE | ALL EXCEPT 命令功能: 将指定变量的信息保存到指定的变量文件(*.MEM)中。ALL LIKE :只保存符合通配符条件的所有变量;ALL EXCEPT :只保存不符合通配符条件的所有变量。,2.1Visual FoxPro的常量与变量,23,(2)变量的保存2.1Visu

20、al FoxPro的常量与变量,(3)变量的恢复需要保存在文件中的变量信息时,必须先恢复到内存后方可使用。命令格式: RESTORE FROM ADDITIVE命令功能: 将指定变量文件(*.MEM)中变量信息恢复到内存中。ADDITIVE:省略此项,清除内存所有变量后再恢复文件中变量的信息;加选此项,将变量文件中的变量信息追加到内存现有变量信息中。(4)变量的清除 Visual FoxPro系统对定义内存变量的数量是有限制的,应及时清理,尽量减少内存的占用,定义其他变量。命令格式: CLEAR MEMORY RELEASE RELEASE ALL EXTENDED RELEASE ALL L

21、IKE | EXCEPT ,2.1Visual FoxPro的常量与变量,24,(3)变量的恢复2.1Visual FoxPro的常量与变量,2.2Visual FoxPro的表达式,在Visual FoxPro系统中,表达式是由常量、变量、函数及其他数据容器单独或与运算符组成的有意义的运算式子。 运算符是对数据对象进行加工处理的符号,根据其处理数据对象的数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运算符、逻辑运算符和关系运算符五类,相应的,表达式也分为算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。 常量、变量和函数可以作为表达式的特例。今后涉及到表达式的

22、描述,除特别指明,均可包含这些特殊的形式。,25,2.2Visual FoxPro的表达式 在Vi,在一个表达式中可能包含多个由不同运算符连接起来的、具有不同数据类型的数据对象,但任何运算符两侧的数据对象必须具有相同数据类型,否则运算将会出错;由于表达式中有多种运算,不同的运算顺序可能得出不同结果,甚至出现运算错误,因此当表达式中包含多种运算时,必须按一定顺序施行相应运算,才能保证运算的合理性和结果的正确性、惟一性。用户也可以通过给表达式加圆括号的方式,改变其默认运算顺序。在Visual FoxPro系统中,各类运算的优先顺序如下:圆括号算术和日期运算字符串运算关系运算逻辑运算 同一类运算符也

23、有一定的运算优先顺序,这在各类表达式中分别介绍。如果多个同一级别的运算,则按在表达式中出现的先后顺序进行运算。,2.2Visual FoxPro的表达式,26,在一个表达式中可能包含多个由不同运算符连接起来的,2.2.1算术表达式 算术表达式又称数值表达式,其运算对象和运算结果均为数值型数据。数值运算符的功能及运算优先顺序,如表2-2所示。表中运算符按运算优先级别从高到低顺序排列。表2-2 算术运算符,2.2Visual FoxPro的表达式,27,2.2.1算术表达式运算符功 能表 达 式 举 例运算,2.2.2字符表达式 字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子。字符

24、运算的对象是字符型数据对象,运算结果是字符常量或逻辑常量。表2-3为字符运算符 的功能。 +与 -都是字符连接运算符,都将两字符串顺序连接,但“+”是直接连接,“-”则将串1尾部所有空格移到串2尾部后再连接;“$”运算实质上是比较两个串的包含关系,因此有些书籍中将其归于关系运算,其作用是比较、判断串1 是否为串2的子串,如果串1是串2的子串,运算结果为“真”,否则为“假”。所谓子串,如果串1中所有字符均包含在串2中、且与串1中排列方式与顺序完全一致,则称串1为串2的子串。,2.2Visual FoxPro的表达式,28,2.2.2字符表达式2.2Visual FoxPro的表达式,表2-3 字

25、符运算符 两个连接运算的优先级别相同,但高于$的比较运算。,2.2Visual FoxPro的表达式,29,表2-3 字符运算符运算符功能表达式举例运算结果+串1+,2.2.3日期表达式 由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式称为日期表达式。日期运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少一个天数,在日期时间数据上增加或减少一个秒数。两个运算的优先级别相同。,2.2Visual FoxPro的表达式,30,2.2.3日期表达式2.2Visual FoxPro的表达式,2.2.4关系表达式 由关系运算符连接两个同类数据对象进行关系比较的运算式

26、称为关系表达式。关系表达式的值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。表2-4 关系运算符,2.2Visual FoxPro的表达式,31,2.2.4关系表达式运算符功 能表 达 式 举,关系运算符的优先级别相同。关系表达式运算时,就是比较同类两数据对象的“大小”,对于不同类型的数据,其“大小”或者是值的大小,或者是先后顺序。日期或日期时间数据以日期或时间的先后顺序为序。在Visual FoxPro系统中,字符型数据的比较相对复杂,默认规则为:。(1)单个字符 单个字符的比较是以字符ASCII码的大小,作为字符的“大小”,也就是先后顺序。,2.2Visual FoxPro的表达式

27、,32,关系运算符的优先级别相同。关系表达式运算时,就是,(2)字符串 两个字符串进行比较的基本原则是从左到右逐个字符进行比较,但因系统相关设置状态不同,比较的结果与预期的不完全相同。 相等比较:用运算符进行两串比较时,或者到达右端串的末尾字符为止(当SET EXACT OFF时),或者当到达两串的末端为止(当SET EXACT ON时),以判断两串是否相等; 恒同比较:用运算符=进行两串的恒同比较时,不论SET EXACT的设置如何,只有当两串长度相同,字符相同,排列一致时才成立; 大小比较:用运算符进行两串比较时,比较到第个不相同字符为止,否则,长度较长的串较“大”; 其他比较:除上述运算

28、符之外的其他运算符、=的比较,均可看作是两个运算符以逻辑“或”的关系构成的复合运算; SET ANSI的影响,2.2Visual FoxPro的表达式,33,(2)字符串2.2Visual FoxPro的表达式33,(3)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉字的拼音顺序比较“大小”,因此,汉字比较实质上是以字母的顺序进行比较;但Visual FoxPro系统可以设置汉字按笔画排列顺序,因而,汉字的“大小”就决定其笔画数的多少。 用菜单设置汉字排列顺序方式的操作步骤为:单击【工具】|【选项】命令,将打开“选项”对话框中,在“数据”选项卡的“排序序列”下拉列表框中选择“Stroke

29、”项并确定,系统将按汉字的笔画数进行汉字的排序、比较运算。,2.2Visual FoxPro的表达式,34,(3)汉字2.2Visual FoxPro的表达式34,2.2.5逻辑表达式 由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。表2-5为逻辑运算符的功能。逻辑运算符前后一般要加圆点“.”标记,以示区别。表2-5 逻辑运算符,2.2Visual FoxPro的表达式,35,2.2.5逻辑表达式运算符 功 能优先级别( ) 圆,对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,表2-6所示就是逻辑运算真值表。 表2-6 逻辑运算真值表,

30、2.2Visual FoxPro的表达式,36,对于各种逻辑运算,其运算规则可由逻辑运算真值表确,在Visual FoxPro系统中,经常需要与一种特殊的“数据”空值NULL(或.NULL.)打交道。如数组变量定义而未赋值时,所有数组变量的默认值为NULL,表中字段可根据需要允许或限制其取空值。空值对于逻辑运算的影响如表2-7所示。 表2-7 NULL值对逻辑运算的影响,2.2Visual FoxPro的表达式,37,在Visual FoxPro系统中,经常需要与一,对于两个逻辑型数据,一般不用比较的方式来确定它们之间的关系,而是直接运用逻辑运算的方式进行处理。如对表中记录实施选择运算时,是用FOR 或WHILE 进行逻辑判断,其中就是一个关系表达式或逻辑表达式。对于以逻辑型字段进行逻辑判断的情况,一般不用关系表达式而直接用逻辑表达式。如“性别”是一个逻辑型字段,并约定“真”表示男性,“假”表示女性。那么判断某记录对应人员是否为男性,用FOR 性别,而不用FOR 性别=.T.,判断是否为女性,用FOR .NOT. 性别,不用FOR 性别=.F.。,2.2Visual FoxPro的表达式,38,对于两个逻辑型数据,一般不用比较的方式来确定它们,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号