VFP6的语言元素和系统函数.ppt

上传人:tia****nde 文档编号:12707472 上传时间:2020-05-14 格式:PPT 页数:51 大小:265KB
返回 下载 相关 举报
VFP6的语言元素和系统函数.ppt_第1页
第1页 / 共51页
VFP6的语言元素和系统函数.ppt_第2页
第2页 / 共51页
VFP6的语言元素和系统函数.ppt_第3页
第3页 / 共51页
点击查看更多>>
资源描述
第三章VFP6.0的语言元素和系统函数,重难点,主要介绍VFP语言元素,包括数据类型、变量、数组和函数的概念,系统函数的用法,并初步学习表结构的设计和建立。难点:数据类型、变量等概念,3.1VFP6.0的语言元素,3.1.1关于常量与变量的概念常量按数据类型分:字符型常量、数值型常量、日期型常量、逻辑型常量四种。-3.461.5E-6(表示1.510-6)”FoxPro”或FoxPro或FoxPro.T.1999/10/20,2变量,变量是指其值在程序运行中可以发生变化的量。变量必须有一个名字,称为变量名。VFP6.0中变量名的命名必须遵守以下规则:以字母或汉字开头只能由字母、汉字、数字和下划线组成。不区分大小写。避免使用保留字或关键字作为变量的名字。VFP中有两大类变量:内存变量和字段变量。,3.1.2VFP6.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命令格式:STORETO,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命令查看内存变量和数组元素的值。命令用法:DISPLAYMEMORY或LISTMEMORY只查看用户自定义的变量或数组listmemorylike*tofile文件名toprinter是存入文件或打印,满屏暂停,清除内存变量和数组,CLEARMEMORYRELEASERELEASEALLEXTEDEDRELEASEALLLIKE|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比较规则,但可以选择比较规则。选择比较规则的命令:SETCOLLATETOPinYin“|Machine“|Stroke,6)运算符=和$,特别是$仅用于字符型数据。,“=”运算符主要用于字符类型的比较。两个字符串完全相等必须是两个字符串完全相同“$”运算符用来测试左边的字符串是否被包含在右边的字符串中间。用法格式:$,7)相等“=”运算符可用于更广泛的数据类型。但当作用于字符串时,分精确比较和非精确比较两种情况。,命令格式:SETEXACTON|0FF在非精确比较时,“=”运算符只强调右边的字符串是否配于左边字符串的头部。在精确比较时(执行“SETEXACTON”命令后),“=”运算符相当于“=”,在两个字符串长度相等时,字符串相等也意味着完全相等。如果字符表达式尾部有空格,则先忽略尾部的空格再进行比较(这是精确比较时=与=的不同)。,精确比较,3逻辑运算符,.AND.(逻辑与,可读作“并且”).OR.(逻辑或,可读作“或者”).NOT.(逻辑非,可读作“取反”)逻辑运算符的优先顺序为:逻辑非(.NOT.)逻辑与(.AND.)逻辑或(.OR.)注意,在表达式中包含关系运算时,关系运算优先于逻辑运算。,4字符串连接运算,(1)+:字符串连接运算符,用于将两个字符串原样连接成一个新字符串。(2)-:压缩空格运算符,用于将两个字符串连接成一个新字符串,但连接时前面那个字符串后面的空白将后移到新字符串末尾。,5日期和时间运算符,二、表达式,表达式是把同类型的各种数据如常量、字段变量、内存变量(包括内存变量数组)和函数用运算符连接起来的有意义的式子。表达式的类型是指该表达式运算结果值的类型。在同一个表达式中,参与运算的各个数据成员的类型必须相同,类型不相同的数据若要做运算必须先转换为相同类型才能运算。,表达式运算的先后次序,括号的优先级最高,其余各类运算符的优先级别由高到低依次为:(1)数值运算(其中%运算与/、*同级别)或字符串运算或日期运算(2)关系运算(3)逻辑运算,3.2利用“表设计器”建立自由表,根据如下关系成绩(学号,课程代号,平时成绩,期中成绩,期末成绩),1表的结构设计,一个表中的所有字段及其属性组成表的结构,在建立表之前,应先设计字段属性。字段的基本属性包括字段名、字段类型、字段宽度、小数位数以及是否允许为NULL。所谓NULL值就是没有明确的值,不等于零或空格。NULL值不能比较大小。,2建立表结构,使用“表设计器”建立“成绩”表结构的表过程:(1)打开“表设计器”CREATED:教学管理成绩(2)定义字段(3)完成表结构设计(4)在表中输入数据(5)保存(按“CTRL+W”保存并退出编辑),对表的操作,要修改表的结构,可使用以下两条命令:USED:教学管理成绩MODISTRU修该完毕,单击“确定”。要修改表中记录或在表中增加记录,可使用以下两条命令:USED:教学管理成绩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(),测试函数,表或工作区的当前记录的概念:数据表只有在工作区打开后,才能进行操作系统对打开的数据表文件设置有一个记录指针,该记录指针总是指向某一条记录,该记录被称为表或工作区的当前记录,也是系统当前可以处理的记录。文件尾测试函数:格式:EOF(|),测试函数,5文件头测试函数格式:BOF(|)6记录号测试函数格式:RECNO(|)7记录数目测试函数格式:RECCOUNT(|),测试函数,8数据表文件名测试函数(DBF)9文件存在测试函数(FILE)10条件选择函数格式:IIF(,)11值域测试函数格式:BETWEEN(,)习题三:7、8上机实习题三,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!