《VisualFoxPro程序设计》第二章数据与数据运算.ppt
《《VisualFoxPro程序设计》第二章数据与数据运算.ppt》由会员分享,可在线阅读,更多相关《《VisualFoxPro程序设计》第二章数据与数据运算.ppt(61页珍藏版)》请在三一文库上搜索。
1、Visual FoxPro 6.0 程序设计.课件,-1-,第2章 数据与数据运算,2.1 Visual FoxPro的数据类型 2.2 数据存储 2.3 运算符与表达式 2.4 常用函数,提示:单击上面各个标题前的动画符号“ ” ,链接到相应的章节。,Visual FoxPro 6.0 程序设计.课件,-2-,2.1 Visual FoxPro的数据类型,1. 字符型(Character) 是用来描述非数值计算的文字数据,用字母C表示。在字符型数据中可以包含任何键盘上输入的可见字符以及汉字和标点符号。字符型数据最大宽度为254个字节。字符型的变量或字段用来存放类似名称、地址等文本信息。 2.
2、 数值型(Numeric) 是指用来计算的数据,用字母N表示。数值型数据由数字09、小数点和正负号构成。数值型数据在内存中用8个字节表示,在表中用120个字节表示。数值型数据取值范围为-0.999999999910 +0.999999999910 。数值型的变量或字段用来存放一个数量的大小。 3. 整型(Integer) 是不包含小数点及小数部分的数值,用字母I表示。整型变量用于存放整数,其优点在于比其他数值型数据占据的存储空间要小,它只用4个字节,该类型数据指用表中字段存储。,Visual FoxPro 6.0 程序设计.课件,-3-,4. 浮点型(Float) 在功能上完全等价于数值型。之
3、所以出现两个相同功能的数据类型,主要是出于兼容性的考虑。浮点型数据在内存中用8个字节表示,在表中用120个字节表示。浮点型数据的取值范围为-0.999999999910+0.999999999910。 5. 双精度型(Double) 用于存放更高精度型数据,常用于科学计算,存储精度比数值型高,可得15位精度,它占用8个字节。该类型数据不能用内存变量存储;在表中,该类型数据用双精度型字段存储。 6. 货币型(Money) 用于存放货币值,用字母Y表示。货币型只保留4位小数,超过4位,将进行四舍五入到4位,其只占用8个字节,该类型数据可以用内存变量存储。,Visual FoxPro 6.0 程序设
4、计.课件,-4-,7. 日期型(Date) 用于存放日期,用字母D表示。常用日期型格式为“年/月/日“和“年.月.日“,日期型字段的宽度是固定的,占用8个字节,其中年、月、日各占两个字节,该类型数据可以用内存变量和字段存储。 8. 日期时间型(DateTime) 是用来存放日期时间,用字母T表示。其格式为年.月.日 时:分:秒 AM或PM,它占用8个字节,该类型数据可以用内存变量和字段存储。如89/12/1 10:20:30 am。 9. 逻辑型(Logic) 是用于描述事物真假的数据,用字母L表示。它只有两个值,即“真“和“假“,可用T、t、Y、y任一个字符表示“真“,用F、f、N、n中任一
5、个字符表示“假“,其占用的宽度是固定的,为1个字节。在表中,逻辑型字段用来存放逻辑型数据。,Visual FoxPro 6.0 程序设计.课件,-5-,10. 备注型(Memo) 用于存放较长文本的字符型数据,用字母M表示。在表中,备注型字段可以存放多种信息,可以是字符文本、源程序代码等数据,其长度为4个字节,用于记录在备注项中的信息,实际上该信息并不存放在表文件中,而是存放在与表文件同名,而扩展名为“.FPT“的备注文件中。 11. 通用型(General) 是一种存放OLD嵌入式对象的数据,用字母G表示。在表中,通用型字段可以存放图片、电子表格、声音等数据,其长度为4个字节。有了这种类型字
6、段就使得Visual FoxPro 6.0成为可以保存电子表格、文档、图片等信息的全方位数据库。与备注型字段一样,通用字段数据也存入与表文件同名而扩展名为.FPT的文件中,该类型数据不能用内存变量存储。,Visual FoxPro 6.0 程序设计.课件,-6-,2.2 数据存储,2.2.1 常量 2.2.2 变量 2.2.3 内存变量的操作 2.2.4 数组,Visual FoxPro 6.0 程序设计.课件,-7-,2.2.1 常量,常量:是指在程序运行期间其值保持不变的量。 常量类型:有字符型、数值型、逻辑性、日期型、日期时间型和货币型6种。 1. 字符型常量 字符型常量(C)也叫字符串
7、,是由字符、空格或数字所组成的字串 字串两端用定界符括起来。字符型的定界符是 、 “ ”或 。 例如,北京、“Beijing奥运”、911_Usa等都是合法的字符型常量。 2. 货币型常量 货币型常量(Y)是在前面加上一个$符号的数值。例如,$280.25是一个合法的货币型常量。,Visual FoxPro 6.0 程序设计.课件,-8-,3. 数值型常量 数值型常量(N)是由数字(09)、小数点和正负号组成的,是可进行算术运算的常数。 例如,60、-1.5、+26.8、3.55E-12等都是合法的数值型常量。 4. 逻辑型常量 逻辑型常量(L)只有两个值:“真”与“假” 逻辑型常量的定界符是
8、一对点 逻辑真的表示有:.T.、.t.、.Y.、.y.;逻辑假的表示有:.F.、.f.、.N.、.n.。,Visual FoxPro 6.0 程序设计.课件,-9-,5. 日期型常量 日期型常量(D)的定界符是一对大括号 ,输入格式为yyyy/mm/dd,输出格式为mm/dd/yy或mm/dd/yyyy。 其中,mm代表月,dd代表日,yy和yyyy代表年。 例如,2008/08/08是合法的日期输入常量,07/01/97是合法的日期输出常量。 6. 日期时间型常量 日期时间型常量(T)的定界符也是一对大括号 ,它的输入格式为yyyy/mm/dd hh:mm:ss AM|PM ,输出格式为mm
9、/dd/yy hh:mm:ss AM|PM或mm/dd/yyyy hh:mm:ss AM|PM。 其中,dd代表日,yy和yyyy代表年,hh代表小时,ss代表秒,AM代表上午,PM代表下午,输入格式中的第一个mm代表月、第二个mm代表分钟,输出格式中的第一个mm代表分钟、第二个mm代表月。 例如,tt=1999/10/01 13:15:00,则输出tt值为10/01/99 01:15:00 PM。,Visual FoxPro 6.0 程序设计.课件,-10-,2.2.2 变量,变量:是指在程序运行期间其值可以被改变的量。 VFP定义了3种类型变量:字段变量、内存变量和系统内存变量。 1.变量
10、的命名 字段变量和内存变量是用户自己定义并取名的。 变量名是由字母、汉字、数字和下划线组成的,但必须以字母、汉字开头,注意不能使用VFP中的保留字。变量名的最大长度为254个英文字符(相当于128个中文字符宽度),表中的字段名最大长度为10个英文字符(相当于5个中文字符宽度)。 例如,a、b3、我的变量、IN_123、大A、A2B6等都是合法的变量名;而&sn、36Abc、*aa、THIS都不是合法的变量名。 系统内存变量名称由系统规定,用户不能对系统内存变量取名。例如,_SCREEN和_ALIGNMENT都是系统定义好的系统内存变量。,Visual FoxPro 6.0 程序设计.课件,-1
11、1-,2.字段变量 字段变量是数据库表文件结构中的数据项。 Visual FoxPro 6.0定义了13种类型的字段变量,字段变量是在建立表时定义的,它是一个多值变量,对于不同的记录,字段变量的值是不同的。 3.内存变量 内存变量是独立于数据库表文件结构之外而存在于内存中的变量,内存变量常用于存储数据处理过程中所需要的常量、中间结果等数据。 Visual FoxPro 6.0定义了6种类型内存变量,分别是字符型(C)、数值型(N)、逻辑型(L)、日期型(D)、日期时间型(T)、货币型(Y)。,Visual FoxPro 6.0 程序设计.课件,-12-,4.系统内存变量 系统内存变量的作用是控
12、制输出和显示信息的格式的变量。系统内存变量不须用户定义,它是在启动Visual FoxPro 6.0后自动生成和维护。系统内存变量名与一般内存变量有明显的区别,在系统内存变量名前都有一下划线“_”。例如,控制对齐方式的系统内存变量,系统定义的是_ALIGNMENT。 需要注意的是:如果内存变量与打开的当前表文件的字段同名时,则字段名优选。若此时要调用同名的内存变量,则必须在变量前加上“M-”或“M.”作为前缀,用以强调这一变量是内存变量。 例如,如果在命令窗口中定义的变量与打开的表中的变量使用了同一个名称B,则命令?B,M-B,M.B里的第一个B是表中的字段变量,后两个B都是指的内存变量B。,
13、Visual FoxPro 6.0 程序设计.课件,-13-,2.2.3 内存变量的操作,1内存变量赋值命令 (1)STORE命令 STORE命令的格式如下: STORE TO | 该命令用于计算的值,并将的值赋给内存变量表中的每一个变量。中可以是一个变量,也可以是多个变量,若是多个变量,各变量间用逗号隔开。 (2)等号赋值命令 等号赋值命令的格式如下: | = 该命令用于计算的值,并将的值赋给内存变量。,Visual FoxPro 6.0 程序设计.课件,-14-,【例2-1】给内存变量赋值的示例。 在命令窗口输入以下命令: STORE 10 TO X,Y,Z &给变量X、Y、Z赋值 A=“
14、中国北京“ &给变量A赋值 b1=18 &给变量b1赋值 b2=b1+10 &将28赋值给变量b2 M=Visual FoxPro 6.0 &给变量M赋值,Visual FoxPro 6.0 程序设计.课件,-15-,2显示表达式的值 该命令的格式如下: ?/? 该命令用于依次计算中表达式的值,并将表达式表的值在屏幕上输出。?号后不加表达式时,输出一个空行。 【例2-2】在例2-1的基础上,接着在命令窗口输入以下命令: ?A &显示变量A的值 ?b1+100 &显示表达式b1+100的值 ? &显示空行 ?X,Y,Z &显示变量X、Y、Z的值,Visual FoxPro 6.0 程序设计.课件
15、,-16-,3内存变量的显示命令 显示内存变量命令的格式如下: LIST|DISPLAY MEMORY LIKETO PRINTER|TO FILE 该命令用于显示当前已定义的内存变量名、作用范围、类型和值。 LIKE子句表示显示与通配符相匹配的内存变量。 TO PRINTER子句表示能将屏幕显示内容输出到打印机。 TO FILE 子句表示能将屏幕显示内容存入文件。,Visual FoxPro 6.0 程序设计.课件,-17-,4内存变量的保存与恢复命令 在命令窗口定义的内存变量如果需要保存的话,可以保存为扩展名为.mem文件,再次使用时可以从文件中恢复。 (1)保存内存变量的命令 该将命令窗
16、口定义的内存变量保存到扩展名为.mem的文件中, 格式: SAVE TO (2)恢复内存变量的命令 该命令用于将扩展名为.mem的文件中存储的变量恢复成内存变量。 格式: RESTORE FROM ,Visual FoxPro 6.0 程序设计.课件,-18-,5内存变量的清除命令 清除内存变量的命令有CLEAR和RELEASE两个。 (1)CLEAR命令 CLEAR该命令用于清除内存中的所有内存变量,其格式: CLEAR MEMORY|ALL 注意:CLEAR命令中的MEMORY或ALL不可省略;如只使用CLEAR,则只清除主窗口显示内容,并没清除内存变量。 (2)RELEASE命令 该命令
17、用于从内存清除指定的内存变量,其格式如下: RELEASE ALL LIKE|EXCEPT 其中,表示指定的内存变量。ALL LIKE子句表示清除所有与通配符相匹配的内存变量。ALL EXCEPT 子句表示清除所有与通配符不匹配的内存变量。,Visual FoxPro 6.0 程序设计.课件,-19-,【例2-3】保存、清除和恢复内存变量的示例。 在命令窗口输入以下命令: ay=奥运 &给变量ay赋值 ab=“中国北京“ &给变量ab赋值 SAVE TO MYMEM &将所有内存变量保存到MYMEM.MEM文件中 CLEAR MEMORY| &清除所有内存变量 ?ay,ab &观察结果 RES
18、TORE FROM MYMEM &将MYMEM.MEM中内存变量恢复到内存中 ?ay,ab &显示所有内存变量的值 STORE 北京 TO a1,b,c &给变量a1,b,c赋值 RELEASE a1 &清除内存变量a1 RELEASE all except a* &清除所有不以a开头的内存变量 ? b,c &观察结果 ? ay,a1 &观察结果 RELEASE all like a* &清除所有以a开头的内存变量 ? ay,a1 &观察结果,Visual FoxPro 6.0 程序设计.课件,-20-,2.2.4 数组,数组:是一组有序内存变量的集合。数组中的各个变量称为数组元素,每个数组可
19、以通过数组名和下标来访问。数组必须先定义后使用。 1. 数组的定义 定义数组的格式如下: DIMENSION| DECLARE (,) ,(,) 该命令用于定义一个一维或二维数组,同时定义该数组的下标的上限。 定义数组时需要注意以下几点: 定义数组时必须指定数组名、数组的维数、数组的大小。系统规定数组的下标的下限是1。 在同一运行环境中,数组名不能与简单内存变量同名。在可以使用简单内存变量的地方,均可使用数组元素。 数组中各个元素在数组中的位置由下标表示。,Visual FoxPro 6.0 程序设计.课件,-21-,例如,DIMENSION A(3) 就定义了一个一维数组A。 其中,A含有3
20、个元素(也可称为分量),分别是A(1)、A(2)和A(3); 例如,DIMENSION M(2,2) 就定义了一个二维数组M。 其中, M含有4(22)个元素(也可称为分量),分别是M(1,1)、M(1,2)、M(2,1)和M(2,2),或对应M(1)、M(2)、M(3)、M(4)。 注意: 使用命令DIMENSION M(2,2)定义好数组M后,其中数组元素就有两种表示形式:第1个数组元素是M(1,1)或M(1)、第2个数组元素是M(1,2)或M(2)、第2个数组元素是M(2,1)或M(3)、第4个数组元素是M(2,2)或M(4)。,Visual FoxPro 6.0 程序设计.课件,-22
21、-,2. 数组元素赋值 用赋值命令可以对数组元素赋值,也可以对数组中的所有元素赋同一值。 数组定义后,数组中各个元素的初始值是.F.。数组中各个元素的取值类型可以互不相同,由它接受的数据的类型所决定。 【例2-4】定义数组,给数组元素赋值并显示出数组元素中储存的数据值。 在命令窗口输入以下命令: DIMENSION A(5) STORE 8 TO A(1),A(2) A(4)=北京 ? A(1),A(2),A(3),A(4),A(5) 输出结果为: 8 8 .F. 北京 .F.,Visual FoxPro 6.0 程序设计.课件,-23-,3. 数组与表之间的数据传送 (1)表中字段值传输到数
22、组 SCATTER FIELDSMEMOTOBLANK 该命令将表的当前记录从指定字段表中的第一个字段内容开始,依次复制到数组中的各个数组元素中。如果不使用FIELDS短语指定字段,则复制除备注型M和通用型G之外的全部字段。若选用MEMO短语,则同时复制备注型字段。若选用BLANK短语,则产生一个空数组,各数组元素的类型和大小与表中当前记录的对应字段相同。 (2)数组数据传输到表中字段 GATHER FROMFIELDSMEMO 该命令将数组名中各个数组元素的内容依次复制到表的当前记录中指定的字段中。如果不使用FIELDS短语指定字段,则依次向各个字段复制。如果数组元素个数多于字段数,则多余数
23、组元素的值被忽略。若选用MEMO短语,则复制时包括备注型字段。,Visual FoxPro 6.0 程序设计.课件,-24-,2.3 运算符与表达式,2.3.1 字符串运算符与字符表达式 2.3.2 算术运算符与数值表达式 2.3.3 关系运算符与关系表达式 2.3.4 逻辑运算符与逻辑表达式 2.3.5 日期运算符与日期型表达式,Visual FoxPro 6.0 程序设计.课件,-25-,2.3.1 字符串运算符与字符表达式,1. 字符串运算符 字符串的运算符有两个:+ 和 - 。 +(连接)将两个字符串首尾相连组成一个新的字符串。-(连接)将前一个字符串尾部空格移到后一个字符串尾部,然后
24、两字符串再相连组成一个新的字符串。 2. 字符型表达式 字符型表达式是使用字符串运算符将字符型项目连接起来的算式,运算结果也为字符型。 字符型表达式的格式为: 字符串运算符 例如: “中国北京 “+“奥运“的结果是:“中国北京 奥运“ “中国北京 “-“奥运“的结果是:“中国北京奥运 “,Visual FoxPro 6.0 程序设计.课件,-26-,2.3.2 算术运算符与数值表达式,1. 算术运算符 算术运算符有:+、-、*、/、*、求模、括号等。运算符的优先级从高到低排序为:()括号-(负号运算符)*或(乘幂)*、/、%(乘、除、求模)+、-(加、减)。 2. 数值型表达式 数值表达式是数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VisualFoxPro程序设计 VisualFoxPro 程序设计 第二 数据 运算
链接地址:https://www.31doc.com/p-2152691.html