《数据库应用》全套PPT电子课件教案-第六章(Visual Foxpro语言基础) .ppt_第1页
《数据库应用》全套PPT电子课件教案-第六章(Visual Foxpro语言基础) .ppt_第2页
《数据库应用》全套PPT电子课件教案-第六章(Visual Foxpro语言基础) .ppt_第3页
《数据库应用》全套PPT电子课件教案-第六章(Visual Foxpro语言基础) .ppt_第4页
《数据库应用》全套PPT电子课件教案-第六章(Visual Foxpro语言基础) .ppt_第5页
免费预览已结束,剩余44页可下载查看

下载本文档

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

文档简介

1,本章要点,1.了解 visual foxpro的各种类型常量的书写格式。 2.熟悉visual foxpro的变量的使用方法,并了解有关内存变量的常用命令。 3.熟练掌握visual foxpro的表达式运算。 4.熟练掌握visual foxpro的常用函数。,2,在进行数据处理时,除了需要表中的数据之外,还经常要处理其他的数据。根据计算机系统处理数据的形式来划分,visual foxpro有常量、变量、表达式和函数四种形式的数据。常量和变量是数据运算和处理的基本对象,而表达式和函数则体现了语言对数据进行运算和处理的能力及功能。,3,6.1 常量和变量 6.2 表达式 6.3 函数,4,6.1 常量和变量,在visual foxpro系统中,数据可用常量、变量、数组表示,数据还可以用于字段、记录和对象中,由它们存储、容纳各种类型的数据。因此,常把这些供数据存储的常量、变量、数组、字段、记录和对象等称为数据存储容器。用户正是利用不同的数据存储容器,在visual foxpro系统中表示、存储、操作、处理各种类型的数据,实现数据处理的应用。,5,6.1.1 常量,常量是在命令或程序中可直接引用、具有具体值的命名数据项,其特征是在整个操作过程中它的值和表现形式保持不变。visual foxpro按常量取值的数据类型,将常量分为7种类型,数值型常量、浮点型常量、字符型常量、逻辑型常量、日期型常量、日期时间型常量、货币型常量。,6,1.数值型常量 数值型常量也就是常数,由数字0 9、小数点和正负号组成,表示整数或实数值。 2.浮点型常量 以浮点格式表示的数值常量。通常用来表示那些绝对值很大或很小、而有效位数不太长的一些数值,对应于日常应用中的科学记数法。,7,3.字符型常量 由任意ascii字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。 4.逻辑型常量 逻辑型常量就是表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.)和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母左右加注圆点符“.”以示区别。,8,5.货币型常量 货币型常量表示货币值。其书写格式与数值型类似,在数值型常量之前加前缀$,但是不能使用科学记数法表示货币型常量。 6.日期型常量 日期型常量的定界符是一对花括号。花括号内包括年、月、日三部分内容,各部分内容之间用分隔符分隔。分隔符可以是斜杠(/)、连字符(-)、句点(.)和空格。 7.日期时间型常量 visual foxpro系统中增加了一种表示日期和时间值的日期时间型常量,其默认格式是: mm/dd/yyyy , hh:mm:ss a|p 其中a和p分别表示am(上午)和pm(下午)。 日期值和日期时间值的输入格式与输出格式并不完全相同,特别是输出格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。,9,6.1.2 变量,变量是在操作过程中可以改变其取值或数据类型的数据项。确定一个变量,需要确定其三个要素:变量名、数据类型和变量值。,10,命名约定 使用字母,下划线和数字命名。一般建议不采用汉字命名; 命名以字母或下划线开头;除自由表中字段名、索引的tag标识名最多只能10个字符外,其他的命名可使用1128个字符; 避免使用 visual foxpro的保留字,如对象名、系统预先定义的函数名等; 文件名的命名应遵循操作系统的约定。,11,2. 字段变量 指数据库表中已定义好的任一数据项。表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值。 3. 内存变量 内存变量是在内存中定义的、一种单个数据元素的临时性变量。在命令窗口由用户定义形成的变量,其名字和值均置于内存中。内存变量是一种临时工作单元,需要时可以临时定义,不需要时可以随时释放。,12,4. 数组变量 数组变量是结构化的变量,是一组具有相同名称、以下标相互区分的有序内存变量。一个数组通常都包含多个数据元素。visual foxpro系统中只允许使用一维数组和二维数组。 数组必须先定义后使用,定义数组是向系统申请数组元素在内存中的存储空间。,13,格式: dimension | declare (,),(,) 功能:定义指定的各个数组。 例如:dimension b(4),yw(3,2),14,6.1.3 内存变量常用命令,1、内存变量的赋值 使用赋值符号(=) 格式: 使用store命令 格式:store to ,15,2、内存变量的显示 使用?或? ?:先回车换行,再计算并输出表达式的值; ?:在屏幕上当前位置,计算并直接输出表达式的值; 使用display memory 或list memory 前者分屏显示,后者一次显完 注:该命令不但显示内存变量的值,还显示变量的名和类型。,16,3、内存变量的释放(即:清除或删除) (1)释放所有内存变量 clear memory release all clear all = clear memory + close all (2)清除指定的内存变量 release 如:release x , y & 释放内存变量x,y release all like 清除与通配符相匹配的内存变量 通配符有两个:* - 匹配任意多个字符 ? - 匹配任意一个字符或0个字符 (如?置于开头,则代表任意一个字符) release all except 清除与通配符不相匹配的内存变量 如: 清除内存变量名中第二个字符为b的所有内存变量 release all like ?b* 清除除了以a开头的所有内存变量 release all except a*,17,4、内存变量的保存 将内存变量保存到指定的内存变量文件(. mem)中. 格式:save to all like | except 说明: 使用save to ,所形成的文件扩展名是:.mem.上述命令中,文件扩展名 .mem可缺省,系统将自动加上。 5、内存变量的恢复 即从内存变量文件中取出内存变量 命令格式为:restore from ,18,6.1.4 数组与表文件记录间的数据交换,1.表文件记录的值传送给数组 命令:scatter 格式:scatter fields to blank 或 scatter fields memvar blank (前者传给数组,后者传给同名内存变量。),19,2.数组中的数据传送给表文件中的记录 命令:gather 格式:gather fields from 或 gather fields memvar (前者用数组传送,后者用同名内存变量传送。),20,6.2 表达式,在visual foxpro系统中,表达式是由常量、变量、函数及其他数据容器单独或与运算符组成的有意义的运算式子。 运算符是对数据对象进行加工处理的符号,根据其处理数据对象的数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运算符、逻辑运算符和关系运算符五类,相应的,表达式也分为数值表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。,21,6.2.1数值表达式,数值表达式由算术运算符将数值型数据连接起来形成,其运算结果仍然是数值型数据。数值型数据可以是常量或者变量。,22,6.2.2 字符表达式,字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子。字符运算的对象是字符型数据对象,运算结果是字符常量或逻辑常量。 “+”与“-”都是字符连接运算符,都将两字符串顺序连接,但“+”是直接连接,“-”则将串1尾部所有空格移到串2尾部后再连接;“$”运算实质上是比较两个串的包含关系,,23,6.2.3关系表达式,由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式。即: 关系表达式的值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。,24,6.2.4 日期时间表达式,由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式称为日期表达式。日期运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少一个天数,在日期时间数据上增加或减少一个秒数。两个运算的优先级别相同。,25,26,6.2.5 逻辑表达式,由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。,27,对于各种逻辑运算,其运算规则可由逻辑运算真值表确定。,28,在一个表达式中可能包含多个由不同运算符连接起来的、具有不同数据类型的数据对象,但任何运算符两侧的数据对象必须具有相同数据类型,否则运算将会出错;由于表达式中有多种运算,不同的运算顺序可能得出不同结果,甚至出现运算错误,因此当表达式中包含多种运算时,必须按一定顺序施行相应运算,才能保证运算的合理性和结果的正确性、惟一性。用户也可以通过给表达式加圆括号的方式,改变其默认运算顺序。在visual foxpro系统中,各类运算的优先顺序如下: 圆括号 算术和日期运算 字符串运算 关系运算 逻辑运算 同一类运算符也有一定的运算优先顺序,这在各类表达式中分别介绍。如果多个同一级别的运算,则按在表达式中出现的先后顺序进行运算。,29,6.3 函数,visual foxpro的函数由函数名与自变量两部分组成。标准函数是visual foxpro系统提供的系统函数,其函数名是visual foxpro保留字,自定义函数是用户自已定义的函数,函数名用户指定;自变量必须用圆括号对括起来,如有多个自变量,各自变量以逗号分隔;有些函数可省略自变量,或不需自变量,但也必须保留括号;自变量数据类型由函数的定义确定,数据形式可以是常量、变量、函数或表达式等。 通过数值函数、字符函数、日期时间函数、类型转换函数、测试函数五种函数学习函数。,30,6.3.1数值函数,1.取整函数int( )、ceiling( )、floor( ) 格式:int () ceiling () floor() 功能:int () 返回数值表达式的整数部分; ceiling () 返回大于或等于指定数值表达式 的最小整数; floor () 返回小于或等于指定数值表达式 的最大整数。,31,2.取余函数mod( ) 格式:mod(,) 功能:返回数值表达式1除以数值表达式2的余数 规则:计算结果的符号同表达式2的符号。 余数的绝对值小于表达式2的绝对值。 3.绝对值函数abs( ) 格式:abs () 功能:返回数值表达式的绝对值 规则:正数和0的绝对值为其本身,负数的绝对值为其相反数 例:? abs (5.8), abs (0.0), abs (2*-3.4) 5.8 0 6.8,32,4.平方根函数sqrt () 格式:sqrt () 功能:返回数值表达式的平方根 规则:正数和0有平方根,且其值为正;负数没有平方根。 例:?sqrt(9), sqrt (16)=160.5 3.00 .t. 5.四舍五入函数round( ) 格式:round(,) 功能:按数值表达式2的规定对数值表达式1的结果进行四舍五入处理 规则:在计算 round (n,i)时:(函数亦可使用前四个字母) i 0时,取舍到小数点右边第i位 i 0时,取舍到小数点左边第|i|1位。 例:pi = 3.1415926 ? round (pi,1),round(pi,3), round (pi,0), round(pi,-1) 3.1 3.142 3 0,33,6.求最大max( )、最小函数min( ) 格式:max (,) min (,) 功能:求多个数值表达式的最大、最小值。参加运算的可以是:c、 n、d型,并分别返回c、n、d型 例: ? max (6, min (10,8), max (1999/12/10,1999/10/12) 8 1999-12-10 7.符号函数sign( ) 格式:sign () 功能:返回指定数值表达式的符号。当表达式的运算结果为正、负 和0时,函数值分别为1、-1、0 例:? sign (5), sign (2-3), sign (0) & 1 -1 0 8.圆周率函数pi( ) 例:?pi() & 3.14,34,6.3.2字符函数,1.求字符串长度函数 len() 格式:len (c) 功能:返回字符表达式c的值的宽度 (返回n型结果) 2 剪空格函数 左剪空格: ltrim( ) 右剪空格: rtrim( ) 或 trim( ) 两边剪空格:alltrim ( ),35,3 取字符串函数 左取字符串:left( ) 右取字符串:right( ) 任意位置取字符串:substr( ) 格式:left (c,n) 功能:从字符串c中左取n个字符 格式:right (c,n) 功能:从字符串c中右取n个字符 例:姓名“李菲菲“ store “123“ + “456“ to sz ? left (姓名,2),right(sz,4) & 李 3456 格式:substr(c,i,j) 功能:从字符串的第i位置开始取j个字符,如j缺省,则取到最后。 例:x = “中华人民“ store “foxpro“ to y ?substr (x,3,2), substr (y,4) & 华 pro,36,4.求子串位置函数at( ) 格式:at(c1,) 功能:返回字符表达式c1的值在字符表达式c2的值中的位置,其结果为n型,如找不见,则返回0。搜索时,区分字母大小写。 5.产生空格函数space( ) 格式:space () 功能:产生空格字符串,空格数由数值表达式的值决定,37,6.字母大小写转换函数 upper( ),lower( ) 格式:upper(字符表达式) 功能:将字符表达式中的字母小写变大写。 格式:lower(字符表达式) 功能:将字符表达式中的字母大写变小写。 7.字符串重复函数 replicate( ) 格式:replicate (,) 功能:将的值复制次。,38,8.字符串替换函数stuff( ) 格式: stuff (,) 功能:在形如stuff (c1,i,j,c2)中,用c2去替换c1中第 i个位置开始的j个字符。 9.字符串匹配函数like() 格式:like (,) 功能:比较两个字符串对应位置上的字符,若所有对应字 符都相匹配,函数返回逻辑真(.t.),否则返回逻 辑假(.f.),39,6.3.3日期时间函数,1.系统日期和时间函数 格式:date( ) 功能:返回当前系统日期 (返回d型结果) 格式:time ( ) 功能:返回系统当前时间 (返回c型结果) 格式:datetime( ) 功能:返回系统当前日期时间 (返回t型结果),40,2.取年份、月份和天数函数 格式:year (|) 功能:返回4位年份(结果为整型) 格式:month (|) 功能:返回月份(结果为整型) 格式:day (|) 功能:返回天数(结果为整型),41,3.时、分、秒函数 格式:hour () 功能:返回小时部分(24小时制) (结果为n型) 格式:minute () 返回分钟部分 (结果为n型) 格式:sec () 功能:返回秒部分 (结果为n型),42,6.3.4 类型转换函数,1.字符转换为日期函数ctod( ) 格式:ctod (“mm/dd/yy“) 功能:将格式为mm/dd/yy的字符串转化为日期 (返回d型结果) (其中,y表示year,m表示month,d表示day) 2.日期转换为字符函数dtoc( ) 格式:dtoc (,1) 功能:将日期转换为mm/dd/yy格式的字符串 (返回c型结果) 3.字符转换为数值函数val ( ) 格式:val () 功能:将字符转换为数值 (返回n型结果),43,4.数值转换为字符函数str ( ) 格式:str (,i,j) 功能:将数值表达式的值转换为字符(返回字符型结果)。其中i,j为正整数,i决定了字符串的长度,j决定了字符串所取的小数位。j缺省时,取整;i缺省时,默认取10个宽度。 5.宏替换函数 & 格式: &.字符串 功能:替换出字符型内存变量的内容(即去除定界符) 说明:宏替换函数是函数中唯一一个不带括号的函数,其后必须紧跟c型内存变量,不可有空格(注意:当出现&时,只能表示注解)。,44,6.3.5 测试函数,1.值域测试函数between( ) 格式:between (,) 功能:如的值在与的值之间,返回.t., 否则返回.f. ( 如或的值为.null.,则返回结果为.null.或.f.),45,2.空值测试函数isnull( ) 例:x =.null. y =space(6) ?x , isnull (x), isnull (y) & .null. .t. .f. 3.“空”值测试函数empty( ) 格式:empty () 功能:根据表达式的运算结果是否为“空”值,返回.t.或.f. 4.数据类型测试函数var

温馨提示

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

评论

0/150

提交评论