VisalFoxPro语言基础.ppt_第1页
VisalFoxPro语言基础.ppt_第2页
VisalFoxPro语言基础.ppt_第3页
VisalFoxPro语言基础.ppt_第4页
VisalFoxPro语言基础.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第2章 Visual FoxPro基础 2.1 Visual FoxPro的数据 2.2 常量与变量 2.3 运算符与表达式 2.4 Visual FoxPro的函数 1Visual FoxPro 2.1Visual FoxPro的数据 Visual FoxPro 数据类型 数值型 货币型 日期型 备注型 通用型 二进制字符型 日期时间型 字符型 二进制备注型 逻辑型 2 Visual FoxProVisual FoxPro 字符型 字符型(Character)数据是不能进行算术运 算的文字数据类型,用字母C表示。字符型数据 包括中文字符、英文字符、数字字符和其他 ASCII字符,其长度(即字符个数)范围是0254 个字符。 注意:字符型数据也有可能由数字组成 在数据处理中,经常用到字符型数据,比如 姓名、学号、电话号码等。 3 Visual FoxProVisual FoxPro 数值型 数值型(Numeric)数据是表示数量并可以进行算 术运算的数据类型,用字母N表示。数值型数 据由数字、小数点和正负号组成。 注意:判断一个数据是否为数值型,关键在于 他能否参与数值运算。 例: 十六进制的5A 电话号码4 Visual FoxProVisual FoxPro 货币型 货币型(Currency)数据是为存储货币值而使 用的一种数据类型,它默认保留4位小数,占据8 字节存储空间。货币型数据用字母Y表示。 5 Visual FoxProVisual FoxPro 日期型 日期型(Date)数据是表示日期的数据,用字 母D表示。日期的默认格式是mm/dd/yy,其中 mm表示月份,dd表示日期,yy表示年度,年度也 可以是4位。日期型数据的长度固定为8位。日期 型数据的显示格式有多种,它受系统日期格式设 置的影响。 如:05/23/92表示92年5月23日 此日期也可以写成1992/05/23 6 Visual FoxProVisual FoxPro 日期时间型 日期时间型(Date Time)数据是表示日期和时间的 数据,用字母T表示。日期时间的默认格式是 mm/dd/yy hhmmss, 08/16/03 103530表示2003年8月16日10时35 分30秒这一日期和时间。 7 Visual FoxProVisual FoxPro 逻辑型 逻辑型(Logic)数据是描述客观事物真假的数 据类型,表示逻辑判断的结果,用字母L表示。 逻辑型数据只有“真”和“假”两种结果,长度固定为 1位。 8 Visual FoxProVisual FoxPro 备注型 备注型(Memo)数据是用来存放较多字符的数 据类型。可以把它看成是字符型数据的特殊形式 ,用字母M表示。 通用型 通用型用字母G表示。通用型数据中的对象可 以是电子表格、文档、图形、声音等。它只用 于表中字段类型的定义。通用型数据字段长度 固定为4位 9 Visual FoxProVisual FoxPro 二进制字符型和二进制备注型 这两类数据是以二进制格式存储的数据类型, 只能用在表中字段数据的定义中。所存储的数据不 受代码页改变的影响。 刚介绍的都是Visual FoxPro的数据类型,类 型是同种形式的数据的归类,我们使用到的还是 实际的数据,接下来我们一起学习数据的具体 表现形式。 10 Visual FoxProVisual FoxPro 2.2 常量与变量 常量是以直观的数据形态和意义直接出现在 程序中的数据。因此,在程序中,常量一旦定义 ,其值就不再改变。 11 Visual FoxProVisual FoxPro 字符型常量 字符型常量是用定界符括起来的一串字符。 在Visual FoxPro中,定界符有3种:单撇号、双 撇号和方括号。如Central South University,410075,教授等都是字 符型常量。 如果某一种定界符本身是字符型常量中的字 符,就应选择另一种定界符。例如,Thats right!表示字符常量:Thats right!,含有13个字符 。 12 Visual FoxProVisual FoxPro 数值型常量 数值型常量就是平时所讲的常数,由数 字、小数点和正负号组成 13 Visual FoxProVisual FoxPro 货币型常量 货币型常量的书写格式与数值型常 量类似,但要加上一个前置的$。 如: $3.1416 , $-3.1416 14 Visual FoxProVisual FoxPro 日期型常量 日期型常量要放在一对花括号中,花括号内包 括年、月、日3部分内容,各部分内容之间用分隔符 分隔。分隔符可以是/,-,.等。Visual FoxPro的默 认日期格式是mm/dd/yyyy。 如: 03/26/06 此日期也可以写成:2006/03/26) 15 Visual FoxProVisual FoxPro 日期时间型常量 日期时间型常量也要放在一对花括号中,其 中既含日期又含时间。日期的格式与日期型常量 相同,时间包括时、分、秒,它们之间用“:”分 隔。日期时间型常量的默认格式是: mm/dd/yyyy,hh:mm:ssap 其中hh,mm,ss的默认值分别为12,0和0 。a和p分别表示AM(上午)和PM(下午),默认为 AM。 03/26/06,表示06年3月26日上午12点 16 Visual FoxProVisual FoxPro 日期格式设置 日期格式中的世纪值设置: SET CENTURY ON | OFF | TO n Century 其中,ON表示日期值输出时显示10位,年份占4位。TO n Century 指定日期数据所对应的世纪值,n 是一个199的整数。 设置日期显示格式: SET DATE TO AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | USA | MDY | DMY | YMD 设置日期分隔符:SET MARK TO 日期分隔符 (/、-、.等) 严格的日期格式:yyyy-mm-dd,hh:mm:ssa|p 日期格式检测设置:SET STRICTDATE TO 0 | 1 | 2 其中,0不进行严格的日期格式检测。1进行严格的日期格式检 测(默认值)。2进行严格的日期格式检测,且对CTOD和CTOT函数格式 也有效。 17 Visual FoxProVisual FoxPro 逻辑型常量 逻辑型常量表示逻辑判断的结果,只有 “真”和“假”两种值 . 逻辑真用.T.,.t.,.Y.或.y.表示 逻辑假用.F.,.f.,.N.或.n.表示 注意: 字母前后的圆点一定不能少 18 Visual FoxProVisual FoxPro 变量的命名规则 使用字母、汉字、下划线和数字命名。 命名以字母或下划线开头。除自由表中字段 名、索引的TAG标识名最多只能10个字符外, 其他的命名可使用1128个字符。 为避免误解和混淆,不应使用Visual FoxPro的保留字。 19 Visual FoxProVisual FoxPro 字段变量 字段变量就是指数据表中已定义的任意一个 字段。 字段变量的数据类型有数值型、浮点型、货 币型、整型、双精度型、字符型、逻辑型、日期 型、日期时间型、备注型和通用型等。 学号姓名出生日期成绩 011张华06/23/8485 012李璨12/16/8392 013潘攀07/16/8393 指向不同的记录,每 个字段的取值就不 一样,所以称之为字 段变量 20 Visual FoxProVisual FoxPro 内存变量 内存变量是一般意义下的简单变量。 每一个内存变量都必须有一个固定的名称 ,以标识该内存单元的存储位置。用户可 以通过变量标识符使用内存单元存取数据 。 内存变量的类型有数值型、浮点型、 字符型、逻辑型、日期型和日期时间型6种 ,它的定义是通过赋值语句来进行的。 21 Visual FoxProVisual FoxPro 内存变量的赋值 内存变量的赋值 : 内存变量=表达式 STORE 表达式 TO 内存变量表 该命令先计算表达式的值,然后将表达式的值赋给指定 的内存变量。 第一种格式只能给一个内存变量赋值。 第二种格式可以同时给多个内存变量赋相同的值,各内 存变量名之间用逗号分隔。 22 Visual FoxProVisual FoxPro 内存变量的显示 内存变量的显示: DISPLAY MEMORYLIKE通配符 TO PRINTERTO FILE 文件名 LIST MEMORY LIKE 通配符 TO PRINTERTO FILE 文件名 其中,LIKE选项表示显示与通配符相匹配的 内存变量,在中允许使用符号?和*, 分别代表单个字符和多个字符。 23 Visual FoxProVisual FoxPro 内存变量使用示例 STORE 中南大学 TO xx,dx d=20050716 LIST MEMORY LIKE d? 此时在Visual FoxPro主窗口中显示以下信息 :Dx Pub C 中南大学 D Pub D 07/16/05 24 Visual FoxProVisual FoxPro 内存变量文件的建立 SAVE TO内存变量文件名ALL LIKE EXCEPT 通配符 其中,ALL表示将全部内存变量存入文件中。 ALL LIKE 通配符表示内存变量中所有与通 配符相匹配的内存变量都存入文件。ALL EXCEPT 通配符表示把与通配符不匹配的全 部内存变量存入文件中。 25 Visual FoxProVisual FoxPro 内存变量的恢复与清除 内存变量的恢复是指将已存入内存变量文件 中的内存变量从文件中读出,装入内存中。 RESTORE FROM内存变量文件名ADDITIVE 清除内存变量所采用命令的格式为: CLEAR MEMORY RELEASE内存变量表ALLLIKEEXCEPT通配 符 其中第一条命令用于清除所有的内存变量,第二 条命令用于清除指定的内存变量。 26 Visual FoxProVisual FoxPro 数组变量 在Visual FoxPro中,数组变量被定义 为一组变量的集合,这些变量可以具有不 同的数据类型。数组由数组元素组成,每 个数组元素就相当于一个内存变量,它可 以用数组名后接顺序号来表示,顺序号也 叫下标。 27 Visual FoxProVisual FoxPro 数组的定义 DIMENSION 数组名(下标上界1,下标上界2) , DECLARE数组名(下标上界1,下标上界2) , 两条命令的功能完全相同,用于定义一维或二维数组。下标上 界是一个数值量,下标的下界由系统统一规定为1。例如: DIMENSION a(10),b(2,3) 分别定义了一维数组a和二维数组b。一维数组a有10个元素, 分别为a(1),a(2),a(10),二维数组b有6个元素,分别为 b(1,1),b(1,2),b(1,3),b(2,1),b(2,2),b(2,3)。 28 Visual FoxProVisual FoxPro 给数组元素赋值 数组在使用之前必须定义,只有定义好的数组 才能用来赋值和使用. 在没有向数组元素赋值之前,数组元素的初 值均为逻辑假值。 赋值的方式有两种: 数组名=表达式 数组名(下标)=表达式 Store 表达式 to 数组名/数组名(下标) 29 Visual FoxProVisual FoxPro 数组的赋值以及使用示例 CLEAR MEMORY DIMENSION x(2,3) STORE Goodbye TO x(1,2) STORE 99 TO x(2,3) STORE .T. TO x(1,1) STORE 数组的赋值 TO x(2,1) LIST MEMORY LIKE x? 命令执行结果将会是什么? 清除所有自定义内存变量 定义一个两行三列二维数组 给第1行第2个变量赋值 给第2行第3个变量赋值 给第1行第1个变量赋值 赋值 显示所有以X开头的内存变量 30 Visual FoxProVisual FoxPro 系统变量 系统变量是由Visual FoxPro自身提供 的内存变量。系统变量名都是以下划线开 始,它与一般变量有相同的使用方法。 系统变量设置和保存了很多系统的状 态信息。 31 Visual FoxProVisual FoxPro 2.3 运算符与表达式 将常量、变量和函数用运算符连接起 来的式子称为表达式。根据运算对象的数 据类型不同,表达式可以分为算术表达式 、字符表达式、日期和时间表达式、关系 表达式以及逻辑表达式等。 32 Visual FoxProVisual FoxPro 算术表达式 用算术运算符将数值型数据连接起来的式子 叫算术表达式。 算术运算符有(按优先级从高到低的顺序排列 ):()(括号),* *或(乘方),*(乘),/(除),%(求余 数),+(加),-(减)。 书写Visual FoxPro算术表达式要根据运算 符运算的优先顺序,合理地添加括号,以保证运 算顺序的正确性。特别是分式中的分子、分母中 有加减运算时,或分母中有乘法运算,要加括号 表示分子、分母的起始范围。 33 Visual FoxProVisual FoxPro 字符表达式 连接运算 连接运算符有完全连接运算符“+”和不完全连 接运算符“”两种。“+”运算的功能是将两个字符 串连接起来形成一个新的字符串。“”运算的功 能是去掉第一个字符串尾部的空格,然后将两个 字符串连接起来,并把第一个字符串末尾的空格 放到结果字符串的末尾。 ? 姓名-李小四+张得富 34 Visual FoxProVisual FoxPro 字符表达式 包含运算 包含运算的结果是逻辑值。一般格式为: 字符串1$字符串2 若字符串1包含在字符串2之中,其表达式值 为.T.,否则为.F.。例如: zhch=副教授 ? 教授$zhch 输出为.T.。 35 Visual FoxProVisual FoxPro 日期和时间表达式 日期和时间表达式是指含有日期型或日期 时间型数据的表达式。其运算符只有“+”和“-” 两种。 日期型数据+天数 天数+日期型数据 日期型数据-天数 日期型数据1-日期型数据2 日期时间型数据+秒数 秒数+日期时间型数据 日期时间型数据-秒数 日期时间型数据1-日期时间型数据2 36 Visual FoxProVisual FoxPro 关系表达式 关系表达式是由关系运算符将两个同类型 的数据连接起来的式子。关系表达式表示两个 量之间的比较,其值是逻辑型数据。 关系运算符有: (大于)、= (大于等于)、= (等于)、= (精 确等于)、或#或!=(不等于)。 关系表达式表示一个条件,条件成立时值 为.T.,否则为.F. 37 Visual FoxProVisual FoxPro 关系表达式 各种类型数据的比较规则如下。 (1) 数值型和货币型数据根据其代数值的大小 进行比较。 (2) 日期型和日期时间型数据进行比较时,离 现在日期或时间越近的日期或时间越大。 (3) 逻辑型数据比较时,.T.比.F.大。 (4) 对于字符型数据,Visual FoxPro可以设置 字符的排序次序。比较字符串时,先取两字符串 的第一个字符比较,若两者不等,则各取第二个 字符比较,依次类推,直到最后 。 38 Visual FoxProVisual FoxPro 关系表达式 “=”和“=”两个关系运算符的区别 “=”为精确比较,“=”示为非精确比较 精确等于是指只有在两字符串完全相同时才为真 ,而非精确等于是指当“=”号右边的串与“=”号左 边的串的前几个字符相同时,运算结果即为真。 SET EXACT OFF zc=教授 ? zc=教授, 教授=zc, 教授 =LEFT(zc,4),zc=教授 39 Visual FoxProVisual FoxPro 逻辑表达式 逻辑表达式是由逻辑运算符将逻辑型数据连接 起来的式子。其值仍是逻辑值。 逻辑运算符有:.NOT.或!(逻辑非)、.AND.(逻 辑与)、.OR.(逻辑或)。运算优先级是非最高,或 最低。 L1 AND L2 :只有L1和L2同时为真,表达式 值才为真,只要其中一个为假,则结果为假。 L1 OR L2 :L1和L2中只要有一个为真,表达 式即为真,只有L1和L2均为假时,表达式才为 假。 NOT L1:当L1为真(假)时,表达式结果为假(真 ) 40 Visual FoxProVisual FoxPro 2.4 Visual FoxPro的函数 为了增强系统的功能和方便用户使用,Visual FoxPro提供了许多内部函数,每个函数实现某项 功能或完成某种运算。 函数调用的一般形式为: 函数名(参数表) 其中参数表用方括号括起来表示有些函数不需 要参数。 41 Visual FoxProVisual FoxPro 数值函数 求绝对值函数 : ABS(数值型表达式) 命令: ?ABS(-110) 在屏幕上显示110 求平方根函数:SQRT(数值型表达式) SQRT(225) 结果为15 取整函数:INT(数值型表达式) CEILING(数值型表达式) FLOOR(数值型表达式) INT函数取数值型表达式的整数部分。CEILING函 数取大于或等于指定表达式的最小整数。FLOOR 函数取小于或等于指定表达式的最大整数。 42 Visual FoxProVisual FoxPro 数值函数 取整函数示例: INT(53.6) :53 CEILING(53.6) :54 FLOOR(53.6) :53 INT(-53.6) :-53 CEILING(-53.6) :-53 FLOOR(-53.6) :-54 43 Visual FoxProVisual FoxPro 数值函数 求余数函数: MOD(数值型表达式1,数值型表达式2) 求数值型表达式1除以数值型表达式2 所得出的余数,所得余数的符号和表达式2相同。 ? MOD(25,7),MOD(25,-7),MOD(-25,7),MOD(-25,- 7) 输出的函数值依次为4,-3,3,-4。 44 Visual FoxProVisual FoxPro 数值函数 四舍五入函数 : ROUND(,) 对数值型表达式1求值并保留n位小数,从n+1位小数 起进行四舍五入。n的值由数值型表达式2确定。若n小 于0,则对数值型表达式1的整数部分按n的绝对值 进行四舍五入。 例如:? ROUND(3.1415*3,2),ROUND(156.78,-1) 输出的函数值分别为9.42和160。 45 Visual FoxProVisual FoxPro 数值函数 求最大值和最小值函数 MAX(,) MIN(,) 函数 PI() 返回圆周率的近似值 例如:在命令窗口输入 “? PI()” 则屏幕上显示3.1415926 46 Visual FoxProVisual FoxPro 字符函数 宏代换函数 &字符型内存变量.字符表达式 例如: m=245*SQRT(4) ? 34+&m 输出为524.00。 47 Visual FoxProVisual FoxPro 字符函数 求字符串长度函数 LEN(字符型表达式) 注意:函数括号中一定要是字符型数据. ?LEN(“china”), LEN(“中国你好”) 输出结果: 5 8 求子串位置函数 AT(字符型表达式1,字符型表达式2) ATC(字符型表达式1,字符型表达式2) 两个函数的区别在于:ATC函数在子串比 较时不区分字母的大小写。 48 Visual FoxProVisual FoxPro 【例2.17】 xm=李小龙 ?AT(李,xm) ?AT(PRO,Visual FoxPro) ?ATC(y,you are sorry,2) 输出的函数值分别为1,0,13。设xm代表职工的姓名 ,显然若AT(李,xm)的值为1,则说明该职工姓“李” 。应注意,在字符型常量或变量中,同一字母的大小 写为不同的字符。 49 Visual FoxProVisual FoxPro 字符函数 取子串函数 LEFT(字符型表达式,数值型表达式) RIGHT(字符型表达式,数值型表达式 SUBSTR(,) 删除字符串前后空格函数 LTRIM(字符型表达式) RTRIM(字符型表达式) ALLTRIM(字符型表达式) 50 Visual FoxProVisual FoxPro 字符函数 生成空格函数:SPACE(数值型表达式) 字符串替换函数 : STUFF(字符型表达式1,数值型表达式1 ,数值表达式2,字符型表达式2) STUFF(Goodboy,5,3,girl)输出结果应为多少? 产生重复字符函数 REPLICATE(,) 重复给定字符串若干次,次数由数值型表达式给定 51 Visual FoxProVisual FoxPro 字符函数 大小写字母转换函数 LOWER(字符型表达式) 大写字母转换成小 写 UPPER(字符型表达式)

温馨提示

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

评论

0/150

提交评论