VFP6的语言元素和系统函数.ppt_第1页
VFP6的语言元素和系统函数.ppt_第2页
VFP6的语言元素和系统函数.ppt_第3页
VFP6的语言元素和系统函数.ppt_第4页
VFP6的语言元素和系统函数.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第三章 VFP6.0的语言元素和系统函数,重难点,主要介绍VFP语言元素,包括数据类型、变量、数组和函数的概念,系统函数的用法,并初步学习表结构的设计和建立。 难点:数据类型、变量等概念,3.1 VFP6.0的语言元素,3.1.1 关于常量与变量的概念 常量按数据类型分: 字符型常量、数值型常量、日期型常量、逻辑型常量四种 。 -3.46 1.5E-6 (表示1.510-6) ”FoxPro” 或 FoxPro 或 FoxPro .T. 1999/10/20,2变量,变量是指其值在程序运行中可以发生变化的量。变量必须有一个名字,称为变量名。 VFP6.0中变量名的命名必须遵守以下规则: 以字母或汉字开头 只能由字母、汉字、数字和下划线组成。不区分大小写。 避免使用保留字或关键字作为变量的名字。 VFP中有两大类变量:内存变量和字段变量。,3.1.2 VFP6.0的内存变量及数据类型,所谓内存变量是指独立于数据表文件而存在的变量,用于存放程序运行过程中所需要的常数、中间结果和最后结果。 1)字符类型:用字母C表示。包括字符常量和字符变量。 字符常量:即字符串,是由定界符括起来的字符序列。 有三种定界符号: “ ”, , 字符变量:是用来存贮字符串的变量。,2)数值型:是最基本的数据类型。用字母N表示。可以使用整数、小数和指数形式来书写数据。 如1234、0.38、-112、2E-8 等 对于整型数据,若太大系统将自动以浮点形式存储和输出 VFP数据表中可使用的数字型数据包括: 数值型、整型、浮点型、双精度型。,3)逻辑型:只有真(.T.)、假(.F.)两个值,又称布尔值。 4)日期型(Date)和日期时间型(DateTime) 日期型用字母D表示,日期时间型用字母T表示。 日期常数或日期时间常数必须要用一对大括弧括起来。 日期时间常数时间部分的书写格式为: hh:mm:ssa|p,5)货币型 货币型用字母Y表示。 数字前有“$”符号表示货币数据。对货币类型数据,系统将对小数部分自动四舍五入,仅保留4位小数。 数据类型小结:上面介绍了几种不同数据类型,后面还会介绍一些其它数据类型。作为初学者,可能感到难以理解。不同数据类型的数据在计算机中存储的形式是不同的,有不同的用途。,3内存变量的创建与简单输出,可以用 =、STORE、INPUT、WAIT、ACCEPT 等命令创建内存变量并给内存变量赋值。所赋的值的类型决定内存变量的类型。 可以用 ?、?、SAY 等命令对变量中的值进行输出。 1)STORE命令 格式: STORE TO ,2)“=” 命令格式: 格式: = 3)?/?命令 格式1: ?(先换行,再输出) 格式2: ? (直接在光标当前位置输出),3.1.3 字段变量及其数据类型,字段变量是指与数据表文件相关的变量。 字段变量随数据表的打开而存在。 在某个时刻,字段变量的值是确定的,而且对应当前记录的值。 字段变量的数据类型有13种,3.1.4 内存变量与字段变量的区别,1.种类和数目的差别。 2.内存变量可以根据需要随时定义,并且内存变量的类型随着所赋给的值而改变。字段变量类型随表结构的确定而确定。表结构不变,则字段变量类型也不会变。 3.内存变量是单值变量,只要没有重新赋值,则其值不变; 字段变量是多值变量,其值随着当前记录的改变而改变。,4 .内存变量名长度不限,字段变量名最长为128个字符。 5.内存变量可以用赋值号“=”简单地赋值, 字段变量不可以用赋值号“=”赋值。 6.引用上的区别。同名时,在内存变量前面用“M.”或“M-”作为前缀。 习题:1、2,3.1.5 数组,数组在使用前必须先定义,然后才能使用。 1数组定义形式: DECLARE | DIMENSION (,),(,) 每个元素都可当作一个单独的内存变量使用,并可以分别存放相同类型或不同类型的数据,对数组的引用,若对数组名赋值,其结果是将同一个值赋给该数组的所有数组元素。 二维数组可以当作一维数组引用。 在仅有定义而没有赋值前,数组元素的数据类型为逻辑类型,且其值为.F.(假)。 VFP数组允许动态改变大小,即允许用DECLARE或DIMENSI0N命令重新定义大小,而且原先的值可以平滑地过渡。,数组元素的赋值,常用“=”或STORE给数组元素赋值。 对数组名赋值时,是把的值赋给指定数组中的所有元素; 对数组元素名赋值时,是把的值赋给指定的一个数组元素。,查看内存变量和数组元素的值,可用DISPLAY和LIST命令查看内存变量和数组元素的值。 命令用法: DISPLAY MEMORY 或 LIST MEMORY 只查看用户自定义的变量或数组 list memory like * to file 文件名 to printer是存入文件或打印,满屏暂停,清除内存变量和数组,CLEAR MEMORY RELEASE RELEASE ALL EXTEDED RELEASE ALL LIKE|EXCEPT ,清除所有内存变量和数组,清除指定的内存变量和数组,清除所有内存变量和数组,清除指定的内存变量和数组,根据符合/不符合通配符的变量或数组,3.1.6 运算符与表达式,一、运算符 VFP6.0有五种类型的运算符: 数值型、关系型、逻辑型、字符型及日期和时间运算符。 1数值运算符 加,减,乘,除运算符: +,-,*,/ 乘方运算符: *或 优先运算符: ( ) 模运算(求余数): %(与 MOD()函数等价),2关系运算,关系运算符注意事项,1)关系运算的结果为逻辑值。 2)VFP允许对任一类型数据施以关系运算,对于逻辑数据规定.T.大于.F.。 3)日期型数据是按年、月、日的先后进行比较。 4)关系运算符两边的表达式的值必须具备同样的类型,但有一个例外,即日期和日期时间型数据可以比较。 5)两个字符串比较时,是对应位置上的字符按从左到右顺序逐一比较,一旦两个字符不同即结束比较。,字符型数据的比较,在VFP6.0中,有三种排序或比较规则,即Machine、PinYin和Stroke规则。 Machine规则:西文和符号是按ASCII码值排序 PinYin规则:汉字按照拼音顺序,即字典序比较。 Stroke规则:中文按照书写笔画的多少排序。对于西文符号而言,与PinYin规则相同。,字符型数据比较总结,分西文字符和中文字符 西文:machine按ASCII码,pinyin和stroke按字典序 中文:machine和pinyin一律按pinyin排序,stroke按笔画。 中文VFP默认为PinYin比较规则,但可以选择比较规则。 选择比较规则的命令: SET COLLATE TO “PinYin“ | “Machine“ | “Stroke“,6)运算符 = 和 $,特别是 $ 仅用于字符型数据。,“=”运算符主要用于字符类型的比较。两个字符串完全相等必须是两个字符串完全相同 “$”运算符用来测试左边的字符串是否被包含在右边的字符串中间。 用法格式: $,7)相等“=”运算符可用于更广泛的数据类型。但当作用于字符串时,分精确比较和非精确比较两种情况。,命令格式: SET EXACT ON|0FF 在非精确比较时,“=” 运算符只强调右边的字符串是否配于左边字符串的头部。 在精确比较时(执行“SET EXACT ON”命令后),“=” 运算符相当于“=”,在两个字符串长度相等时,字符串相等也意味着完全相等。 如果字符表达式尾部有空格,则先忽略尾部的空格再进行比较(这是精确比较时=与=的不同)。,精确比较,3逻辑运算符,.AND.(逻辑与,可读作“并且”) .OR. (逻辑或,可读作“或者”) .NOT.(逻辑非,可读作“取反”) 逻辑运算符的优先顺序为: 逻辑非(.NOT.)逻辑与(.AND.)逻辑或(.OR.) 注意,在表达式中包含关系运算时,关系运算优先于逻辑运算。,4字符串连接运算,(1) +:字符串连接运算符, 用于将两个字符串原样连接成一个新字符串。 (2) -:压缩空格运算符, 用于将两个字符串连接成一个新字符串, 但连接时前面那个字符串后面的空白将后移到新字符串末尾。,5日期和时间运算符,二、表达式,表达式是把同类型的各种数据如常量、字段变量、内存变量(包括内存变量数组)和函数用运算符连接起来的有意义的式子。 表达式的类型是指该表达式运算结果值的类型。 在同一个表达式中,参与运算的各个数据成员的类型必须相同,类型不相同的数据若要做运算必须先转换为相同类型才能运算。,表达式运算的先后次序,括号的优先级最高,其余各类运算符的优先级别由高到低依次为: (1)数值运算(其中%运算与/、*同级别)或字符串运算或日期运算 (2)关系运算 (3)逻辑运算,3.2 利用“表设计器”建立自由表,根据如下关系 成绩(学号,课程代号,平时成绩,期中成绩,期末成绩),1表的结构设计,一个表中的所有字段及其属性组成表的结构,在建立表之前,应先设计字段属性。字段的基本属性包括字段名、字段类型、字段宽度、小数位数以及是否允许为NULL。 所谓NULL值就是没有明确的值,不等于零或空格。NULL值不能比较大小。,2建立表结构,使用“表设计器”建立“成绩”表结构的表过程: (1)打开“表设计器” CREATE D:教学管理成绩 (2)定义字段 (3)完成表结构设计 (4)在表中输入数据 (5) 保存(按“CTRL+W”保存并退出编辑 ),对表的操作,要修改表的结构,可使用以下两条命令: USE D:教学管理成绩 MODI STRU 修该完毕,单击“确定”。 要修改表中记录或在表中增加记录,可使用以下两条命令: USE D:教学管理成绩 APPEND 修改完毕,按“CTRL+W”保存并退出编辑。 习题:3,4,5,3.3 常见函数的使用,一个“函数”实际上是一个程序段,也可称为过程。包括: 用户自定义函数:用户自己写的函数; 系统内部预定义函数:系统为用户提供的标准函数 函数的一般形式: (参数表),3.3.1 数值运算函数,1取绝对值函数和求符号函数 格式: ABS() SIGN() 功能: ABS()是返回数值表达式的绝对值; SIGN()是返回数值表达式的符号,当的运算结果为正、负和零时,SIGN()函数返回值分别为1、-1和0。,2取整数函数 有3个,格式: 功能: INT() 返回值的整数部分; CEILING() 返回大于或等于值的最小整数; FLOOR() 返回小于或等于值的最大整数。,3最大值与最小值函数,MAX(,) 求出所有中最大的一个值; MIN(,) 求出所有中最小的一个值。,4四舍五入函数,格式: ROUND(,) 功能:对的值,如果大于0,是保留指定的小数位数,并对保留位后面的数值四舍五入;如果小于0,表示在整数部分四舍五入的位置。,5.求平方根函数,格式: SQRT() 功能:返回的平方根, 必须大于等于0。,6指数和对数函数,EXP() X为数值表达式,EXP()函数返回eX的值; LOG() X为数值表达式,LOG()函数返回ln(X)的值。,7求余数函数,格式: MOD(,) 功能: MOD()函数与“%”运算等价。当两个数符号相同时,是求除以的余数;当两个数符号不相同时,结果是用除以的余数再加上expN2的值。无论两个数符号相同还是不同,结果的符号总是与expN2的符号相同。,3.3.2 字符操作函数,1宏代换函数 & 2求子串函数 有3个(LEFT,RIGHT,SUBSTR) 3求子串位置函数(AT,ATC) 4计算子串出现的次数函数(OCCURS) 5子串替换函数(STUFF) 6求字符串长度函数(LEN) 7空格生成函数(SPACE),8删除前后空格函数,LTRIM() 返回中去掉前导空格后形成的字符串 RTRIM() | TRIM() 返回中去掉尾部空格后形成的字符串 ALLTRIM() 返回中去掉前导和尾部空格后形成的字符串 9大小写转换函数(UPPER,LOWER) 10字符串匹配函数(LIKE),3.3.3 日期和日期时间函数,1系统当前日期和时间函数(DATE,TIME,DATETIME) 2求年、月、日函数(YEAR,MONTH,DAY) 3求时、分、秒函数(HOUR,MINUTE,SEC),3.3.4 数据类型转换函数,1字符型转换为日期型 CTOD() 将中的日期似的字符串转换为日期型数据 CTOT() 将中日期时间似的字符串转换为日期时间型数据 2日期型转换为字符型函数 格式: DTOC( ,),3数值型转换为字符型函数 格式: STR(, 4字符型转换为数值型函数 格式: VAL(),3.3.5 测试函数,1数据类型测试函数 格式: TYPE() VARTYPE(,) 2空值(NULL值)测试函数 格式: ISNULL() 3“空”值测试函数 格式: EMPTY(),测试函数,表或工作区的当前记录的概念: 数据表

温馨提示

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

评论

0/150

提交评论