VFP应用与开发案例教程.ppt





《VFP应用与开发案例教程.ppt》由会员分享,可在线阅读,更多相关《VFP应用与开发案例教程.ppt(159页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VFP应用与开发案例教程辽宁交专现教中心白夏清本章教学要求:掌握数VisualFoxPro数据类型、变量、表达式的基本概念和用法,VisualFoxPro常用命令和函数的基本使用方法,自定义函数和过程定义和使用。第二章 Visual FoxPro语言基础 21VisualFoxPro的数据类型2 2常量和变量23数组24VisualFoxPro的操作符与表达式25程序流程控制语句26VisualFoxPro常用命令及函数27自定义过程与函数VFP应用与开发案例教程辽宁交专现教中心白夏清在VisualFoxPro中所有的数据都有一确定的类型,如整型(Integer)、字符型(Char)等,数据类
2、型确定了该数据的取值范围及允许进行的操作。在VisualFoxPro主要的数据类型有:1.字符型(Character)c由任意字符构成的数据,主要用来表示姓名、地址等数据,其最大长度为254个字符,对字符常量在引用时要加单引号“”或双引号“”,但引号本身不是字符常量的一部分。例如:”a”、a、this、this、”Johnsbook”(对应的字符常量是Johnsbook。2.1Visual FoxPro数据类型 VFP应用与开发案例教程辽宁交专现教中心白夏清2.货币型(Currency)具有货币值的数据,在VisualFoxPro中为货币型数据保留四位小数,在计算机中占8个字节,其取值范围为:
3、-922,337,203,685,477.5807922,337,203,685,477.5807例如:$234.78、$3298.2333.数值型(Numeric)整数或小数,在设计时指定其数据长度和小数位数,其长度为8个字节,取值范围为:-0.9999999999E+190.9999999999E+20。例如:34.89VFP应用与开发案例教程辽宁交专现教中心白夏清4.浮点型(Float)浮点型只是为了提供与其它数据库的兼容,在使用上与数值型(Numeric)相同。5.日期型(Date)具有日期值的数据,其长度为8个字节,取值范围为:01/01/10012/31/9999。例如:04/07
4、/04表示2004年07月04日6.日期时间型(DateTime)具有日期和时间的数据,其长度为8个字节,取值范围为:VFP应用与开发案例教程辽宁交专现教中心白夏清日期:01/01/10012/31/9999时间:00:00:00am11:59:59pm例如:04/07/0402:23:12Am 7.双精度型(Double)只有字段变量才具有该类型,与数值型基本相同,但具有更高的精度,其长度为8个字节,取值范围为:4.94065645841247E-324 8.9884656743115E+307。例如:4234.767、21564.556 8.整型(Integer)整数值数据,其长度为4个字
5、节,取值范围为:VFP应用与开发案例教程辽宁交专现教中心白夏清-2147483647+2147483646。例如:424、-899.逻辑型(Logical)具有逻辑值的数据,其长度为1个字节,其只有两种取值:.F.(假)和.T.(真)。10.备注型(Memo)只有字段变量才具有该类型,用于存储大块数据(如个人简历),其大小为4个字节,存储指向备注内容的引用,备注内容存放在与表同名而扩展名为“.FPT”的文件中。VFP应用与开发案例教程辽宁交专现教中心白夏清11.通用型(General)只有字段变量才具有该类型,用来保存一个OLE对象,其大小为4个字节,其值指向该字段的真正内容:电子表格、文档或
6、图片。2.2常量和变量2 2 1 常量常量 常量(Const)是在程序运行过程中,其值保持不变的量,任何数据类型都可以作为常量。例如:25、Thisisabook.等就是常量。VFP应用与开发案例教程辽宁交专现教中心白夏清在VisualFoxPro中,日期和时间常量可用下面的格式来表示:yyyy-mm-ddhh:mm:ssam|pm例如:2004.05.11表示2004年5月11日2004.05.1103:45:12am表示2004年5月11日3时45分12秒在VisualFoxPro中,除了直接使用常量外,还可通过一个常量符号来使用常量。例如计算圆的面积,可以用下面的表达式来进行计算:Are
7、a=R*3.1415926VFP应用与开发案例教程辽宁交专现教中心白夏清可以用一个常量符号,例如PI这个来代表3.1415926。要使用常量符号需要使用#Define预处理命令,其格式:#Define常量符号常量例如:#DefinePI3.1415926Area=R*PI&完全等价于:Area=R*3.1415926注意:VisualFoxPro的常量符号是不区分大小写的,但通常习惯用大写字母来表示常量符号。不能对已定义的常量符号进行赋值,例如:#DefinePI3.1415926PI=3.14&错误,对已定义的常量符号进行赋值VFP应用与开发案例教程辽宁交专现教中心白夏清2 2 2 变量变量
8、 变量(Variable)是在程序运行过程中,其值可以改变的量。变量又分为内存变量和字段变量。内存变量存在于内存中,在程序运行时才起作用,程序运行结束后自动消失。字段变量存在于数据库的表中,不会因程序运行结束而消失。1.变量的命名规则在VisualFoxPro中变量名只能以字母或下划线“_”开始,后面可接字母或数字,汉字也可用作变量名,变量名中不能包含以下字符:!#%&*()、+:.;?/空格制表符VFP应用与开发案例教程辽宁交专现教中心白夏清 一个内存变量名的最大长度为254个字符,字段变量为10个字符。在Visual FoxPro 中变量名是不区分大小的,例如变量名:SNAME、Sname
9、、SNAme都是一样的。2.对内存变量的赋值 Store命令 格式:Store 表达式1,表达式2,表达式n to 变量1,变量2,变量n 赋予变量什么样的值,变量就具有什么样的数据类型。例如:Store 2+5 to v1,v2 v1、v2是整型变量,其值均为7。VFP应用与开发案例教程辽宁交专现教中心白夏清 赋值操作符“=”格式:变量=表达式 赋予变量什么样的值,变量就具有什么样的数据类型。例如:str1=qwe var=23+45.8 (注:var的数据类型是浮点,其值是68.8。)VFP应用与开发案例教程辽宁交专现教中心白夏清223 数据存储类型数据存储类型 数据的存储类型决定了数据的
10、作用范围。在Visual FoxPro中数据可以存储于常量(如上一节的PI)、变量和数组中,还可以存储在数据库的字段变量和对象中。1.内存变量的作用域内存变量的作用域是指内存变量的作用范围,即指内存变量是在整个程序范围或是在部分程序范围起作用。l全局变量(Public Variable)在整个应用程序范围内都可以被使用和修改的变量。全局变量的声明命令格式:Public var1,var2,varnVFP应用与开发案例教程辽宁交专现教中心白夏清例如:Public var1,str1 Var1=78 Str1=This is a book.用Public关键字将变量声明为全局变量后,在没有对全局变
11、量赋值以前,其值被初始化为.F.,如量一个变量没有进行声明,系统默认为全局变量。注意:在对一个变量赋值后,再将其声明为全局变量将会产生语法错误。VFP应用与开发案例教程辽宁交专现教中心白夏清l局部变量(Local Variable)只能在创建它的模块或过程中使用和修改。局部变量的声明命令格式:Local var1,var2,varn例如:Local Sname,Age Sname=Smith Age=18用Local关键字将变量声明为局部变量后,在没有对局部变量赋值以前,其值被初始化为.F.。VFP应用与开发案例教程辽宁交专现教中心白夏清注意:在对一个变量赋值后,再将其声明为局部变量将会产生语
12、法错误。l私有变量(Private Variable)在当前程序中隐藏上层程序定义的、与私有变量同名的内存变量,从而使在当前程序中操作这些私有变量而不影响被隐藏的上层程序定义的同名变量。私有变量的声明命令格式:Private var1,var2,varn例如:VFP应用与开发案例教程辽宁交专现教中心白夏清程序2-1.prg:Set Talk OffVar1=100Var2=200Do proc1&调用过程proc1?Var1&在屏幕上显示输出变量Var1的值?Var2&在屏幕上显示输出变量Var2的值VFP应用与开发案例教程辽宁交专现教中心白夏清过程文件2-2.prgProcedure pro
13、c1Private var1,var3Var1=1Var2=50Var3=3?Var1&在屏幕上显示输出变量Var1的值?Var3&在屏幕上显示输出变量Var2的值ReturnEndProc VFP应用与开发案例教程辽宁交专现教中心白夏清执行程序2-1的运行结果:1 310050VFP应用与开发案例教程辽宁交专现教中心白夏清2.字段变量(Field Variable)字段变量存在于数据库的表中,当数据库的表打开时,字段变量就起作用,当数据库的表关闭时,字段变量就不起作用。注意:当内存变量与字段变量同名时,字段变量起作用,此时若要引用与字段变量同名的内存变量,应在变量名前加上“M-”,例如:学号
14、=25&这里学号是一个内存变量Use 学籍管理.DBF&打开学籍管理.DBF表文件,表&中有一名为学号的字段变量VFP应用与开发案例教程辽宁交专现教中心白夏清 Locate for 学号=M-学号 注:第一个学号是引用字段变量的学号,第二个学号;是引用内存变量的学号 VFP应用与开发案例教程辽宁交专现教中心白夏清2.3 2.3 数 组数组是一个或多个内存变量的集合,可以通过数组下标访问数组元素。Visual FoxPro支持一维和二维数组。数组在使用前必需先声明,声明一个数组可通过命令Dimension或Declare命令。lDimension/Declare命令格式 Dimension 数组
15、名(下标1,下标2)或 Declare 数组名(下标1,下标2)例如:VFP应用与开发案例教程辽宁交专现教中心白夏清Dimension Array1(3)Declare Array2(3,4)数组的下标是从1开始的,对于上面的定义,引用数组元素Array1(1)、Array1(2)和Array1(3)是合法的,而Array1(0)和Array1(4)是错误的。同一个数组的不同数组元素可以具有不同的数据类型,例如:Dimension Array(5)Array(1)=25&Array1的数据类型为整型Array(2)=“Book”&Array2的数据类型为字符型Array(3)=.t.&Arra
16、y3的数据类型为逻辑型VFP应用与开发案例教程辽宁交专现教中心白夏清说明:数组无论是声明或是使用,下标的引用可以用圆括号“()”,也可以用方括号“”,在声明数组后,数据元素的初值都是.F.。可以重新声明数组来对数组进行扩容,扩容后的数组,原数组的内容保持不变,添加的数组元数的初值为.F.。也可以使用Public、Local和Private来指定数组的作用域,例如:Public dimension a1(5)Private a1(3)VFP应用与开发案例教程辽宁交专现教中心白夏清2.4 2.4 Visual FoxPro的操作符与表达式 操作符用来指定完成各种Visual FoxPro支持的算术
17、逻辑运算,表达式是指用各种操作符连接起来的运算式,一个常量或变量可以认为是一个最简单的表达式。2 4 1 数值操作符及表达式数值操作符及表达式 1.+操作符格式:数值型表达式1+数值型表达式2功能:返回两个数值型表达式相加的结果。VFP应用与开发案例教程辽宁交专现教中心白夏清 2.-操作符格式:数值型表达式1-数值型表达式2功能:返回两个数值型表达式相减的结果。3.*操作符格式:数值型表达式1*数值型表达式2功能:返回两个数值型表达式相乘的结果。VFP应用与开发案例教程辽宁交专现教中心白夏清 4./操作符格式:数值型表达式1/数值型表达式2功能:返回两个数值型表达式相除的结果。5.*或 操作符
18、格式:数值型表达式1数值型表达式2 或 数值型表达式1*数值型表达式2 功能:返回数值型表达式1与数值型表达式2的方次。例如:VFP应用与开发案例教程辽宁交专现教中心白夏清?4%3&显示结果:64?6.70.3&显示结果:1.77 6.%操作符格式:数值型表达式1%数值型表达式2 或 数值型表达式1*数值型表达式2 功能:返回数值型表达式1对数值型表达式2求模(求余)的结果。例如:VFP应用与开发案例教程辽宁交专现教中心白夏清?14%5&显示结果:4?16.8%0.5&显示结果:0.3数值操作符的优先级:*或、*和/、%、+和-(高 低)VFP应用与开发案例教程辽宁交专现教中心白夏清 2 2
19、4 4 2 2 字符串操作符及表达式字符串操作符及表达式 1.+操作符格式:字符型表达式1+字符型表达式2功能:连接两个字符型表达式。例如:?”北京”大学”结果为:北京大学VFP应用与开发案例教程辽宁交专现教中心白夏清2.-操作符格式:字符型表达式1-字符型表达式2功能:连接两个字符型表达式,并将第一个字符串尾部的空格移到连接后整个字符串的最末尾。例如:?”电子 ”-“科技大学”结果为:电子科技大学 VFP应用与开发案例教程辽宁交专现教中心白夏清3.$操作符格式:字符型表达式1$字符型表达式2功能:查找字符型表达式1是否在字符型表达式2中出现,若出现则返回逻辑值.T.,否则返回逻辑值.F.。例
20、如:?“科技”$“电子科技大学”结果为:.T.?“电大”$“电子科技大学”结果为:.F.VFP应用与开发案例教程辽宁交专现教中心白夏清2 2 4 4 3 3 逻辑操作符及表达式逻辑操作符及表达式 1.Not 或!操作符格式:Not 逻辑表达式 或 !逻辑表达式功能:进行逻辑非操作。例如:?Not.t.&显示结果为:.F.?Not.f.&显示结果为:.T.?Not 25&显示结果为:.T.VFP应用与开发案例教程辽宁交专现教中心白夏清2.And 操作符格式:逻辑表达式1 And 逻辑表达式2功能:进行逻辑与操作。例如:?.t.and.t.&显示结果为:.T.?.t.and.f.&显示结果为:.F
21、?.f.and.t.&显示结果为:.F?.f.and.f.&显示结果为:.FVFP应用与开发案例教程辽宁交专现教中心白夏清3.Or 操作符格式:逻辑表达式1 Or 逻辑表达式2功能:进行逻辑或操作。例如:?.t.or.t.&显示结果为:.T.?.t.or.f.&显示结果为:.T?.f.or.t.&显示结果为:.T?.f.or.f.&显示结果为:.F 逻辑操作符的优先级:Not、And、Or (高 低)VFP应用与开发案例教程辽宁交专现教中心白夏清 2 2 4 4 4 4 日期时间表达式日期时间表达式 1.+操作符 l对于日期型表达式格式:日期型表达式整型表达式功能:返回日期型数据经过(整型表达
22、式)天后的日期。例如:set century on&设置显示世纪 set date ansi&设置日期格式为yyyy.mm.dd?2004-05-11+5 显示结果为:2004.05.16VFP应用与开发案例教程辽宁交专现教中心白夏清 l对于日期时间型表达式格式:日期时间型表达式+整型表达式功能:返回时间型表达式经过(整型表达式)秒后的日期和时间。例如:set century on set date ansi?2004-02-03 09:03:08 pm+93 结果为:2004.02.03 09:04:41 PMVFP应用与开发案例教程辽宁交专现教中心白夏清 2.+操作符 l对于日期型表达式格
23、式:日期型表达式-整型表达式 日期型表达式1-日期型表达式2功能:返回日期型数据(整型表达式)天前的日期。返回两个日期型表达式相差的天数。例如:set century on set date ansi?200405-11-5VFP应用与开发案例教程辽宁交专现教中心白夏清 结果为:2004.05.06?2004-05-11-2004-05-01 结果为:10 l对于日期和时间型表达式格式:日期和时间型表达式-整型表达式 日期和时间型表达式1-日期和时间型表达式2功能:返回日期和时间型表达式(整型表达式)秒前的日期和时间型数据。返回两个日期和时间型表达式相差的秒数。VFP应用与开发案例教程辽宁交专
24、现教中心白夏清例如:set century on set date ansi?2004-02-03 09:03:08 pm-22 结果为:2004.02.03 09:02:46 PM?2004-05-05 09:03:08 pm -;2004-05-04 11:46:23 pm 结果为:76605VFP应用与开发案例教程辽宁交专现教中心白夏清2.4.5 2.4.5 关系运算符与关系表达式关系运算符与关系表达式 1.操作符格式:操作数1 操作数2功能:判别操作数1是否大于操作数2。2.操作符格式:操作数1 操作数2功能:判别操作数1是否小于操作数2。VFP应用与开发案例教程辽宁交专现教中心白夏清
25、3.=操作符 格式:操作数1=操作数2功能:判别操作数1是否等于操作数2。4.、#、!=操作符 格式:操作数1 操作数2 或 操作数1#操作数2 或 操作数1 操作数2功能:判别操作数1是否不等于操作数2。VFP应用与开发案例教程辽宁交专现教中心白夏清 5.=操作符格式:操作数1=操作符格式:操作数1=23&显示结果:.T.?”Abc”abc”&显示结果:.F.?”abc ”=”abc”&显示结果:.T.?”abc ”=”abc”&显示结果:.F.VFP应用与开发案例教程辽宁交专现教中心白夏清各种操作符的优先级是:数值操作符优先于逻辑操作符逻辑操作符优先于关系操作符注:“()”的优先级最高,可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 应用 开发 案例 教程

限制150内