VFP的数据类型.ppt
《VFP的数据类型.ppt》由会员分享,可在线阅读,更多相关《VFP的数据类型.ppt(208页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、V F P V F P 基础基础一 VFP概述二 VFP的数据类型三 常量和变量四 函数五 运算和表达式练习与思考1/2/2023121 21 V F P V F P 概述概述VFP的发展dBASEIIIFoxbase+Foxpro2.5VisualFoxpro6.0VFP是可视化的DBMS,也是强大的面向对象的应用程序编程工具。VFP的运行环境见P193页硬件环境:486/66MHz以上/16M以上/鼠标/高分辨率显示器/大容量硬盘软件环境:Windows95以上,或WindowsNT4.0以上1/2/2023221 21 V F P V F P 概述概述VFP的安装1)将装有VFP的光盘放
2、入光驱;2)找到存放VFP应用程序的文件夹双击之;3)找到SETUP.EXE可执行程序文件双击即可按照提示,一步一步进行安装。有的VFP光盘可使系统直接启动安装VFP的程序。启动:执行桌面上的VFP快捷方式或找到VFP6.EXE直接双击。退出:窗口关闭方式或执行命令QUIT。1/2/2023321 21 V F P V F P 概述概述VFP的界面由主窗口和命令窗口组成;主窗口有菜单栏、工具栏、状态栏等组成,并为显示交互命令的反馈信息显示交互命令的反馈信息显示交互命令的反馈信息显示交互命令的反馈信息。命令窗口用来键入键入键入键入FOXPROFOXPRO的命令的命令的命令的命令。示例:?12+8
3、0-69+34VFP中常用的文件类型.DBF表文件.FPT备注文件.IDX索引文件.PRG程序文件1/2/2023421 21 V F P V F P 概述概述VFP的主要技术指标字段名1字段名2 字段名3字段名长度=10个字符可存放字段数/每个记录为:=255个可存放记录数/每个1字节记录表=10亿个1/2/2023522 22 V F P V F P 的的数据类型数据类型VFP的数据类型字符型(C)使用时必须用定界符“”“”或 或 数值型(N)只能由数字、小数点和正负号组成。逻辑型(L)只能由真真(.T.或.Y.)、假假(.F.或.N.)来表示。长度固定占1个字节。特别注意其书写两边一定加
4、点。日期型(D)默认格式为mm/dd/yy,即月/日/年,长度固定为8字节。1/2/20236RSDA.FPT22 22 V F P V F P 的数据类型的数据类型备注型(M)A.这种类型数据只用在表的备注字段中,用来存放大块长这种类型数据只用在表的备注字段中,用来存放大块长度不固定的备注信息;度不固定的备注信息;B.备注字段的宽度固定为备注字段的宽度固定为4个字节,用来存放指向数据存贮个字节,用来存放指向数据存贮地址的指针,在备注字段位置上统一显示地址的指针,在备注字段位置上统一显示Memo;C.每个备注型数据最多可容纳每个备注型数据最多可容纳64K个字符。个字符。MemoMemo简历-宽
5、度为宽度为4字节字节最大可最大可容纳容纳64KRSDA.DBF1/2/2023722 22 V F P V F P 的数据类型的数据类型屏幕型(S)用于存放整个屏幕的8025个字符的屏幕信息。另外还有通用型通用型(G)G)、字符二进制型字符二进制型(C)C)、整整数型数型(N)N)、浮点型浮点型(N)N)、双精度型双精度型(N)N)、货币货币型型(Y)Y)、日时型日时型(T)T)和 备注二进制型备注二进制型(M)M)类型。货币型是数值型的扩展,固定占8个字节例:$123456.789日时型是日期型的扩展,其格式为MM/DD/YY MM/DD/YY TT:MM:SS AM|PM TT:MM:SS
6、 AM|PM例:01/02/98 00:00:00 AM1/2/2023823 23 常量和变量常量和变量VFP的常量常量是在程序运行过程中其值不变化的数据,它具有字符型、数值型、逻辑型、日期型、日时型和货币型六种。1、字符型使用时必须用定界符“”“”或 或 2、有关日期型、日时型常量的说明:正确格式为 CTOD(“01/02/98”)CTOT(“01/02/98 12:00:11 AM”)1998/01/02 或用-连接 1998/01/02 12:00:11 a 计算机显示为01/02/98和01/02/98 12:00:11 AM1/2/2023923 23 常量和变量常量和变量例:“a
7、bc”abcabc123.45“123.45”.t.CTOD(01/20/97)01/03/89 03:00:00 pm$123.451990-12-10F10/01/503、对于日时型的缺省补齐:1989-01-27am自动补齐为自动补齐为1989-01-27 12:00:00amctot(“11:28:38am”)自动补齐为自动补齐为1899-12-30 11:28:38am用?来体会:1/2/20231023 23 常量和变量常量和变量VFP的变量变量是在程序运行过程中其值可能会发生变化的数据,或说可以在一定范围内取值的数据,它分为字段变量和内存变量两类。字段变量 即每一个记录的某个属性
8、字段名,它的值随着不同的记录而变化。字段变量名=10个字符,必须以汉字或字母开头且仅由英文字母、汉字、数字和下划线组成。例:表RSDA.DBF中的字段姓名、出生日期等。1/2/20231123 23 常量和变量常量和变量内存变量 是一些临时变量,它在内存中存贮数据,以便在需用时引用它的内容。当退出VFP或断电时数据将自动消失。内存变量可以有C、N、L、D、T、Y六种类型。它的具体类型与此时内存变量中的值的类型一致。内存变量长度=254个字符,必须以英文字母或汉字开头且仅由英文字母、汉字、数字和下划线组成。例:A、AB1、工资_总额、应发工资、C_12等。1/2/20231223 23 常量和变
9、量常量和变量内存变量的赋值赋值例:X=1Y=4X=Y+1成批赋值 STORESTORETO TO 例:STORE0TOX1,X2,Y1,Y2*给若干内存变量赋以相同的值如:A=1STORE2TOA,BB=2STOREA+2TOA,BA=BSTORE1,2TOA,BA=B=2?A,B1/2/20231323 23 常量和变量常量和变量内存变量与字段变量的区别1.内存变量独立存在,字段变量隶属于数据库,不能独立存在;2.内存变量的类型和长度可随所赋值的不同而变化,字段变量的类型和长度在建库时已定义好,除非修改库结构,否则不能改变;3.内存变量为单值变量,字段变量为多值变量;4.当内存变量与字段变量
10、同名时,默认为字段变量。若指内存变量需加“M-”符,以示区别。工号工号工号工号姓名姓名姓名姓名工资工资工资工资01000100李青李青520.00520.0002150215张林张林480.50480.50B=3 B=1+B m-姓名=123STOR TO B1/2/20231423 23 常量和变量常量和变量内存变量的显示(设B=4)在下一行显示例:?B+2,B*5?在当前行显示例:?B/2*用“新建”“程序”建立程序 DY.DY.PRGPRGA=曾经有一次曾经有一次?A,学习的机会,学习的机会,?我没有好好去珍惜。我没有好好去珍惜。?如果非要给学习一个期限的话,如果非要给学习一个期限的话,
11、?答案应该是答案应该是?一万年!一万年!1.程序中符号必须是英文状态;2.程序名是在编辑后存盘时输入的;3.新建和修改程序用MODI COMM DY4.运行程序用DO DY1/2/20231523 23 常量和变量常量和变量LIST MEMOLIST MEMO 或DISP MEMODISP MEMO 翻屏或分屏显示所有内存中变量(包括自定义内存变量和系统内存变量)的名字、层次位置、数据类型和具体值。数值处理函数ABS(X)求绝对值?ABS(-12/6)INT(X)取整?INT(-0.99)ROUND(X,I)四舍五入?ROUN(3.1415,1)MAX(X,Y)取大?MAX(-2,-3)MIN
12、(X,Y)取小?MIN(-2,-3)1/2/20231624 24 函数函数VFP的函数函数计算实际上是对于指定的函函函函数数数数名名名名和自自自自变变变变量量量量(参数表(参数表(参数表(参数表)执行事先编好的程序。每个函数必然有一个具有确定数据类型的返回值(函数值);函数值可作为一个数据再和其他数据进行运算;送给函数的自变量的数据类型必须与该函数要求自变量的数据类型一致;否则将出现语法错误。大多数函数都要使用一个或多个参数,但有若干个函数是无参数的(宏替换函数)。函数名只写前四个字符即可。1/2/20231724 24 函数函数数值处理函数SQRT(X)平方根?SQRT(36.00)MOD
13、(X,Y)取余数,当X与Y异号时函数的返回值为余数+Y。?MOD(12,5)?MOD(-12,5)?MOD(12,-5)?MOD(-12,-5)字符处理函数&宏替换将存贮在字符型内存变量中的字符串替换出现。即把该变量所代表的字符串去掉字符串定界符后重新放到该函数所在位置上.1/2/20231824 24 函数函数当宏替换之后还有内容时,用一个圆点表示内存变量名到此为止。(如AB=*?8&AB.14)宏替换函数作用:可把数字字符组成的字符串转变为数值;C1=“34.98”?INT(&C1)+ROUND(&C1,1)用以替换命令中需要重复书写较长的部分。A=“LIST FOR 职称=”&A“高工”
14、&A“工程师”1/2/20231924 24 函数函数 UPPER(S)变大写?UPPE(AB3cd)LOWER(S)变小写?LOWE(AB3cd)LEN(S)求字符串长度?LEN(A B新3cd)AT(S1,S2)寻找子串?AT(A,RSDA.DBF)SUBSTR(S,I,N)取子串?SUBS(ASDFGHJK,2,2)LEFT(S,N)取左子串RIGHT(S,N)取右子串?LEFT(COMP,3)?RIGH(COMP,3)1/2/20232024 24 函数函数SPACE(N)空格生成REPLICATE(S,N)重复字符生成STUFF(S1,N1,N2,S2)字符串替换?STUFF(“BA
15、SICCFOX”,6,1,PASCAL”)11TRIM(S)或RTRIM(S)消除串尾空格日期和时间处理函数DATE()求系统日期DATETIME()求系统日时YEAR(X)求年份1/2/20232124 24 函数函数MONTH(X)和CMONTH(X)求月份DAY(X)求几号DOW(X)和CDOW(X)求星期几数据类型转换函数ASC(S)由字符求ASCII码CHR(N)由ASCII码求字符STR(R,L,D)数值转换字串?STR(179.44,6,1)?STR(179.44,6)?STR(179.44,2)1/2/20232224 24 函数函数VAL(S)字符串转换成数值?VAL(“13
16、.5546”)?VAL(“A535”)?VAL(“535A”)?VAL(D488)日期转换函数字串转换日期CTOD(S)日期转换字串DTOC(D)日期转换字串DTOS(D)?CTOD(01/11/98)?CTOS(01/11/98)1/2/20232324 24 函数函数日时转换函数字串转换日时CTOT(C)日时转换字串TTOC(T)日期转换日时DTOT(D)日时转换日期TTOD(D)?CTOT(01/01/99 00:08:51 AM)货币转换函数货币转换数值MTON(Y)数值转换货币NTOM(N)IIF(LE,E1,E2)逻辑转换?IIF(123.99INT(123.99),4,6)1/2
17、/20232424 24 函数函数检测类函数判别数据类型函数TYPETYPE(X)(X)判别文件起始函数BOF()()判别文件结束函数EOF()()判别当前记录号函数RECNO()()统计记录个数函数RECCOUNT()()判别检索成功函数FOUND()()工号工号工号工号姓名姓名姓名姓名工资工资工资工资01000100李青李青520.00520.0002150215张林张林480.50480.50记录号记录号1 1之前之前为文件头;最后记录号记录号+1+1为文件尾;指针指向记录为当前记录。1/2/20232525 25 运算和表达式运算和表达式运算和表达式1.运算(1)算术运算、*、%取余、
18、*(或)乘幂(2)连接运算直接连接(+)移尾空连接(-)(3)日期运算日期相减运算,得到两个日期之间的天数。日期加(减)天数运算,得到日期上加(减)天数形成新日期。1/2/20232625 25 运算和表达式运算和表达式(4)关系运算=较短字符串与较长字符串前头的字符串相匹配,返回值即为真。$判断两个字符串之间是否有包含关系。ASCII码由小到大排列顺序:空格09azAZ汉字(5)逻辑运算非NOT(或!)、与AND、或OR见P184页逻辑关系真值表。1/2/20232725 25 运算和表达式运算和表达式1.表达式同类型的各种数据,用运算符按一定的规则连接起来的整体为表达式。(1)表达式中运算
19、符的优先级见旧书P184页各个运算符的优先次序。(2)表达式的分类数值型表达式字符型表达式日期型表达式关系表达式逻辑表达式1/2/202328第第 2 2 章章 练习与思考练习与思考1下面列出的数据哪些是变量,哪些是常量?是常量说出其数据类型。姓名“讲师”ASCII12.56.Y.12.56.F.TA_12CTOD(“05/06/98”)2写出下列表达式的值。INT(5.984)SQRT(16)+25MOD(16,-5)LEN(“FOXPRO6.0数据库管理系统”)1/2/202329第第 2 2 章章 练习与思考练习与思考3写出下列表达式的值。YEAR(CTOD(“04/25/85”)CTO
20、D(“01/01/96”)-CTOD(“02/01/96”)AT(“长沙”,“北京长沙西安”)SUBSTR(“湖南长沙月山”,5,4)+“市人民”REPLICATE(*,4)+“数 据 输 入”+REPL(*,4)设a=88IIF(a88,x,y)CTOD(“05/01/96”)+30VAL(258长沙)+LEN(258长沙)1/2/202330第第 2 2 章章 练习与思考练习与思考4写出下列语句的运行结果。?INT(-5.6)?MOD(15,4)?SQRT(36)?MAX(12,6)?Q$AaBbCcQq?AT(A,RSDA.DBF)?LEFT(COMP,3)?SUBS(ASDFGHJK,
21、2,2)5作业:书P499、10T1/2/202331第第 2 2 章章 练习与思考练习与思考6.VFP中记录个数不得超过-个;7.VFP中扩展名为FPT的文件是-文件;8.退出VFP系统返回操作系统的命令是-;9.下列表达式中不是日期表达式的是:DATE()DATE()+20TIME()CTOD(01/01/94)10.下列逻辑表达式中,结果为.F.的是:MOD(20,5)=MOD(20,4)“张”$“张三”“01/02/93”“02/02/92”“张三”$“张”11.下列表达式中错误的是:CTOD(01/01/90)-CTOD(01/01/89)CTOD(01/01/90)-20001/0
22、1/90-01/01/89”01/01/90+2001/2/202332第第 3 3 章章 数据库文件的操作数据库文件的操作一 有关命令二 表的建立三 表的编辑四 表的复制五 表的排序与索引六 查询信息七 数据统计与报表生成八数据库文件的操作九 多重数据库操作练习与思考1/2/202333 3 1 3 1 V F P V F P 的命令的命令VFP的命令是指示VFP执行一种操作的文本形式的字或短语。1.命令格式命令动词FROMTOFOR/WHILEFIELDSOFF约定:可选项,如不选时采用系统默认值。必选项,由用户提供。/或者,两边任选一项。在具体使用时要去掉以上符号。1/2/202334
23、3 1 3 1 V F P V F P 的命令的命令2.命令格式的说明(1)命令动词必不可少。(2)限制性短语FORMAPPEFORMRSDA1TOTOSCREEN表示输出到屏幕TOPRINT表示输出到打印机TO表示输出到指定文件1/2/202335 3 1 3 1 V F P V F P 的命令的命令(包括当前记录)ALL表示所有记录NEXT表示当前记录之后的n个记录RECORD表示第I号记录REST表示当前记录之后的所有记录FIELDS字段间要用,分隔。FOR/WHILEFOR:对指定范围内的所有记录检测执行条件;WHILE:对指定范围内记录一旦检测到执行条件不满足时终止检测。(示例)1/
24、2/202336 3 1 3 1 V F P V F P 的命令的命令3.使用命令时,必须注意:。所有命令都必须以命令动词开头,动词后面的短语先后顺序任意;(赋值语句)。所有命令都必须按照一定的格式书写;(蓝色)。至少有一个空格一个空格分隔命令中的各个单词、短语;。命令中的关键字可以缩写成它们的前四个前四个字符;。命令中使用的字母,大小写没有区别;。一条命令一行未键入完时,光标会自动换行。或在本行末键入;,再按回车后,在下一行继续键入.。一行内不允许写多条命令。一行内不允许写多条命令。回车是每个命令的结束标志。回车是每个命令的结束标志。不要用命令动词作为用户自定义的各种名字。1/2/20233
25、7 3 1 3 1 V F P V F P 的命令的命令4.命令的工作模式单命令工作模式(命令方式)、菜单命令工作模式(菜单方式)、批命令工作模式(程序方式)三种。5.命令窗口的操作在按ENTER键执行键入命令之前,按ESC键删除该命令。将光标移到以前命令行的任意位置按ENTER键可重新执行命令。选择要重新处理的代码块,按ENTER键将重新执行。要分割很长的命令可以在所需位置的空格后接分号并按ENTER键。使用剪切、复制、粘贴和清除编辑所需命令。6.窗口的编辑 使用剪切、复制、粘贴等命令。1/2/202338 3 2 3 2 表的建立表的建立建立表结构表是数据库中最基本的文件,是一种二维表;数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 数据类型
限制150内