vfp学习VFP的数据与表达式.ppt_第1页
vfp学习VFP的数据与表达式.ppt_第2页
vfp学习VFP的数据与表达式.ppt_第3页
vfp学习VFP的数据与表达式.ppt_第4页
vfp学习VFP的数据与表达式.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

VFP程序设计 Contents 1模块一 数据库及VFP基础 2 模块二 数据处理技术 3 模块三 VFP编程技术 4 模块四 可视化技术 5 模块五 综合实训 1* VFP程序设计 单元一 数 据 库 系 统 概 述 单元二 数据类型及运算规则 单元三 VFP的项目管理 模块一 数据库及VFP基础 VFP程序设计 单元二 数据类型及运算规则 教学内容: 2-1 数据类型 2-2 常量 2-3 变量 2-4 表达式 2-5 函数 教学目标: 1熟悉Visual FoxPro的窗口界面与系统菜单。 2学会Visual FoxPro的启动和退出,掌握Visual FoxPro的基本操作。 3初步掌握Visual FoxPro的基本数据类型。 4掌握Visual FoxPro的运算符、表达式以及常用内部函数的使用。 5掌握交互式命令执行方法。 VFP程序设计 2-1 数据类型 VFP中每一个数据都有一定的类型,数据类型决定了数 据的存储方式和运算方式,因此,在VFP中任何数据须先定 义其数据类型,然后才能对其进行数据处理。VFP提供了13 种数据类型,分别是:字符型、数值型、货币型、逻辑型、 日期型、日期时间型、整型、浮点型、双精度型、备注型、 通用型、字符型(二进制) 备注型(二进制)。 VFP程序设计 2-2 常量 2-2-1 数值型常量 2-2-2 字符型常量 2-2-3 日期型常量 2-2-4 日期时间型常量 2-2-5 逻辑型常量 2-2-6 货币型常量 VFP程序设计 2-2 常量 2-2-1数值型常量 数值型常量就是整数、小数或用科学记数法表示的数。 如:125,-456.267,1.345E+20等。 2-2-2字符型常量 字符型常量是用字符定界符括起来的字符串。字符定界 符有西文的单引号、双引号或方括号三种。如“计算机“, ABC,567.345等。 注意:字符定界符必须成对的出现。如果字符串中包含一种定界符,则必须 用另一种定界符括起来。如:“计算机”,双引号为字符定界符,其 中的方括号为字符串。 VFP程序设计 2-2-3 日期型常量 日期型常量就是表示一个确切的日期,用一对花 括号作为定界符括起来。系统默认的日期格式为美国 日期格式(mm/dd/yy),表示月/日/年,“/”为分 隔符。分隔符还可以用西文的“-”、“.”和空格表 示,如05/25/03表示2003年5月25日。 通过菜单“工具选项”命令或SET DATE,SET CENTURY ON(OFF)命令 可以改变默认的日期格式。(set date to short,set date to long) 另外,还有一种严格的日期格式,具体表示为:yyyy-mm-dd。如 2003-10-15表示2003年10月15日。严格日期格式可以在任何情况下 使用,不受SET DATE,SET CENTURY命令的影响。 VFP程序设计 2-2-4日期时间型常量 包括两部分内容:,。 同日期型常量,格式为hh:mm:ssa|p,其中hh、mm和ss分别 代表时、分和秒;a(AM)和p(PM)分别代表上午和下午,默认为上午AM。 2-2-5逻辑型常量 逻辑型常量只有两种逻辑值,即真和假。 真值用.T.,.t.,.Y.,.y.表示,假值用.F.,.f.,.N.,.n.表示。 2-2-6货币型常量 货币型常量用来表示货币值,它是以$符号开头的数值型 常量,系统自动进行四舍五入取4位小数。如$2567.876567,系 统存储为$2567.8766。 VFP程序设计 2-3 变量 2-3-1 字段变量 2-3-2 内存变量 2-3-3 数组 2-3-4 系统内存变量 VFP程序设计 2-3-1字段变量 字段变量是在数据表中定义的变量,它存在于数据表 中,一个数据表包含多个字段变量,即多个字段名。字 段变量的值随着数据表中记录的不同而改变。当用字段 名作变量时,它的当前值就是数据表中当前记录该字段 名所对应的值。 VFP程序设计 【例2.1】打开“学生情况表”表文件,显示第2条记录和第5条 记录的学号和姓名字段值,结果如下图所示。 VFP程序设计 2-3-2 内存变量 内存变量是用户通过命令或程序临时定义的变量,内存 变量建立后存储在内存中,需要时可把内存变量保存在文件 中。内存变量的数据类型由变量值的类型决定,可以把不同 类型的数据赋值给同一个内存变量。内存变量的数据类型有 字符型、数值型、货币型、逻辑型、日期型和日期时间型。 VFP程序设计 1内存变量的命名规则 (1)以字母、汉字或下划线开头,由字母、汉字、数字、和下划线组成。 (2)变量名长度最多为128个字符。 (3)不能使用系统的保留字。(保留字是指VFP语言使用的关键字,如 CREATE命令中的CREATE就是一个系统保留字)。 2内存变量赋值命令 命令格式1:= 命令格式2:store to 功能:将的值赋给内存变量。 说明:格式1只能给一个变量赋值;格式2可以给一批变量赋相同的值,各 变量名之间必须用逗号分隔;可对内存变量重新赋值来改变其值和类型 。 VFP程序设计 3显示内存变量命令 命令格式:?|? 功能:计算的值,并显示在屏幕上。 说明:?表示从VFP主窗口下一行的第一列显示结果,?表示从当前行当前 列显示结果。 【例2.2】在命令窗口中输入赋值命令给内存变量赋值,并显示内存变量的 结果。 VFP程序设计 4显示或打印内存变量 命令格式:LIST|DISPLAY MEMORY LIKE TO PRINT|TO FILE 功能:显示或打印当前已定义的内存变量名、作用范围、类型和值。 5内存变量的清除 命令格式1:CLEAR MEMORY 命令格式2:RELEASE 内存变量表 ALLLIKE|EXCEPT 功能:清除内存变量。 VFP程序设计 6.内存变量的作用域 内存变量的作用域就是它的作用范围。根据内存变量的作用范围分 为全局变量、局部变量和本地变量。 (1)定义全局变量 用PUBLIC命令定义的内存变量,可视为全局变量。 PUBLIC命令格式: PUBLIC 内存变量表 命令功能: 定义内存变量表中指定的内存变量为全局变量。 VFP程序设计 (2)定义局部变量 PRIVATE命令格式: PRIVATE 内存变量表 命令功能: 定义内存变量表中指定的内存变量为局部变量。 (3)定义本地变量 LOCAL命令格式: LOCAL 内存变量表 命令功能: 定义内存变量表中指定的内存变量为本地变量。 内存变量作用域实例见本单元实训部分 VFP程序设计 2-3-3 数组 数组是按一定顺序排列的一组内存变量,数组中 的各个变量称为数组元素。数组必须先定义后使用。 每个数组元素可通过数组名及相应的下标来访问。 命令格式: DIMENSION|DECLARE (,) , (,) 功能:定义一个或多个一维、二维或多维数组。 VFP程序设计 【例2.3】定义数组,并给数组赋值。 DIMENSION Y(3), X(2,2) Y=123 X(1,1)=345 X(1,2)=“abc“ X(2,1)=2003-03-25 X(4)=.T. ? Y(1),Y(2),Y(3),X(1),X(2),X(3),X(4) VFP程序设计 2-3-4 系统内存变量 系统内存变量是指VFP系统定义的一批变量,它门都以下划“_”开头,分别 用于控制外部设备、屏幕输出格式或处理有关计算器、日历、剪贴板等方面的 信息。 【例 2.4】在命令窗口中输入DISPLAY MEMORY命令,以满屏幕暂停的方式显示当前 系统的内存变量,结果如图所示。 VFP程序设计 2-4 表达式 2-4-1 数值表达式 2-4-2 字符表达式 2-4-3 日期与日期时间表达式 2-4-4 关系表达式 2-4-5 逻辑表达式 VFP程序设计 2-4-1 算数表达式 算数表达式是由算术运算符将数值型数据连 接起来的表达式,其运算结果仍然是数值型数据。 算术运算符及优先级为:( )、*或、*、/、%、+、- 【例2.5】计算( - )6的值。 ?(7*2-1/5)*6 VFP程序设计 2-4-2 字符表达式 字符表达式是由字符运算符将字符型数据连接起 来的表达式,其运算结果仍然是字符型数据。 字符运算符有:+、- +:前后两个字符串连接形成一个新的字符串。 -:前后两个字符串连接,并把前字符串的尾部空格移到连接后的字符串尾 部。 【例2.6】字符串连接 ?“数据库 “+“管理“ ?“数据库 “-“管理“ VFP程序设计 2-4-3 日期与日期时间表达式 日期与日期时间表达式是由日期运算符将日期或日期时间 数据连接起来的表达式,其运算结果是日期或日期时间数据, 也可以是数值型数据。 日期运算符有:+、- 合法的日期时间表达式如下表所示。 表达式结果及类型 +日期型(指定天数后的日期) -日期型(指定天数前的日期) -数值型(两个日期之间的天数) +日期时间型(指定秒数后的日期时间) -日期时间型(指定秒数前的日期时间) -数值型(两个日期时间之间的秒数) VFP程序设计 【例2.7 】 日期运算 ?2003/05/08+15 ?2003/05/08-2003/03/15 ?2003/05/08,10:35:10 am+120 VFP程序设计 2-4-4 关系表达式 关系表达式是由关系运算符将两个运算对象连接起来的式子,即:,其运算结果是逻辑型数据.T.或.F.。 关系运算符见下表所示。 运算符意义运算符意义 大于=大于等于 、 #或!= 不等于$包含于 说明:关系运算符两边表达式的数据类性必须相同。 VFP程序设计 【例2.8】关系运算 ?1015,“abc“2003/03/15,.t.f. ?“ab“$“abd“,“北京大学“$“大学“ SET EXACT OFF ?“数据库系统“=“数据库“ ?“数据库“=“数据库系统“ ?“数据库“=“数据库系统“ SET EXACT ON ?“数据库系统“=“数据库“ ?“数据库“=“数据库系统“ ?“数据库“=“数据库系统“ VFP程序设计 2-4-5 逻辑表达式 逻辑表达式是由逻辑运算符将逻辑型数据连接起来的表达 式,其运算结果仍然是逻辑数据.T.或.F.。 逻辑运算符及优先级为:.NOT.或!、.AND.、.OR. 逻辑运算规则见下表所示。 表达式1表达式2.NOT.表达式1 表达式1.AND.表达式2表达式1.OR.表达式2 .TTFTT. .TFFFT. .FTTFT. .FFTFF. 注意:逻辑运算符两边的点可以省略,即可写成NOT、AND、OR。 VFP程序设计 用不同类型的运算符可写出不同类型的表达式, 如果一个表达式中同时用了不同类型的运算符,则运 算符的优先级顺序由高到低为:括号算术运算符 字符运算符日期时间运算符关系运算符逻辑运 算符。 【例2.9】逻辑运算 ?2*56 and abcabcd or 122003/03/15 .and. .not. .t.) 功能:返回指定的数值表达式值的绝对值。 【例2.10】?ABS(50),ABS(-50) 2.取整函数 格式:INT() 功能:返回指定的数值表达式值的整数部分。 【例2.11】?INT(12.625*2),INT(-3.45) VFP程序设计 3.四舍五入函数 格式:ROUND(1,) 功能:计算的值,并按指明的位数四舍五入 。 说明: v 大于等于0,表示保留小数的位数。 v 若小于0,表示整数部分的舍入的位数。 【例2.12】?ROUND(12.625,2),ROUND(12.625,0) ?ROUND(123.45,-1),ROUND(123.45,-2) VFP程序设计 4.求平方根函数 格式:SQRT() 功能:返回指定的数值表达式的平方根值。自变量表达式的值不能为负。 【例2.13】?SQRT(81),SQRT(9.3) 5.最大值函数 格式:MAX(,) 功能:计算各表达式的值,并返回其中的最大值。 【例2.14】?MAX(-3,2*4,2*3) VFP程序设计 6.最小值函数 格式:MIN(,) 功能:计算各表达式的值,并返回其中的最小值。 【例2.15】?MIN(-25,234,24*24) 7.求余数函数 格式:MOD(,) 功能:返回除以后的余数。 说明:的值不能为0;余数的正负号与除数相同. 【例2.16】:?MOD(8,3),MOD(8,-3) ?MOD(-8,3),MOD(-8,-3) VFP程序设计 8.求自然对数函数 格式:LOG() 功能:返回的自然对数的值。 【例2.17】?LOG(25.5*4) VFP程序设计 2-5-2 字符函数 1.求字符串长度函数 格式:LEN() 功能:返回指定值的字符个数。函数值为数值型。 【例2.18】?LEN(“学生“+“管理“) 2.取子串函数 格式:SUBSTR(,) 功能:从指定的开始,按取值的子字符串。 说明:如果缺省,子串为从开始直到最后一个字符。 【例2.19】?SUBSTR(“学生“+“管理“,5) ?SUBSTR(“学生“+“管理“,1,4) VFP程序设计 3.产生空格函数 格式:SPACE() 功能:产生值指定的空格。 【例2.20】?“学生“+SPACE(2)+“管理“ 4.大写字母转换为小写字母函数 格式:LOWER() 功能:将指定值中大写字母变为小写字母。 【例2.21】:?LOWER(“Good morning“) VFP程序设计 5.小写字母转换为大写字母函数 格式:UPPER() 功能:将指定值中小写字母变为大写字母。 【例2.22】? UPPER(“Good morning“) 6.删除字符串尾部空格函数 格式:TRIM() 功能:删除指定值尾部的空格。 【例2.23】?LEN(“数据库 “) ?LEN(TRIM(“数据库 “) VFP程序设计 7.删除字符串左边空格函数 格式:LTRIM() 功能:删除指定值左边部分的空格。 【例2.24】?“学生“+“ 管理“ ?“学生“+LTRIM(“ 管理“) 8.删除字符串左右两边空格函数 格式:ALLTRIM() 功能:删除指定值左右两边的空格。 【例2.25】?LEN(“ 管理 “) ?LEN(ALLTRIM(“ 管理 “) VFP程序设计 9.取左子串函数 格式:LEFT(,) 功能:按值取指定值的左边子字符串。 【例2.26】?LEFT(“数据库管理系统“,6) 10.取右子串函数 格式:RIGHT(,) 功能:按值取指定值的右边子字符串。 【例2.27】?RIGHT(“数据库管理系统“,4) VFP程序设计 11.子串位置测试函数 格式:AT(,) 功能:判断值是否是值的子串,若是,返回值的首字符在值的起始位置;若不是,则 返回0。函数值为数值型。 说明:值表明在中出现的次数 ,其默认值为1。 【例2.28】?AT(“管理“,“学生管理“) VFP程序设计 12. 宏替换函数 格式:&(). 功能:替换指定的内容。 说明:如果该函数与其后的字符无明确分界,则要用“.”作函数结束 标识。宏替换函数可以嵌套使用。 【例2.29】y=“150“ ?&y ?50+&y x=“创建“ ?“&x.数据库“ VFP程序设计 2-5-3日期和时间函数 1.系统日期函数 格式:DATE() 功能:返回当前系统的日期,函数值为日期型。 【例2.30】?DATE() 2.系统时间函数 格式:TIME() 功能:返回当前系统的时间,函数值为字符型。 【例2.31】?TIME() VFP程序设计 3.系统日期时间函数 格式:DATETIME() 功能:返回当前系统的日期时间,函数值为日期时间型。 【例2.32】?DATETIME() 4.求年份函数 格式:YEAR(|) 功能:返回指定日期或日期时间表达式值中的年份。函数值为数值型。 【例2.33】?YEAR(2003/05/28) VFP程序设计 5.求月份函数 格式:MONTH(|) 功能:返回指定日期或日期时间表达式值中的月份。函数值为数值型。 【例2.34】?MONTH(2003/05/28) 6.求天数函数 格式:DAY(|) 功能:返回指定日期或日期时间表达式值中的天数。函数值为数值型。 【例2.35】?DAY(2003/05/28) VFP程序设计 2-5-4 数据类型转换函数 1.字符转换成ASCII码函数 格式:ASC() 功能:将值的第一个字符转换成ASCII码值,函 数值为数值型数据。 【例2.36】?ASC(“abc“) 2. ASCII码转换成字符函数 格式:CHR() 功能:将的值转换成ASCII码字符,函数值为字 符型数据。 【例2.37】?CHR(65) VFP程序设计 3.数值型转换成字符型函数 格式:STR(,) 功能:将的值转换成字符型数据,函数值为字符型数据。 说明:字符串的长度由值确定,包括小数点和负号各占一位;值表示小数点的位数。如果值小于值的整数 部分位数,则返回一串星号(*)。的默认值是10位,的默认值是0。 【例2.38】 X=STR(345.456,6,2) ?X ?VARTYPE(X) ?STR(345.456,2) ?STR(345.456) VFP程序设计 4.字符型转换成数值型函数 格式:VAL() 功能:将的值转换成相应的数值型数据。 说明:若字符串内出现非数值字符,则只转换前面部分;若字符串的首字符 不是数字符号,则返回数值0,但忽略前导空格。 【例2.39】Y=VAL(“3.15“) ?Y ?VARTYPE(Y) ?VAL(“3A.15“) ?VAL(“A3.15“) VFP程序设计 5.字符型转换成日期型函数 格式:CTOD() 功能:将的值转换成日期型数据。 【例2.40】Z=CTOD(“05/28/03“) ?Z ?VARTYPE(Z) VFP程序设计 6.日期型转换成字符型函数 格式:DTOC(|,1) 功能:将日期型或日期时间型数据转换成字符串。 说明:选项,1表示转换格式为年月日。 【例2.41】P=DTOC(CTOD(“05/28/03“) ?P ?VARTYPE(P) VFP程序设计 2-5-5 测试函数 1.数据类型测试函数 格式:VARTYPE() 功能:测试值的数据类型,返回代表该类型数据的字 符C、N、Y、L、G、D、T、X(NULL值)、U(未定义)等。 【例2.42】?VARTYPE(67548) ?VARTYPE(.T.) VFP程序设计 2.记录号测试函数 格式:RECNO(工作区号|) 功能:返回指定工作区表文件中当前记录的记录号。 说明:如果缺省或,指当前表文件。 【例2.43】USE “D:NEW BOOK学生情况表“ ?RECNO() GO 9 ?RECNO() VFP程序设计 3.记录个数测试函数 格式:RECCOUNT(工作区号|) 功能:返回指定工作区中表文件的全部记录个数。 【例2.44】USE “D:NEW BOOK学生情况表“ ?RECCOUNT() & 显示结果为 10 GO BOTTOM SKIP ?RECNO() VFP程序设计 4.表文件首测试函数 格式:BOF(工作区号|) 功能:测试指定工作区中表文件的记录指针是否指向文件首, 即第一条记录之前。如果是,则返回逻辑真.T.;否则返回 逻辑假.F.。 【例2.45】USE “D:NEW BOOK学生情况表“ ?BOF(),RECNO() SKIP -1 ?BOF(),RECNO() VFP程序设计 5.表文件尾测试函数 格式:EOF(工作区号|) 功能:测试指定工作区中表文件的记录指针是否指向文件尾,即最后一 条记录之后。如果是,则返回逻辑真.T.;否则返回逻辑假.F.。 【例2.46】USE “D:NEW BOOK学生情况表“ GO BOTTOM ?EOF() SKIP 1 ?EOF() VFP程序设计 6.条件测试函数 格式:IIF(,) 功能:测试的值,如果为.T.,返回的值;如果 为.F.,返回的值。 【例2.47】X=125 Y=200 ?IIF(XY,X+100,Y-100) VFP程序设计 7.记录删除测试函数 格式:DELETE(工作区号|) 功能:测试指定工作区中表文件的当前记录是否有删除标记(逻辑删除), 若有,返回.T.;否则返回.F.。 【例2.48】USE “D:NEW BOOK学生情况表“ GO 3 DELETE ?DELETE() VFP程序设计 8.记录查找测试函数 格式:FOUND(工作区号|) 功能:测试指定工作区表文件中,用LOCATE,CONTINUE,SEEK,FIND命令对表 文件或索引文件的查找是否成功,若成功,返回.T.;否则返回.F.。 【例2.49】USE “D:NEW BOOK学生情况表“ INDEX ON 性别 TAG XB SEEK “女“ ?FOUND() VFP程序设计 9.工作区号测试函数 格式:SEL

温馨提示

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

评论

0/150

提交评论