首页 《Visual FoxPro程序设计(第二版)》-电子教案-王永国 第2章 VFP 基础知识

《Visual FoxPro程序设计(第二版)》-电子教案-王永国 第2章 VFP 基础知识

举报
开通vip

《Visual FoxPro程序设计(第二版)》-电子教案-王永国 第2章 VFP 基础知识第2章 VisualFoxPro基础知识本章要点1.VisualFoxPro命令的格式与书写规则2.文件类型3.数据类型4.数据存储5.表达式6.函数VisualFoxPro功能异常强大,拥有近500条命令。且其命令比一般程序设计语言中的语句更加精练、功能更强。掌握一些常用命令,可以使操作更方便、快捷、高效。本节介绍VisualFoxPro命令的一般格式及其书写规则。(1)VisualFoxPro的命令格式一条命令通常由命令动词和若于个短语组成。命令动词表明该命令执行什么操作,短语用于说明命令的操作对象、操作条件等...

《Visual FoxPro程序设计(第二版)》-电子教案-王永国 第2章 VFP 基础知识
第2章 VisualFoxPro基础知识本章要点1.VisualFoxPro命令的 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 与书写规则2.文件类型3.数据类型4.数据存储5. 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式6.函数VisualFoxPro功能异常强大,拥有近500条命令。且其命令比一般程序设计语言中的语句更加精练、功能更强。掌握一些常用命令,可以使操作更方便、快捷、高效。本节介绍VisualFoxPro命令的一般格式及其书写规则。(1)VisualFoxPro的命令格式一条命令通常由命令动词和若于个短语组成。命令动词表明该命令执行什么操作,短语用于说明命令的操作对象、操作条件等,短语有时又称为子句。VisualFoxPro命令的典型格式为:<命令动词>[<表达式表>][<范围>][FOR<条件>][WHILE<条件>][TOFILE<文件名>|TOPRINTER|TO<内存变量>]1.VisualFoxPro命令的格式与书写规则1)命令格式中各符号的含义<>:必选项[]:可选项,视具体使用要求由用户选择|:在由它所分隔的各项中选择其一...:表示此部分可以类似方法重复多次【例】LIST学号,姓名,性别FORYEAR(出生日期)=1986TOPRINTER2)命令格式中各部分功能①命令动词例如"LIST","USE","COUNT"等。②表达式表,由一个或多个逗号分隔。如:姓名+STR(总分)也是一个表达式。③范围它指定命令可以操作的记录集合。范围可有下列四种选择:ALL、NEXT<n>、RECORD<n>、REST④FOR<条件>它规定只对满足条件的记录进行操作,如果使用FOR子句VisualFoxPro将记录指针重新指向表文件顶,并且用FOR条件与每条记录进行比较。上例中的"FORYEAR(出生日期)=1986"子句,表示只选择"出生日期"为1986年的学生记录进行操作。⑤WHILE<条件>在表文件中,从当前记录开始,按记录顺序从上向下处理,一旦遇到不满足条件的记录,就停止搜索并结束该命令的执行,在FOR子句和WHILE子句中,<条件>必须返回逻辑值。⑥TOFILE<文件名>|TOPRINTER|TO<内存变量>它控制操作结果的输出,TOFILE<文件名>命令允许结果向文件输出;TOPRINTER命令允许操作结果向打印机输出;TO<内存变量>命令允许操作结果向内存变量输出。(2)VisualFoxPro命令的书写规则在VisualFoxPro中,命令的书写(或输入)规则相当灵活、方便,主要有以下几点:1)命令动词必须写在命令的最前面,而各短语的前后顺序可以任意排列。例如,下面两条命令的执行结果完全一样:LIST学号,姓名,性别FORYEAR(出生日期)=1986LISTFORYEAR(出生日期)=1986学号,姓名,性别2)命令动词与短语之间、短语与短语之间、短语的各部分之间(如短语"NEXT3"的NEXT与3之间,短语"FOR性别="女"的FOR与性别="女"之间)必须用空格分隔开。3)命令动词、各短语中的保留字及函数名在不至于引起混淆的情况下可以简写为前4个字符,而且英文字母大小写等效。例如,DISPLAY可以写成DISP或disp,但LOCAL与LOCATE则应注意。显然,大量使用简写必然会降低可读性,建议适量使用简写为佳。4)一条命令的长度可达8192个字符。当一行写不下时,可在适当位置输入续行符";"并按回车键换行,继续输入该命令。2.文件扩展名与文件类型下表列出了VisualFoxPro常用的文件扩展名及其关联的文件类型与含义。扩展名文件类型.dbc/.dct/.dcx数据库/数据库备注/数据库索引.dbf/.fpt表/表备注.prg/.fxp程序/编译后的程序.exe/.err可执行程序/编译错误.frx/.frt报表/报表备注.cdx/.idx复合索引/简单索引,压缩索引.mnx/.mnt/.mpr/.mpx菜单/菜单备注/生成的菜单程序/编译后的菜单程序.scx/.sct表单/表单备注.mem内存变量文件.pjx/.pjt项目/项目备注.qpr/.qpx查询程序/编译后的查询程序3.数据类型数据是反映客观事物属性的记录。通常分为数值型和字符型两种基本类型。数据类型一旦被定义,就确定了其存储方式和使用方式。VisualFoxPro系统为了使用户建立和使用数据库更加方便,将数据细化分为以下几种类型。(1)字符型字符型数据描述不具有计算能力的文字数据类型,是最常用的数据类型之一。字符型数据(Character)是由汉字和ASCII字符集中可打印字符(英文字符、数字字符、空格及其他专用字符)组成,长度范围是0~254个字符。(2)数值型数值型数据通常分为以下四种类型:1)数值型数值型数据(Numeric)是由数字(0~9)、小数点和正负号组成。最大长度为20位(包括+、-和小数点)。2)浮点型浮点型数据(Float)是数值型数据的一种,与数值型数据完全等价。浮点型数据只是在存储形式上采取浮点格式。3)双精度型双精度型数据(douBle)是更高精度的数值型数据。它只用于数据表中的字段类型的定义,并采用固定长度浮点格式存储。4)整型整型数据(Integer)是不包含小数点部分的数值型数据。它只用于数据表中的字段类型的定义。整型数据以二进制形式存储。(3)货币型货币型数据(currencY)用于表示货币型的量。(4)日期型日期型数据(Date)是用于表示日期的数据,用默认格式{mm/dd/yyyy}来表示。其中mm代表月,dd代表日,yyyy代表年,长度固定为8位。(5)日期时间型日期时间型数据(dateTime)是描述日期和时间的数据。其默认格式为{mm/dd/yyyyhh:mm:ss}。其中yyyy代表年,前两个mm代表月,dd代表日,hh代表小时,后两个mm代表分钟,ss代表秒,长度固定为8位。(6)逻辑型逻辑型数据(Logic)是描述客观事物真假的数据,用于表示逻辑判断结果。逻辑型数据只有真(.T.)和假(.F.)两种值,长度固定为1位。(7)备注型备注型数据(Memo)用于存放较长的字符型数据类型。可以把它看成是字符型数据的特殊形式。备注型数据没有数据长度限制,仅受限于现有的磁盘空间。它只用于数据表中的字段类型的定义,其字段长度固定为10位,而实际数据被存放在与数据表文件同名的备注文件中,长度根据数据的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 而定。(8)通用型通用型数据(General)是用于存储OLE对象的数据。通用型数据中的OLE对象可以是电子 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 、文档、图片等。它只用于数据表中的字段类型的定义。OLE对象的实际内容、类型和数据量则取决于连接或嵌入OLE对象的操作方式。如果采用连接OLE对象方式,则数据表中只包含对OLE对象的引用说明,以及对创建该OLE对象的应用程序的引用说明;如果采用嵌入OLE对象方式,则数据表中除包含对创建该OLE对象的应用程序的引用说明,还包含OLE对象中的实际数据。通用型数据长度固定为4位,实际数据长度仅受限于现有的磁盘空间。4.数据存储在VisualFoxPro系统环境下,数据输入、输出是通过数据的存储设备完成的。通常我们都是将数据存入到常量、变量、数组中,而在VisualFoxPro系统环境下,数据还可以存入到字段、记录和对象中。我们把这些供数据存储的常量、变量、数组、字段、记录和对象称为数据存储容器。(1)常量常量是一个命名的数据项,是在命令或程序中直接引用的实际值,其特征是在所有的操作中其值不变。常量有以下六种。1)数值型常量(浮点型常量:是数值型常量的浮点格式)由数字(0~9)、小数点和正负号组成。例如12、3.45、-1.678、2E-5、3.4E3等。2)货币型常量货币型常量以符号"$"开头,小数部分若超过4位,则四舍五入取4位小数。例如,$518,$22.18等。3)字符型常量由汉字和ASCII字符集中可打印字符组成的字符串,使用时必须用定界符括起来。例如,"计算机",'123',[数据],['IBM'"PC"]。注意:不包含任何字符的字符串("")叫空串,它与包含空格的字符串("")不同。4)逻辑型常量由表示逻辑判断结果“真”或“假”符号组成。逻辑真的常量表示形式有:.T.、.t.、.Y.和.y.;逻辑假的常量表示形式有:.F.、.f.、.N.和.n.,但系统将一律接收为.T.或.F.。前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用一个字节。5)日期常量用于表示日期,日期型常量的格式有两种: 传统的日期格式系统默认的日期型数据为美国日期格式(mm/dd/yy,月/日/年),传统日期格式中的月、日各为2位数字,而年份可以是2位数字,也可以是4位数字。这种格式的日期型常量要受到命令语句SETDATE和SETCENTURY设置的影响,也就是说,在不同的设置状态下,计算机会对同一个日期型常量做出不同的解释。 严格的日期格式{^yyyy-mm-dd},用这种格式书写的日期常量能表达一个确切的日期,它不受SETDATE等语句设置的影响。6)时间日期型常量用于表示时间日期,其规定格式以{^yyyy/mm/ddhh:mm:ss}表示,如{^2002-08-2,11:30P},{^2001-10-1,3}。常量可以在VisualFoxPro的命令窗口中通过以下命令创建或释放:#DEFINE常量名常量值&&常量的创建#UNDEF常量名&&常量的释放常量名是指以字母或下划线开始,后面可以跟任意个字母或数字的字符串。如X1、CONST_1等(注意:在VisualFoxPro的常量名中字母的大小写具有同样含义)。常量值是指常量名所代表的数值。例如:#DEFINEPI3.14159一但通过"#DEFINE常量名常量值"命令定义了一个常量名后,则在以后的应用中可以用此常量名代表常量出现,但不能对符号常量重新赋值,直到遇见"#UNDEF常量名"命令释放定义或程序结束为止。在命令操作或程序执行过程中,其值可以改变的量称为变量。VisualFoxPro的变量分为字段变量和内存变量两大类。由于表中的各条记录对同一个字段名可能取值不同。因此,表中的字段名就是变量,称为字段变量。内存变量是内存中的一个存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。在VisualFoxPro中,变量的类型可以改变,也就是说,可以把不同类型的数据赋给同一个变量。1)内存变量内存变量又分为用户定义的内存变量(通常简称内存变量)和系统内存变量(通常简称系统变量),此外,还可以使用数组,它是按一定顺序排列的内存变量。内存变量与字段变量不同,它独立于数据库文件而存在,用来保存在命令或程序执行中临时用到的输入、输出或中间数据,由用户根据需要定义或删除。(2)变量每一个变量都有一个名字,称为变量名,可以通过变量名访问变量。内存变量命名规则有3条:.以字母、汉字或下划线开头;.由字母、汉字、下划线或数字组成;.长度不超过128个字符。例如,X1、姓名、XM、Name、name_23、_my2002等都是合法的内存变量名。内存变量的数据类型包括字符型(C)、数值型(N)、货币型(Y)、逻辑型(L)、日期型(D)、日期时间型(T)和S(屏幕型)7种,其类型与所赋值的类型一致。①简单内存变量内存变量是内存中的临时单元,当退出VisualFoxPro系统后,内存变量也会与系统一起消失,除非使用内存变量文件来保存内存变量值。在VisualFoxPro中,简单内存变量的赋值和输出,可以使用STORE、"="或"?"命令进行。数组是一组有序内存变量的集合。或者说,数组是由同一个名字组织起来的简单内存变量的集合,其中每一个内存变量都是这个数组的一个元素,它是由一个以行和列形式表示的数组元素的矩阵。所谓的数组元素是用一个变量名命名的一个集合体,而且每一个数组元素在内存中独占一个内存单元。为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的。与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLARE命令创建,规定数组是一维数组还是二维数组,数组名和数组大小。数组大小由下标值的上、下限决定,下限规定为1。创建数组的命令格式为:DIMENSION|DECLARE<数组名>(<下标上限1>[,<下标上限2>])[,……]数组创建后,系统自动给每个数组元素赋以逻辑假.F.。例如:DIMENSIONX(3),Y(2,3)命令定义了一个一维数组X与二维数组Y,它们分别有3个元素与6个元素。X(1)、X(2)、X(3)Y(1,1)、Y(1,2)、Y(1,3)、Y(2,1)、Y(2,2)、Y(2,3)②数组在使用数组和数组元素时,应注意如下问题:·在一切使用简单内存变量的地方,均可以使用数组元素。·在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。·在同一个运行环境下,数组名不能与简单变量名同名。·在赋值语句中的表达式位置不能出现数组名。·可以用一维数组的形式访问二维数组。③系统变量系统变量是VisualFoxPro提供的内存变量,系统变量名都以下划线开头,用于控制鼠标器、打印机等外部设备和屏幕输出格式,或者处理有关计算器、日历、剪贴板等方面的信息。例如:ACTIVATEWINDOWCALCULATOR_CALCVALUE=56.8_CLIPTEXT="面向21世纪教材"该命令是将字符串"面向21世纪教材"存人剪贴板中。2)字段变量VisualFoxPro中的字段变量的变量名就是表的字段名;字段变量的数据类型,就是表中该字段定义时所规定的数据类型;字段变量的宽度,就是定义表结构时对该字段宽度的定义,有关字段的定义以及有关表结构的建立将在以后介绍。字段变量的操作方法与内存变量的操作方达基本相同、只是字段变量的值来源于表,而内存变量的值则是通过赋值操作赋给的。3)变量的优先级在VisualFoxPro的变量层次中,当内存变量名与字段变量名同名时,系统优先引用字段变量。如果要引用内在变量,可以在内存变量名前加前缀"M."(或M->)以示区别。VisualFoxPro的内存变量与其它高级语言中的变量有所不同,它不需事先说明类型,数据类型是根据当前所存储的数据的类型决定的。因此,必须首先给所使用的内存变量赋一个值,这个变量才可以使用,否则系统返回提示"变量未找到!"①内存变量的赋值【格式1】<内存变量名>=<表达式>【功能】将<表达式>的值赋予由<内存变量名>所指定的内存变量【格式2】STORE<表达式>TO<内存变量名表>【功能】将<表达式>的值赋予由<内存变量名表>所指定的一个或若干个内存变量4)内存变量及其操作【注意】.等号一次只能给一个内存变量赋值。STORE命令可以同时给若干个变量赋予相同的值,各内存变量名之间必须用逗号分开。.在VisualFoxPro中,一个变量在使用之前并不需要特别的声明或定义。当用STORE命令给变量赋值时,如果该变量并不存在,那么系统会自动建立它。.可以通过对内存变量重新赋值来改变其内容和类型。例:name="张三"name=3STOREname+1TOx,y,z②内存变量的输出【格式】?|??<表达式表>【功能】在当前行的光标所在处的下一行或当前行显示<表达式表>各表达式的值。③内存变量的显示【格式】LIST|DISPLAYMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]【功能】.显示或打印输出内存变量工作区的信息,包括己定义的内存变量名称、类型、内容、个数、已占内存总字节数,及剩余的可用内存变量空间。其中LIKE短语指出包括或不包括与通配符相匹配的内存变量。在通配符中可以使用"?"和"*"。这里"?"代表任意一个,"*"表示任意多个,使用方法同MS-DOS中的用法一致。.LIST为连续滚动显示;DISPLAY为分屏显示。.选用TOPRINT短语时,将结果在显示的同时送往打印机输出。TOFILE<文件名>将结果存入扩展名为.TXT的文件中。④内存变量的保存与恢复【格式】SAVETO<文件名>ALL[LIKE|EXCEPT<通配符>]【功能】将选定的内存变量存储到<文件名>所指定的内存变量文件中,系统默认的文件扩展名为.MEM【格式】RESTOREFROM<文件名>[ADDITIVE]【功能】将<文件名>所指定的内存变量文件中保存的内存变量恢复到内存。选用ADDITIVE短语则保留现行内存变量,再把文件中的变量添加进来。否则,覆盖原有的内存变量。⑤内存变量的清除【格式1】CLEARMEMORY【功能】清除当前内存中全部已定义的内存变量。【格式2】CLEARALL【功能】为恢复系统初态命令。释放所有内存变量,关闭所有各类文件,包括数据库文件、索引文件、过程文件,并选择1号工作区。【格式3】RELEASE<内存变量名表>【功能】清除指定的内存变量。【格式1】RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]【功能】选用ALLLIKE短语则只清除与通配符相匹配的内存变量。选用ALLEXCEPT短语则清除除了与通配符相匹配之外的内存变量。【例】X=1Y="IBM-PC"Z=$760.8X1=.T.X2={^2002-08-06}?X,X1,Y,ZLISTALLLIKEX?SAVETOMYMEMRELEASEALLLIKEX?DISPLAYMEMORESTOREFROMMYMEM5.表达式表达式是由数据、数据存储容器和运算符组成的运算式。在用VisualFoxPro编写的程序里,表达式几乎无处不在。大多数命令中都包含表达式语法成分,表达式使这些命令的功能更加灵活、强大。表达式的形式包括:1)单一的运算对象(如常量、变量或函数);2)由运算符将运算对象连接起来形成的式子。无论是简单的还是复杂的合法表达式,按照规定的运算规则均能计算出一个结果,即表达式的值。根据表达式值的类型,表达式可分为数值表达式、字符表达式、日期时间表达式、关系表达式和逻辑表达式5种。(1)算术表达式算术表达式可由算术运算符和数值型常量、数值型内存变量、数值型数组、数值类型的字段、返回数值型数据的函数组成。算术表达式的运算结果是数值型常数。算术运算符及其运算示例如下:字符表达式可由字符运算符和字符型常量、字符型内存变量、字符型数组、字符型类型的字段和返回字符型数据的函数组成。字符表达式运算的结果是字符常数或逻辑型常数。字符运算符及示例如下:算术运算符优先级及示例一览表(2)字符表达式 优先级 运算符 说明 示例 结果 1 () 括号 2*(1+2) 6 2 **或^ 乘方 2**3 8 3 *、/ 乘、除 3*6/2 9 4 % 求余 8%3 2 5 +、- 加、减 3+8-2 9字符运算符及示例一览表时间日期表达式可由日期运算符和时间日期型常量、时间日期型内存变量和数组、返回时间日期型数据的函数组成。时间日期表达式运算的结果是时间日期型常数。(3)时间日期表达式 运算符 说明 示例 结果 + 前后两个字符串首尾连接形成一个新的字符串 "信息"+"科学" "信息科学" - 将前面字符串的尾部空格移到后面的字符串尾部,再连接 "信息"-"科学" "信息科学"(4)关系表达式时间日期运算符及示例一览表关系表达式可由关系运算符和字符表达式、算术表达式、时间日期表达式组成。其运算结果为逻辑型常量。关系运算是运算符两边同类型元素的比较,关系成立结果为(T);反之,结果为(F)。 运算符 说明 示例 结果 + 相加 {^1998/03/05}+2{^1998/03/059:15:20}+2 {03/07/98}{03/05/9809:15:22AM} - 相减 {^1998/03/05}-{^2002/08/04}{^1998/03/0509:17}-{^2002/08/0408:19:20} -1613-139359740关系运算符及示例一览表 运算符 说明 示例 结果 < 小于 3*2<10,"信息"<"科学" .T..F. > 大于 3>2 .T. = 等于 {^2002-08-01}={^2002-08-04} .F. <>或#或!= 不等于 4<>6 .T. <= 小于或等于 3*2<=6 .T. >= 大于或等于 15>=8+2 .T. == 字符串精确比较 "AB"=="AB" .F. $ 子串包含测试 "is"$"This" .T.当比较两个字符串时,系统对两个字符串自左向右逐个进行较,一旦发现两个对应字符不同,就根据这两个字符的排序序列决定这两个字符串的大小。运算符==和$仅适用于字符型数据,其他运算符适用于任何类型的数据,但前后两个运算对象的数据类型要一致。具体情况是:数值型和货币型数据比较--按数值的大小比较,包括负号。日期或日期时间型数据比较--越早的越小,反之越大。逻辑型数据比较--.T.大于.F.子串包含测试--如果前者是后者的一个子字符串,结果为逻辑真(.T.),否则为逻辑假(.F.)。在用双等号运算符==比较两个字符串时,只有当两个字符串完全相同(包括空格以及位置)时,运算结果才会是逻辑真.T.,否则为逻辑假.F.。在用单等号运算符=比较两个字符串时,运算结果与SETEXACTON|OFF(默认)设置有关。当处于ON状态时,先在较短字符串的尾部加上若干个空格,使两个字符串的长度相等,然后再进行比较。逻辑表达式由逻辑运算符将逻辑型数据连接起来而形成,其运算结果仍然是逻辑型数据。逻辑运算符的优先级与运算规则如下表所示(也可以省略两端的点,写成NOT、AND、OR):(5)逻辑表达式例如,查询工资高于1800的讲师或副教授的条件可写成:工资>1800.AND.(职称=“讲师”.OR.职称=“副教授") 优先级 运算符 说明 1 () 括号 2 .NOT. 逻辑非 3 .AND. 逻辑与 4 .OR. 逻辑或前面介绍了各种表达式以及它们所使用的运算符。在每一类运算符中,各个运算符有一定的运算优先级。而不同的运算符也可能出现在同一个表达式中,这时它们的运算优先级顺序为:算术运算符、字符串运算符和日期时间运算符→关系运算符→逻辑运算符。圆括号作为运算符可以嵌套,也可以改变其他运算符的运算次序。圆括号中的内容在与其他运算对象进行种类运算前,其结果首先要被计算出来。有时候,在表达式的适当地方插入圆括号,并不是为了改变其他运算符的运算次序,而是为了提高代码地可读性。运算符优先级函数是用程序来实现的一种数据运算或转换。每一个函数都有选定的数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一个结果,称为函数值或返回值。函数的一般形式为:函数名([参数1][,参数2]…)函数调用可以出现在表达式里,表达式将函数的返回值作为自己运算的对象。函数调用也可以作为一条命令使用,但此时系统忽略函数的返回值。若函数在调用时没有参数,则称该函数称为无参函数。如LEN(X)、PI()等。一般将函数分为数值函数、字符处理函数、日期类函数、数据类型转换函数、测试函数5类,下面分类介绍常用函数的格式、功能以及典型函数的用法。数值函数数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。常用的数值函数有:6.函数 名称 格式 类型 功能 取绝对值函数 ABS(<数值表达式>) N 求数值表达式的绝对值 求符号函数 SIGN(<数值表达式>) N 求数值表达式的符号 取整函数 INT(<数值表达式>) N 求数值表达式值的整数部分 平方根函数 SQRT(<数值表达式>) N 求数值表达式的平方根 指数函数 EXP(<数值表达式>) N 求以e为底数值为指数的值 对数函数 LOG(<数值表达式>) N 求数值表达式的自然对数 求最大值函数 MAX(<数值表达式1>,…,<数值表达式n>) N 求N数中的最大值 求最小值函数 MIN(<数值表达式1>,…,,<数值表达式n>) N 求N数中的最小值 舍入函数 ROUND(<数值表达式1>,<数值表达式2>) N 对数值1进行四舍五入,数值2指定保留的小数位数 取模函数 MOD(<数值表达式>,<数值表达式>) N 求数值表达式1除以数值表达式2的余数 圆周率函数 PI() N 返回圆周率值 随机函数 RAND() N 返回(0,1)之间的数字符函数是指自变量一般是字符型数据的函数,通常一个汉字按2个半角西文字符处理。常用字符函数有:字符函数 名称 格式 类型 功能 宏替换 &<字符型内存变量>[.] C 替换字符型内存变量的内容 删左空格 LTRIM(<C型表达式>) C 删除字符串左边的所有空格 删右空格 RTRIM(<C型表达式>)TRIM(<C型表达式>) C 删除字符串右边的所有空格 删左右空格 ALLTRIM(<C型表达式>) C 删除字符串左边和右边的所有空格 子串搜索 AT(<字符型表达式1>,<字符型表达式2>) N 搜寻字符串1在字符串2中出现的位置 左截子串 LEFT(<字符型表达式>,<数值表达式>) C 从字符串首字符开始向右截取字符,截取字符个数由数值表达式确定 右截子串 RIGHT(<字符型表达式>,<数值表达式>) C 从字符串末字符开始向左截取字符,截取字符个数由数值表达式确定 名称 格式 类型 功能 子串选取 SUBSTR(<字符型表达式>,<起始位置>[,<长度>]) C 在字符型表达式表示的字符串中,从左到右,自起始位置起选取指定长度子串 生成空格 SPACE(<数值表达式>) C 产生长度由数值表达式确定的一串空格 字符重复 REPLICATE(<C型表达式>,<N型表达式>) C 重复字符型表达式内容,重复次数由数值表达式确定 字符串长度 LEN(<字符型表达式>) N 求字符串的长度 子串替换 STUFF(<字符型表达式1>,<起始位置>,<长度>,<字符型表达式2>) C 用<字符型表达式2>的值替换在<字符型表达式1>表示的字符串中从左到右自<起始位置>起选取指定<长度>的子串常用日期和时间函数 名称 格式 类型 功能 系统时间 TIME() C 返回当前的系统时间 系统日期 DATE() D 返回当前的系统日期 日期时间 DATETIME() T 返回当前的系统日期和时间 年函数 YEAR(<D或T型表达式>) N 从表达式中求出年份数值 月函数 MONTH(<D或T型表达式>) N 从表达式中求出月份数值 文字月 CMONTH(<D或T型表达式>) C 从表达式中求出月份名 日函数 DAY(<D或T型表达式>) N 从表达式中求出日份数值 星期函数 DOW(<D或T型表达式>) N 从表达式中求出星期数值 文字星期 CDOW(<D或T型表达式>) C 从表达式中求出星期名 时函数 HOUR(<T型表达式>) N 从表达式中求出小时数值 分函数 MINUTE(<T型表达式>) N 从表达式中求出分数值 秒函数 SEC(<T型表达式>) N 从表达式中求出秒数值数据类型转换函数数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。常用数据类型转换函数有: 名称与格式 类型 功能 ASC(<字符型表达式>) N 将字符串首字符转换成对应ASCII码值 CHR(<数值表达式>) C 将ASCII码值转换成对应字符 STR(<数值表达式>[,<长度>][,<小数值>]) C 将数值型数据转换成字符型数据,长度和小数值分别指出结果字符串的长度和小数位数 VAL(<字符型表达式>) N 将字符型数据转换成数值型数据 CTOD(<字符型表达式>) D 将字符型数据转换成日期型数据 DTOC(<日期或日期时间型表达式>[,1]) C 将日期或日期时间型数据转换成字符型数据,若选参数1,则输出格式为年月日:yyyymmdd测试函数在数据处理过程中,有时用户需要了解操作对象的状态。例如,要使用的文件是否存在、数据库的当前记录号、是否到达了文件尾、检索是否成功、某工作区中记录指针所指的当前记录是否有删除标记、数据类型等。尤其是在运行应用程序时,常常需要根据测试结果来决定下一步或程序走向。常用测试函数的有: 名称 格式 类型 功能 数据类型测试 VARTYPE(<表达式>) C字符或备注型G通用型N数值型D日期型Y货币型T日期时间型L逻辑型XNull值O对象型U未定义 返回<表达式>的数据类型 按键测试 INKEY([<表达式>]) N数值型 返回按键的ASC码值 名称 格式 类型 功能 "空"值测试 EMPTY(<表达式>) L 测试<表达式为>的值是否为"空"值 文件测试 FILE(<文件名>) L 判定指定文件是否存在 表尾测试 EOF([<区号>|别名]) L 判断记录指针是否指向文件尾 表首测试 BOF([<区号>|别名]) L 判断记录指针是否指向文件头 记录号测试 RECNO([<区号>|别名]) N 返回记录指针所指向记录的记录号 记录个数测试 RECCOUNT([<区号>|别名]) N 返回数据库文件的记录个数 记录删除测试 DELETED([<别名>|<区号>]) L 测试记录指针所指向的记录是否有删除标记 查找测试 FOUND() L 测试满足条件的记录是否找到 大小写转换 UPPER(字符表达式) C 小写转大写 LOWER(字符表达式) C 大写转小写显示信息函数格式:MESSAGEBOX(提示文本[,对话框类型[,对话框标题]])功能:显示用户定义的对话框,对话框类型一般为:按钮数值+图标形状值+默认值构成。对话框的类型及含义见下表。 按钮数 值 0 1 2 3 4 5 含义 确定 确定取消 终止重试忽略 是否取消 是否 重试取消 图标形状 值 16 32 48 64 含义  ? ! i 默认 值 0 256 512 含义 默认第1个 默认第2个 默认第3个 返回 值 1 2 3 4 5 6 7 含义 确定 取消 终止 重试 忽略 是 否【例】定制一个要求用户确认是否退出的对话框?MESSAGEBOX(“确认退出吗?”,4+32+0,“提示信息”)显示结果:IIF函数格式:IIF(<条件>,<表达式1>,<表达式2>)功能:当条件表达式为.T.时返回<表达式1>的值,否则返回<表达式2>的值思考题1.VisualFoxPro6.0有几种数据类型?2.VisualFoxPro6.0有几种数据存储容器?3.内存变量、数组变量、字段变量有何区别?4.VisualFoxPro6.0有几种类型的函数?5.VisualFoxPro6.0有多少种类型的表达式,它们的计算规则是什么?实验题目实训3VisualFoxPro语言基础1.熟悉VisualFoxPro的数据类型;2.掌握内存变量、数组的使用;3.掌握表达式的组成及应用;4.掌握常用内部函数的格式与用途。(详见配套实训)
本文档为【《Visual FoxPro程序设计(第二版)》-电子教案-王永国 第2章 VFP 基础知识】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥12.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
科技制造的艺术美
暂无简介~
格式:ppt
大小:592KB
软件:PowerPoint
页数:0
分类:工学
上传时间:2019-11-02
浏览量:24