第2讲第3章VFP的数据及其运算31.1-3.3_第1页
第2讲第3章VFP的数据及其运算31.1-3.3_第2页
第2讲第3章VFP的数据及其运算31.1-3.3_第3页
第2讲第3章VFP的数据及其运算31.1-3.3_第4页
第2讲第3章VFP的数据及其运算31.1-3.3_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

VisualFoxpro程序设计VisualFoxpro程序设计教程第3章VisualFoxpro的数据及其运算3.1VisualFoxpro的数据类型3.2VisualFoxpro的常量与变量3.3VisualFoxpro的内部函数3.4VisualFoxpro的表达式3.5小结VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型什么是数据类型数据的存储形式和操作使用方式。数据类型的种类字符型、数值型、货币型、日期型、日期时间型、逻辑型、备注型、通用型、二进制字符型和二进制备注型。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型字符型(Character)不能进行算术运算的文字数据类型。包括中文字符、英文字符、数字字符、空格和其它ASCII字符。其长度范围是0~254个字符。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型数值型(Numeric)表示数量并可进行算术运算的数据类型。由数字(0~9)、小数点和正负号组成。在内存中占用8个字节,相应的字段变量最大长度(数据位数)为20位(包括+、-和小数点)。表示很大或很小的数时可用科学记数法。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型数值型(Numeric)(续)在VisualFoxpro中数值数据类型还包括整型、浮动型和双精度型。整型——整型数据(Integer)是不包含小数点部分的数值型数据。它只用于数据表中的字段类型的定义。整型数据以二进制形式存储。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型数值型(Numeric)(续)浮点型——浮点型数据(Float)是数值型数据的一种,与数值型数据完全等价。浮点型数据只是在存储形式上采取浮点格式。双精度型——双精度型数据(Double)是更高精度的数值型数据。它只用于数据表中的字段类型的定义,并采用固定长度浮点格式存储。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型货币型(Currency)存储货币值而使用的一种数据类型。默认保留4位小数,占据8字节存储空间。用字母Y表示。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型日期型(Date)日期型数据(Date)是用于表示日期的数据,用默认格式{mm/dd/yy}来表示。其中mm代表月,dd代表日,yy代表年,年度也可以是4位。日期型数据的长度固定为8位。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型日期时间型(DateTime)

日期时间型数据是描述日期和时间的数据。其默认格式为{mm/dd/yyhh:mm:ss}。其中yy代表年,前两个mm代表月,dd代表日,hh代表小时,后两个mm代表分钟,ss代表秒。日期时间型数据的长度固定为8位。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型逻辑型(Logic)

逻辑型数据是描述客观事物真假的数据,用于表示逻辑判断结果。逻辑型数据只有真(.T.)和假(.F.)两种值,长度固定为1位。输入时可以输入.T.,.t.,.Y.,.y.来表示逻辑真,输入.F.,.f.,.N.,.n.来表示逻辑假,系统一律相应转换为.T.或.F.进行存储与显示。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型备注型(Memo)

备注型数据用于存放较长的字符型数据类型。可以把它看成是字符型数据的特殊形式。备注型数据没有数据长度限制,仅受限于现有的磁盘空间。它只用于数据表中的字段类型的定义,其字段长度固定为4位,而实际数据被存放在与数据表文件同名的备注文件(.ftp)中,长度根据数据的内容而定。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型通用型(General)

通用型数据是用于存储OLE对象的数据。通用型数据中的OLE对象可以是电子表格、文档、图片、声音等。它只用于数据表中的字段型的定义。通用型数据长度固定为4位,实际数据长度仅受限于现有的磁盘空间。VisualFoxpro程序设计教程3.1VisualFoxpro的数据类型二进制字符型和二进制备注型

这两类数据是以二进制格式存储的数据类型,只能用在表中字段数据的定义。所存储数据不受代码页改变的影响。VisualFoxpro程序设计教程第3章VisualFoxpro的数据及其运算3.1VisualFoxpro的数据类型3.2VisualFoxpro的常量与变量3.3VisualFoxpro的内部函数3.4VisualFoxpro的表达式3.5小结VisualFoxpro程序设计教程3.2VisualFoxpro的常量与变量3.2.1常量3.2.2变量VisualFoxpro程序设计教程最简单的—表达式输出命令。命令格式:

?|??<表达式表>功能:依次计算并显示各表达式的值。?与??的区别在于:?在显示表达式内容之前,先发送出一个回车换行符;??则不发出回车换行符,从光标当前位置开始输出。VisualFoxpro程序设计教程3.2.1常量以直观的数据形态和意义直接出现在程序中的数据。在程序中,常量一旦定义,其值就不再改变。可将常量分为6种类型:字符型、数值型、货币型、逻辑型、日期型和日期时间型。VisualFoxpro程序设计教程3.2.1常量字符型常量使用时必须用定界符英文双引号(””)、单引号(’’)或方括号([])括起来。例如:’CentralSouthUniversity’、”410075”、[教授]如果某一种定界符本身是字符型常量中的字符,就应选择另一种定界符。例如:”That’sright!”字符型常量的长度?VisualFoxpro程序设计教程3.2.1常量数值型常量就是常数,由数字(0~9)、小数点和正负号组成。数值型常量有小数形式和指数形式两种表示法。指数形式用E表示以10为底的指数,E左边的数字为尾数,右边的数字为阶码。例如:226×1018用2.26E+20表示,-3.6E-12表示-3.6×10-12。VisualFoxpro程序设计教程3.2.1常量货币型常量书写时要加上一个前置的$。在存储和计算时,采用4位小数,如果多于4位,则系统会自动将多余的小数位四舍五入。如:$3.5472869则存储为:$3.5473货币型常量不能采用指数形式。VisualFoxpro程序设计教程3.2.1常量日期型常量/日期时间型常量日期型常量要放在一对花括号中。{MM/DD/[YY]YY[,]hh[:mm[:ss]][a|p]]}日期分隔符可以是/、-等。如:{05/22/2004}、{05-22-04}日期格式受系统环境设置的影响,可根据需要进行设置。VisualFoxpro程序设计教程3.2.1常量日期型常量/日期时间型常量(1)日期格式中的世纪值

setcenturyon|off

例如:?date()setcenturyon?date()VisualFoxpro程序设计教程3.2.1常量日期型常量/日期时间型常量(2)设置日期显示格式

setdate[to]American|Ansi|…,参考P37表3.1例如:setdatetoshort?date()setdatetolong?date()VisualFoxpro程序设计教程3.2.1常量日期型常量/日期时间型常量(续)(3)设置日期分隔符setmarkto[日期分隔符]例如:setmarkto'-'?date()VisualFoxpro程序设计教程3.2.1常量日期型常量/日期时间型常量(续)(4)设置日期兼容性严格的日期格式:{^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]}日期格式检测设置:SETSTRICTDATETO[0|1|2]其中,0不进行严格的日期格式检测;1进行严格的日期格式检测(默认值);2进行严格的日期格式检测,且对CTOD和CTOT函数格式也有效。VisualFoxpro程序设计教程3.2.1常量日期型常量/日期时间型常量(5)指定日期格式中的世纪值setcenturytonCentury[ROLLOVERnYear]

当日期值用两位数字表示年时,nCentury确定了该年的世纪,默认值为19。大于等于ROLLOVER值的年份被认为是当前世纪,小于该年数的年份被认为是下个世纪,它的默认值是当前年的最后两个数字加50。若今年为2008年,相当于执行了下面命令:

setcenturyto19rollover58VisualFoxpro程序设计教程3.2.1常量日期型常量/日期时间型常量例如:(今年为2011年,ROLLOVER的默认值为61)setstrictdateto0setcenturyon?{01-01-61} &&显示1961年1月1日?{01-01-60} &&显示2060年1月1日setcenturyto22rollover50?{01-01-50} &&显示2250年1月1日?{01-01-49} &&显示2349年1月1日VisualFoxpro程序设计教程3.2.1常量逻辑型常量

表示逻辑判断结果。只有真(.T.)和假(.F.)两种值。在VisualFoxpro中,用.T.,.t.,.Y.,.y.来表示逻辑真,用.F.,.f.,.N.,.n.来表示逻辑假。(注意圆点不能省)VisualFoxpro程序设计教程3.2VisualFoxpro的常量与变量3.2.1常量3.2.2变量VisualFoxpro程序设计教程3.2.2变量在操作过程中可以改变其值的数据对象。在VisualFoxpro中变量分为字段变量、内存变量、数组变量和系统变量。确定一个变量,需要确定三个要素:变量名、数据类型和变量值。VisualFoxpro程序设计教程3.2.2变量1.命名规则2.字段变量3.内存变量4.数组变量5.系统变量VisualFoxpro程序设计教程1.命名规则使用字母、汉字、下划线和数字命名,以字母或下划线开头。除自由表中的字段名、索引的TAG标识名最多只能10个字符外,其它的命名可使用1~128个字符。为避免误解、混淆,不应使用VisualFoxpro的保留字。VisualFoxpro程序设计教程3.2.2变量1.命名规则2.字段变量3.内存变量4.数组变量5.系统变量VisualFoxpro程序设计教程2.字段变量一个数据库是由若干相关的数据表组成。字段变量就是表中的字段名,是表中最基本的数据单元。学号姓名性别出生年月……98010101张大为男98010412李丽霞女99010415郭延男99010415刘茜女VisualFoxpro程序设计教程2.字段变量(续)字段变量是一种多值变量,一个表有多少条记录,字段变量就有多少个值。字段变量当前的值是记录指针所指记录对应字段的值。使用字段变量首先要建立数据表,即定义字段变量的名字、类型和长度。字段变量的类型可以是VisualFoxpro中的任意数据类型。VisualFoxpro程序设计教程3.2.2变量1.命名规则2.字段变量3.内存变量4.数组变量5.系统变量VisualFoxpro程序设计教程3.内存变量内存变量独立于表,是内存中的临时工作单元,可以用来在程序的执行过程中保存结果。每一个内存变量都必须有一个固定的名称,以标识该内存单元的存储位置,由字母、数字和下划线组成。内存变量的类型有字符型、数值型、货币型、逻辑型、日期型、时间日期型六种。VisualFoxpro程序设计教程3.内存变量(续)内存变量的类型取决于首次接受的数据的类型。也就是说,内存变量的定义是通过赋值语句来完成的。内存变量的赋值

内存变量=<表达式>store<表达式>to<内存变量表>

问题1:STORE10TOA1,A2,A3的作用是什么?答案:将10同时赋给内存变量A1,A2,A3。VisualFoxpro程序设计教程3.内存变量(续)内存变量若与字段变量同名时,则应用如下格式进行访问,用以强调这一变量是内存变量。

M.内存变量或M->内存变量

例如:如果有“学生”表,其中有“学号”字段,然后执行下面命令: 学号=1400863 ?学号 &&显示字段变量学号 ?M->学号 &&显示内存变量学号VisualFoxpro程序设计教程3.内存变量(续)内存变量的显示DISPLAYMEMORY[LIKE<通配符>][TOPRINTER][TOFILE<文件名>]LISTMEMORY[LIKE<通配符>][TOPRINTER][TOFILE<文件名>]通配符:?表示单个字符;*表示多个字符VisualFoxpro程序设计教程3.内存变量(续)P39例3.1store"中南大学"toxx,dxd={^2005-05-16}listmemoryliked?d1=10d2="china"d11=.T.d21={^2008-08-01}displaymemoryliked?displaymemoryliked*VisualFoxpro程序设计教程3.内存变量(续)注意:除非用内存变量文件来保存内存变量值,否则,当退出VisualFoxPro系统后,内存变量也会与系统一起消失内存变量文件的建立SAVETO<内存变量文件名>[ALL[LIKE|EXCEPT<通配符>]]内存变量文件的恢复RESTOREFROM<内存变量文件名>[ADDITIVE]VisualFoxpro程序设计教程3.内存变量(续)内存变量文件的清除CLEARMEMORYRELEASE<内存变量表>[ALL[LIKE|EXCEPT<通配符>]]P40例3.2(已经建立变量a1,a2,a3,a4)listmemorylikea?savetofvaralllikea?releasea1,a2,a3listmemorylikea?restorefromfvarlistmemorylikea?VisualFoxpro程序设计教程3.2.2变量1.命名规则2.字段变量3.内存变量4.数组变量5.系统变量VisualFoxpro程序设计教程4.数组变量数组是一组有序内存变量(元素)的集合,元素可以用数组名接顺序号来表示,顺序号称为下标。同一个数组的元素可以是不同的数据类型,存放不同类型的值。VisualFoxpro程序设计教程4.数组变量(续)数组的定义数组在使用前必须要通过DIMENSION或DECLARE定义。DEMENSION<数组名>(<下标上界1>[,<下标上界2>])[,…]DECLARE<数组名>(<下标上界1>[,<下标上界2>])[,…]VisualFoxpro程序设计教程4.数组变量(续)数组的定义(续)例如:DEMENSIONa(10),b

温馨提示

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

评论

0/150

提交评论