第二章VisualFoxPro基础及数据运算

上传人:cl****1 文档编号:586355813 上传时间:2024-09-04 格式:PPT 页数:95 大小:365.50KB
返回 下载 相关 举报
第二章VisualFoxPro基础及数据运算_第1页
第1页 / 共95页
第二章VisualFoxPro基础及数据运算_第2页
第2页 / 共95页
第二章VisualFoxPro基础及数据运算_第3页
第3页 / 共95页
第二章VisualFoxPro基础及数据运算_第4页
第4页 / 共95页
第二章VisualFoxPro基础及数据运算_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《第二章VisualFoxPro基础及数据运算》由会员分享,可在线阅读,更多相关《第二章VisualFoxPro基础及数据运算(95页珍藏版)》请在金锄头文库上搜索。

1、第第二二章章Visual FoxPro基础及数据运算基础及数据运算2024/9/41目录上页下页退出 本本 章章 目目 录录第一节第一节 Visual FoxProVisual FoxPro系统简介系统简介 第二节第二节 Visual FoxProVisual FoxPro的数据及其运算的数据及其运算 第三节第三节 常用函数常用函数2024/9/42目录上页下页退出第一节第一节Visual FoxProVisual FoxPro系统简介系统简介 Visual FoxPro 6.0系统是一个关系型 DBMS,是微软公司1998年推出的可视化语言集成包Visual Studio 6.0系统中的一个

2、产品。 能运行于各种平台上的32位数据库开发系统。2024/9/43目录上页下页退出 一、一、 Visual FoxPro Visual FoxPro 的特点的特点 Visual FoxPro 具有界面友好、工具丰富、速度较快等优点,并在数据库操作与管理、可视化开发环境、面向对象程序设计等方面具有较强的功能。其特点主要体现在以下几方面: (1)兼容性好 (2)应用程序的开发更简便 (3)改进了程序调试工具 (4)更简便的表设计和扩充内容的数据字典 (5)增强了查询和视图设计功能 (6)增强了表单设计功能 (7)更多更好的向导 (8)增强了OLE与ActiveX的集成2024/9/44目录上页下

3、页退出二、二、Visual FoxPro 6.0Visual FoxPro 6.0的安装与启动的安装与启动1 1最低运行环境最低运行环境(1)486DX/66MHZ或更高的处理器。(2)16M以上内存。(3)硬盘空间:典型安装需要85M,最大安装需要90MB。(4)VGA或更高分辨率以上的显示器。(5)操作系统:Windows95或98以上。2Visual FoxPro 6.0系统的系统的安装安装(1)将Visual FoxPro 6.0系统光盘插入光驱。(2)打开光盘,找到setup.exe文件,双击该文件,运行 安装向导。(3)按安装向导的提示,单击“下一步”按钮进行安装。 (4)进入系统

4、安装界面,根据提示按步操作,直到安 装完毕。 2024/9/45目录上页下页退出3Visual FoxPro 6.0的启动与退出的启动与退出启动启动Visual FoxPro 6.0Visual FoxPro 6.0常用方法:常用方法:(1)单击“开始”菜单,选择“程序”,从级联菜单中单击Visual FoxPro 6.0。(2)双击桌面建立的Visual FoxPro 6.0的快捷 图标。Visual FoxPro 6.0Visual FoxPro 6.0的退出有以下四种方法:的退出有以下四种方法:(1)单击VFP窗口标题栏右边的关闭按钮。(2)在VFP“文件”下拉菜单中选择“退出”。(3)

5、按快捷键ALT+F4.(4)在VFP的命令窗口中输入命令QUIT。 2024/9/46目录上页下页退出三、三、Visual FoxPro 6.0Visual FoxPro 6.0用户界面用户界面Visual FoxPro 6.0的主窗口包括:标题栏、菜单栏、常用工具栏、状态栏、命令窗口和主窗口工作区几个组成部分。 2024/9/47目录上页下页退出 四、四、 Visual FoxPro 6.0Visual FoxPro 6.0的操作方式的操作方式 Visual FoxPro 6.0系统为用户提供了几种各具特点的操作方式,用户可根据情况以及应用的需要,选择合适的操作方式,实现数据库的操作、应用。

6、 Visual FoxPro 6.0系统的操作方式主要有: (1)命令操作方式 (2)菜单操作方式 (3)程序操作方式2024/9/48目录上页下页退出 1命令操作方式命令操作方式 命令操作是在命令窗口中逐条输入命令,直接操作指定对象的操作方式。命令操作为用户提供了一个直接操作的手段,其优点是能够直接使用系统的各种命令和函数,有效操纵数据库,但要求熟练掌握各种命令和函数的格式、功能、用法等细节;2024/9/49目录上页下页退出 2菜单操作方式菜单操作方式 Visual FoxPro 6.0系统将许多命令做成菜单命令选项,用户通过选择菜单项来使用数据库的操作方式。在菜单方式中,很多操作是通过调

7、用相关的向导、生成器、设计器工具,以直观、简便、可视化方式完成对系统的操作,用户不必熟悉命令的细节和相应的语法规则,通过对话来完成操作。有了这种方式,一般用户无需编程就可完成数据库的操作与管理; 2024/9/410目录上页下页退出 3程序操作方式程序操作方式 程序操作就是预先将实现某种操作处理的命令序列编成程序,通过运行程序来实现操作、管理数据库的操作方式。根据实际应用需要编写的应用程序,能够为用户提供界面更简洁直观、操作步骤更符合业务处理流程和规范要求的操作应用环境。但程序的编制,需要经过专门训练,只有具备一定设计能力的专业人员方能胜任,普通用户很难编写大型的、综合性较强的应用程序。 20

8、24/9/411目录上页下页退出 Visual FoxPro 6.0系统环境的设置 Visual FoxPro 6.0系统的环境设置决定了系统的操作运行环境和工作方式,设置是否合理、适当,直接影响系统的操作运行效率和操作的方便性。系统安装时按默认方式进行了相应的设置,用户通过设置系统环境,可添加或删除Visual FoxPro 6.0的相关组件,也可对系统当前环境重新调整设置。添加或删除Visual FoxPro 6.0组件的操作,要通过系统安装程序来实现,而当前环境的设置可通过相关命令和菜单操作方式来实现。 环境设置包括主窗口标题、默认目录、项目、编辑器、调试器及表单工具选项、临时文件存储、

9、拖放字段对应的控件和其他选项等内容。 运用“选项”对话框或SET命令进行附加的配置设定,还可以通过配置文件进行设置。2024/9/412目录上页下页退出 1Visual FoxPro 6.0的设计器的设计器 Visual FoxPro 6.0提 供 的 一 系 列 设 计 器(Designers),为用户提供了一个友好的图形界面操作环境,用以创建、定制、编辑数据库结构、表结构、报表格式、应用程序组件等。 Visual FoxPro 6.0提供的设计器及其功能如下表所示。 表设计器 查询设计器 视图设计器 表单设计器 报表设计器 标签设计器 数据库设计器 数据库设计器 连接设计器 菜单设计器 数

10、据环境设计器 五、五、Visual FoxPro 6.0Visual FoxPro 6.0常用工具常用工具2024/9/413目录上页下页退出 2. Visual FoxPro 6.0的向导的向导 Visual FoxPro 6.0系统为用户提供了许多功能强大的向导(Wizards)。用户可以在向导程序的引导、帮助下,不用编程就能快速地建立良好的应用程序,完成许多数据库操作、管理功能,为非专业用户提供了一种较为简便的操作使用方式。 Visual FoxPro 6.0系统提供的向导及其功能如下表所示。表向导 报表向导 一对多报表向导 标签向导 分组/总计报表向导 表单向导 一对多表单向导 查询向

11、导 交叉表向导 本地视图向导 远程视图向导 导入向导 文档向导 图表向导 应用程序向导 SQL升迁向导 数据透视表向导 安装向导 2024/9/414目录上页下页退出 3. 3. Visual FoxPro 6.0Visual FoxPro 6.0的生成器的生成器 Visual FoxPro 6.0系统提供了若干个生成器,用以简化创建、修改用户界面程序的设计过程,提高软件开发的质量和效率。每个生成器包含若干个选项卡,允许用户访问并设置所选择对象的相关属性。用户可将生成器生成的用户界面直接转换成程序编码,使用户从逐条编写程序代码、反复调试程序的手工作业中解放出来。 Visual FoxPro 6

12、.0提供的生成器及功能如下表所示。 自动格式化生成器 组合框生成器 命令组生成器 编辑框生成器 表达式生成器 表单生成器 网格生成器 列表框生成器 选项组生成器 文本框生成器 参照完整性生成器 2024/9/415目录上页下页退出六、六、Visual FoxPro 6.0Visual FoxPro 6.0命令语法命令语法1 1一般的命令格式一般的命令格式 范范围围FORFORWHILEWHILE FIELDS FIELDS Visual FoxPro 6.0中常用短语介绍: FIELDS子句用来规定当前处理的字段或表达式。 范围子句用来规定对表进行操作的记录的范围。通常有以下四种范围:ALL:

13、ALL: 对表中所有记录进行操作。NEXT N:NEXT N: 只对包括当前记录在内的连续N条记录进行操作。RECORD N:RECORD N: 只对第N条记录进行操作。REST:REST: 从当前记录开始(含当前记录)到表尾的所有记录。2024/9/416目录上页下页退出 FORFOR子句和WHILEWHILE子句FOR的作用是:在规定的范围内,按条件检查全部记录。 WHILE的作用是:在规定的范围内,只要条件成立,就对当前记录执行该命令,并把记录指针指向下一条记录,一旦遇到条件不满足的记录,就停止查找并结束该命令的执行。若同时使用FOR子句和WHILE子句,则WHILE有较高的优先级。 2

14、024/9/417目录上页下页退出例例: : 读者表内容如下,分析以下命令的运行结果。 USE 读者LIST NEXT 4 LIST REST LIST FIELDS 学号,姓名,入学成绩LIST FOR 性别= “男” LIST WHILE 性别= “男” USE 2024/9/418目录上页下页退出2Visual FoxPro 6.0命令的书写规则命令的书写规则 (1)命令动词必须写在一条命令的最前面,而后面子句的次序可以任意排列。(2)命令行中,命令动词与短语、短语与短语和短语的各部分之间必须以一个或多个空格分开。(3)命令动词、各短语中的保留字及函数名都可简写为前四个字符,且大小写无关

15、。如DISPLAY 可简写为DISP。(4)一个命令行的最大长度是254个字符,如果命令太长,一行写不下,可在行末用“;”续行。并按回车换行,在下一行继续输入该命令。(5)一行只能写一个命令。2024/9/419目录上页下页退出3符号约定符号约定 :方括号,表示是可选的项目。若选择该项目, 不要写方括号本身。:角括号,表示括号内的项目是必须要选的,但不要写角括号本身。|: 坚线号,表示两个项目中选择其中一个,但不 要写坚线号本身。 :省略号,表示前项可继续重复多次选择。 2024/9/420目录上页下页退出第二节第二节Visual FoxProVisual FoxPro的数据及其运算的数据及其

16、运算 在Visual FoxPro系统中,数据可用常量、变量、数组表示,数据还可以用字段、记录和对象,由它们存储、容纳各种类型的数据。因此,常把这些供数据存储的常量、变量、数组、字段、记录和对象等称为数据存储容器。用户正是利用不同的数据存储容器,在Visual FoxPro系统中表示、存储、操作、处理各种类型的数据,实现数据处理的应用。2024/9/421目录上页下页退出一、一、Visual FoxProVisual FoxPro的数据类型的数据类型1 1字符型字符型(charactercharacter) 用字母C表示,字符型数据包括中文字符、英文字符、数字字符和其他ASCII字符,其长度最

17、长不超过254个字符。2 2数值型数值型( (NumericNumeric) 用字母N表示,用来表示数量并可以进行算术运算的数据类型。由阿拉伯数字、正负号、小数点组成。Visual FoxPro中,具有数值特征的数据类型还有整型、浮点型和双精度型,但这三种数据类型只用于字段变量。2024/9/422目录上页下页退出3日期型日期型(Date) 用字母D表示,用来表示日期的数据类型。日期的默认 格式为: mm/mm/dd/yydd/yy 其中mm表示月,dd表示日,yy表示年。日期型数据的长度固定为8位。4日期时间型日期时间型( (DateDate Time) ) 用字母T表示,是用来表示日期和时

18、间,默认格式为: mm/mm/dd/yydd/yy hh:mm:sshh:mm:ss 其中mm,dd,yy的意义与日期型相同,hh,mm,ss分别表示时、分、秒。长度也固定为8位。 5 5逻辑型逻辑型( (Logic)Logic) 用字母L表示,用来描述客观事物真假或是非判断的数据类型。只有两个取值:真(.t.或.T.)和假(.f.或.F.),逻辑型数据长度固定为1位。2024/9/423目录上页下页退出6货币型货币型(Currency) 用字母Y表示,为存储货币值而使用的一种数据类型,它默认保留4位小数,占据8字节的存储空间。7备注型备注型(Memo) 用字母M表示,用来存放较多字符的数据类

19、型。只用于表中字段类型的定义。字段长度固定为4个字节。实际数据存放在与表文件同名的备注文件(.ftp)中,其长度依实际需要而定。8通用型通用型(General) 用字母G表示,是用来存储OLE对象的数据类型。可以是电子表格、文挡、图形、声音等,跟备注型数据一样,它只用于表中字段类型的定义,通用型数据字段长度固定为4位。2024/9/424目录上页下页退出 二、常量 常量是在命令或程序中可直接引用、具有具体值的数据项,其特征是在整个操作过程中它的值和表现形式保持不变。Visual FoxPro按常量取值的数据类型,将常量分为6种类型: 数值型常量、货币型常量、字符型常量、逻辑型常量、日期型常量、

20、日期时间型常量。2024/9/425目录上页下页退出 1字符型常量字符型常量 由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。为与其他类型常量、变量和标识符相区别,Visual FoxPro要求将字符串中所有字符,用一对双引号“”或单引号“”或方括号“”作为定界符对括起来。 如:“ I am a student.”,中华人民共和国,Visual FoxPro 6.0系统都是字符串。 2024/9/426目录上页下页退出 2 2日期型常量日期型常量 日期型常量是表示日期值的数据,其默认格式是: mm/mm/dd/yyyydd/yyyy 如10/01/02和10/01

21、/2002均表示2002年10月1日这一日期常量值。 3 3日期时间型常量日期时间型常量 Visual FoxPro系统中增加了一种表示日期和时间值的日期时间型常量,其默认格式是: mm/mm/dd/yyyydd/yyyy , hh:mm:ssa|phh:mm:ssa|p 其中a和p分别表示AM(上午)和PM(下午)。 日期值和日期时间值的输入格式与输出格式并不完全相同,特别是输出格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。 2024/9/427目录上页下页退出(1 1)日期格式中的世纪值)日期格式中的世纪值 通常日期格式中用2位数表示年份,但涉及到世纪问题就不便区分。Vi

22、sual FoxPro提供设置命令进行相应设置。 命令格式: SET CENTURY ON | OFF | TO SET CENTURY ON | OFF | TO nCenturynCentury 命令功能: ON:日期数据显示10位,其中年份4 位,即日期值输出时显示年份值; OFF:(默认值)。日期数据显示8位,年份2位,即日期值输出时不显示年份值; TO nCentury:指定日期数据所对应的世纪值。nCentury是一个199的整数,代表世纪数。 2024/9/428目录上页下页退出(2 2)设置日期显示格式)设置日期显示格式 用户可以调整、设置日期值和时间值的显示输出格式。既可以用

23、命令方式设置,也可以用菜单方式设置。 命令格式: SET SET DATE DATE TO TO AMERICAN AMERICAN | | ANSI ANSI | | BRITISH BRITISH | | FRENCH FRENCH | | GERMAN GERMAN | | ITLIAN ITLIAN | | JAPAN JAPAN | | USA USA | | MDY MDY | DMY | YMD | SHORT | LONG| DMY | YMD | SHORT | LONG 命令功能:设置日期型和日期时间型数据的显示输出格式。系统默认为AMERICAN美国格式。 如果日期格式设

24、置为SHORT或LONG格式,Visual FoxPro系统将按Windows系统设置的短日期格式或长日期格式显示输出日期数据,而且SET CENTURY命令的设置被忽略。 2024/9/429目录上页下页退出 各种日期格式设置所对应的日期显示输出格式,见表2-1所示。 表2-1 系统日期格式 设设 置置 值值 日日 期期 格格 式式 设设 置置 值值 日日 期期 格格 式式 AMERICAN mm/dd/yy USAmm-dd-yyANSIyy.mm.ddMDY mm/dd/yyBRITISH / FRENCHBRITISH / FRENCHdd/mm/yyDMY dd/mm/yy GERM

25、AN dd.mm.yy YMD yy/mm/dd ITALIAN dd-mm-yySHORTWindowsWindows短日期格式JAPAN yy/mm/ddLONGWindowsWindows长日期格式2024/9/430目录上页下页退出 (3 3)设置日期)设置日期20002000年兼容性年兼容性 通常日期型和日期时间型数据的结果,与SET DATE命令和SET CENTURY命令设置状态及当前系统时间有关。由于系统时间与相应设置不同,同一数据的结果可能有不同的解释。如日期值10/11/12可以解释为1912 年 10 月 11 日、2012 年 10 月 11 日、1912 年 11 月

26、 10 日、1910 年 11 月 12 日或者 2010 年 11 月 12 日等。这显然会导致系统混乱,而且还可能造成2000年兼容性错误,影响系统正常、有效的操作运行。2024/9/431目录上页下页退出(4 4)严格的日期格式严格的日期格式 Visual FoxPro系统增加了一种所谓严格的日期格式。不论哪种设置,按严格日期格式表示的日期型和日期时间型数据,都具有相同的值和表示形式。严格的日期格式是: yyyy-mm-dd,hh:mm:ssa|pyyyy-mm-dd,hh:mm:ssa|p 符号表明该格式是严格的日期格式,并按照 YMD 的格式解释日期型和日期时间型数据,它是严格日期格

27、式的标志,不可缺少。有效的日期型和日期时间型数据分隔符为:连字符“-”、正斜杠“/”、句点“.”和 空 格 。 如 2002-10-01、 2002-10-01 10:30:30a,分别表示2002年10月1日及该日上午10时30分30秒这两个日期数据。2024/9/432目录上页下页退出 Visual FoxPro系统默认采用严格的日期格式,并以此检测所有日期型和日期时间型数据的格式是否规范、合法。为与早期版本兼容,用户通过命令或菜单设置改变这一格式。 命令设置的命令格式: SET STRICTDATE TO 0 | 1 | 2SET STRICTDATE TO 0 | 1 | 2 命令功能

28、: 0:关闭严格的日期格式检测,即设置日期格式按传统的严格的格式; 1:设置严格的日期格式检测(默认值),要求所有日期型和日期时间型数据均按严格的格式; 2:设置与1相同,但如果程序代码中出现CTOD()和CTOT()函数时,会出现编译错误。这个设置最适合调试时使用,用来检测2000年兼容性错误; 省略:恢复系统默认值,等价于1的设置。2024/9/433目录上页下页退出 4 4逻辑型常量逻辑型常量 逻辑型常量就是表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种,分别用(.t.或.y.)和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母左右加注圆点符“.”以示区别。逻辑型

29、常量在内存中占用一个字节。2024/9/434目录上页下页退出5数值型常量数值型常量 也称常数,用来表示一个数量的大小,由数字0-9、小数点和正负符号组成。例如,12.3,-67,3.14等。也可以使用科学计数法形式表示,例如:6.789*105可表示为6.789E5。6货币型常量货币型常量 用来表示货币值,书写格式与数值型类似,但要加上一个前置的符号$。货币型数据在存储和计算时,采用4位小数,如果多于4位,那么系统自动四舍五入。货币型常量不能用科学计数法表示。 2024/9/435目录上页下页退出 三、三、 变量变量 变量是在操作过程中可以改变其取值或数据类型的数据项。在Visual Fox

30、Pro系统中变量分为字段变量、内存变量、数组变量和系统变量4类。此外,作为面向对象的程序语言,Visual FoxPro在进行面向对象的程序设计中引入了对象的概念,对象实质上也是一类变量。 确定一个变量,需要确定其三个要素:变量名、数据类型和变量值。2024/9/436目录上页下页退出 1 1命名规则命名规则 在Visual FoxPro系统中,将表示、存储数据的常量、变量、数组、字段、记录、对象、表、数据库等,都称之为数据容器。所有数据容器均需命名以相互区别,为规范各类对象的命名,Visual FoxPro系统推荐了若干“命名规则”供用户参考,以提高操作命令与程序的可读性和规范性。 使用字母

31、,下划线和数字命名。一般建议不采用汉字命名; 命名以字母或下划线开头;除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1128个字符; 避免使用 Visual FoxPro的保留字; 文件名的命名应遵循操作系统的约定。 2024/9/437目录上页下页退出 2 2内存变量的赋值内存变量的赋值 内存变量是在内存中定义的一种单个数据元素的临时性变量。 (1)内存变量的数据类型 内存变量的数据类型包括:数值型、字符型、逻辑型、日期型和日期时间型; (2)内存变量的建立 建立内存变量就是给内存变量赋值。内存变量赋值既可定义一个新的内存变量,也可改变已有内存变量的值或数据类型。

32、 命令格式一: STORE STORE TO TO 命令功能:计算的值并赋值给各个内存变量。 命令格式二: = = 命令功能:计算的值并赋值给指定内存变量。2024/9/438目录上页下页退出 3. 3. 表达式的显示输出表达式的显示输出 可以用两个命令在屏幕上显示输出内存变量的值。 命令格式: ?| | ? AT AT 命令功能:计算表达式表中各表达式的值,并在屏幕上指定位置显示输出各式的值。 ?:先回车换行,再计算并输出表达式的值; ?:在屏幕上当前位置,计算并直接输出表达式的值; :多个用逗号两两分隔的表达式,各表达式的值输出时,以空格分隔; AT 子句指定表达式值从指定列开始显示输出。

33、AT的定位只对它前面的一个表达式有效,多个表达式必须用多个AT子句分别定位输出,而且可反序定位。2024/9/439目录上页下页退出 4 4内存变量的显示内存变量的显示 (1)变量的显示 用?/?命令可以分别显示单个或一组变量的值。有时用户还需了解变量其他相关信息,如数据类型、作用范围,或了解系统变量的信息。Visual FoxPro系统提供了相应操作命令。 命令格式: DISPLAY DISPLAY | | LIST LIST MEMORY MEMORY LIKE LIKE TO TO PRINTER PRINTER PROMPT PROMPT | | TO TO FILE FILE NOC

34、ONSOLENOCONSOLE 命令功能:显示指定变量的信息。2024/9/440目录上页下页退出说明:说明:(1) LIKE选项子句可以使用通配符来代替变量名的一部分,以显示与通配符相符合的变量。有两种通配符:“?”代表任意一个字符,“*”代表任意多个字符。(2) LIST 和DISPLAY的区别是:前者连续显示,后者分屏显示。(3) TO FILE 子句功能是将内存变量有关信息送至一个文本文件。TO PRINTER 则是送至打印机打印。例:例: 定义并显示内存变量: STORE dggaf TO a1 a2=2004-04-25 c=.t. LIST MEMO LIKE a?2024/9/

35、441目录上页下页退出 *5. 5. 内存变量文件的建立内存变量文件的建立 Visual FoxPro提供相应命令,可用文件形式将某些内存变量保存起来,以便重复使用。 命令格式: SAVE SAVE TO TO ALL ALL LIKE LIKE | | ALL EXCEPT ALL EXCEPT 命令功能:将指定变量的信息保存到指定的变量文件(*.MEM)中。 ALL LIKE :只保存符合通配符条件的所有变量; ALL EXCEPT :只保存不符合通配符条件的所有变量。2024/9/442目录上页下页退出 *6. 6. 内存变量的恢复内存变量的恢复 需要保存在文件中的变量信息时,必须先恢复

36、到内存后方可使用。 命令格式: RESTORE FROM RESTORE FROM ADDITIVEADDITIVE 命令功能:将指定变量文件(*.MEM)中变量信息恢复到内存中。 ADDITIVE:省略此项,清除内存所有变量后再恢复文件中变量的信息;加选此项,将变量文件中的变量信息追加到内存现有变量信息中。 *7.7.内存变量的清除内存变量的清除 Visual FoxPro系统对定义内存变量的数量是有限制的,应及时清理,尽量减少内存的占用,定义其他变量。 命令格式: RELEASE RELEASE RELEASE ALL LIKE RELEASE ALL LIKE | | EXCEPT EX

37、CEPT 2024/9/443目录上页下页退出 8 8数组变量数组变量 数组变量是结构化的变量,是一组具有相同名称、以下标相互区分的有序内存变量。一个数组通常都包含多个数据元素。Visual FoxPro系统中只允许使用一维数组(相当于数列)和二维数组(相当于行列式或矩阵)。(1 1)数组元素)数组元素 数组中各有序变量(数据元素)组成数组的成员,称为数组元素。数组元素实质上是一个内存变量,也称数组变量,它们具有相同变量名即数组名,彼此以下标区分;2024/9/444目录上页下页退出 数组元素的名称(变量名)用数组名加下标构成。如AA(1),BB(2,3)分别表示一维数组AA的第1个元素,二维

38、数组BB中第2行第3列的元素; 下标必须用圆括号对括;一维数组的元素只有一个下标,二维数组的元素有两个以逗号分隔的下标; 下标必须是非负数值,可以是常量、变量、函数或表达式,下标值会自动取整。如AA(1.5),AA(nA1),AA(2+10/3)等; 数组元素的数据类型决定于最后赋值的数据类型;不同数组元素的数据类型可以不同; 数组元素与普通内存变量一样操作,可以赋值和引用。2024/9/445目录上页下页退出 (2 2)数组的定义)数组的定义 数组必须先定义后使用,定义数组是向系统申请数组元素在内存中的存储空间。 命令格式: DIMENSION DIMENSION | | DECLARE D

39、ECLARE (1, )2), (3, 4) 命令功能:定义指定的各个数组。命令功能:定义指定的各个数组。 (3 3)数组的赋值与引用)数组的赋值与引用 数组元素的赋值与引用,与普通内存变量的规则相同。2024/9/446目录上页下页退出 9 9字段变量字段变量 表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段也是变量。与其他变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。字段名就是变量名;变量的数据类型为Visual FoxPro中任意数据类型,字段值就是变量值。2024/9/447目录上页下页退出 *1

40、010系统变量系统变量 系统变量是Visual FoxPro系统特有的内存变量,它由Visual FoxPro系统定义、维护。系统变量有很多,其变量名均以下划线“_”开始,因此在定义内存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。系统变量设置、保存了很多系统的状态、特性,了解、熟悉并且充分地运用系统变量,会给数据库系统的操作、管理带来很多方便,特别是开发应用程序时更为突出,学习时可对此有所关注。2024/9/448目录上页下页退出四、四、 Visual FoxProVisual FoxPro的表达式的表达式 在Visual FoxPro系统中,表达式是由常量、变量、函数及其他数

41、据单独或与运算符组成的有意义的运算式子。 运算符是对数据对象进行加工处理的符号,根据其处理数据对象的数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运算符、逻辑运算符和关系运算符五类,相应的,表达式也分为算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。 常量、变量和函数可以作为表达式的特例。今后涉及到表达式的描述,除特别指明,均可包含这些特殊的形式。2024/9/449目录上页下页退出 在一个表达式中可能包含多个由不同运算符连接起来的、具有不同数据类型的数据对象,但任何运算符两侧的数据对象必须具有相同数据类型,否则运算将会出错;由于表达式中有多种运算,不同的运算

42、顺序可能得出不同结果,甚至出现运算错误,因此当表达式中包含多种运算时,必须按一定顺序施行相应运算,才能保证运算的合理性和结果的正确性、唯一性。用户也可以通过给表达式加圆括号的方式,改变其默认运算顺序。在Visual FoxPro系统中,各类运算的优先顺序如下: 圆圆括括号号 算算术术和和日日期期运运算算 字字符符串串运运算算 关关系系运运算算 逻逻辑辑运算运算 同一类运算符也有一定的运算优先顺序,这在各类表达式中分别介绍。如果有多个同一级别的运算,则按在表达式中出现的先后顺序进行运算。2024/9/450目录上页下页退出1. 1. 算术表达式算术表达式 算术表达式又称数值表达式,其运算对象和运

43、算结果均为数值型数据。数值运算符的功能及运算优先顺序,如表2-2所示。表中运算符按运算优先级别从高到低顺序排列。 表2-2 算术运算符运算符功 能表 达 式 举 例运算结果优先级别( )圆括号(2-5)*(3+2)-15最高 | | | 最低-取相反数-(3-8)5*、乘幂2*5、3232、9*、/乘、除2*10、25/520、5%取余数20%50+、-加、减36+19、29-4755、-182024/9/451目录上页下页退出 2.2. 字符表达式字符表达式 字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子。字符运算的对象是字符型数据对象,运算结果是字符常量或逻辑常量。表2-3

44、为字符运算符 的功能。 “+”与 “-”都是字符连接运算符,都将两个字符串顺序连接,但“+”是直接连接,“-”则将串1尾部所有空格移到串2尾部后再连接;“$”运算实质上是比较两个串的包含关系,因此有些书籍中将其归于关系运算,其作用是比较、判断串1 是否为串2的子串,如果串1是串2的子串,运算结果为“真”,否则为“假”。所谓子串,如果串1中所有字符均包含在串2中、且与串1中排列方式与顺序完全一致,则称串1为串2的子串。2024/9/452目录上页下页退出 表2-3 字符运算符 两个连接运算的优先级别相同,但高于$的比较运算。运算符功能表达式举例运算结果+串1+串2:两串顺序相连接12 +5612

45、 56-串1-串2:串1尾空格移到串2尾后再顺序相连接12 -561256 $串1$串2:串1是否为串2子串1234$ a123451234$ 34512.T.F.2024/9/453目录上页下页退出3. 3. 日期表达式日期表达式 由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式称为日期表达式。日期运算符分为“+”和“-”两种,其作用分别是在日期数据上增加或减少一个天数,在日期时间数据上增加或减少一个秒数。两个运算的优先级别相同。例如: ? 2004-05-10+10 ? 2004-05-10-2003-05-10主屏幕显示: 05/20/04 366 2024/9/

46、454目录上页下页退出 4. 4. 关系表达式关系表达式 由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式。关系表达式的值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。 表2-4 关系运算符 运算符功 能表 达 式 举 例结果小于15大于A 1.T.=等于2+4 = 3*5.F.、#、!=不等于5 -10.T.=小于或等于abc =大于或等于10-10-02=10/01/02.T.=字符串恒同abc=abcabc.F.2024/9/455目录上页下页退出 关系运算符的优先级别相同。关系表达式运算时,就是比较同类两数据对象的“大小”,对于不同类型的数据,其“大小”或者是

47、值的大小,或者是先后顺序。日期或日期时间数据以日期或时间的先后顺序为序。在Visual FoxPro系统中,字符型数据的比较相对复杂,默认规则为:(1 1)单个字符)单个字符 单个字符的比较是以字符ASCII码的大小作为字符的“大小”,也就是先后顺序。(2 2)字符串)字符串 两个字符串进行比较的基本原则是从左到右逐个字符进行比较,但因系统相关设置状态不同,比较的结果与预期的不完全相同。2024/9/456目录上页下页退出 相等比较:用运算符“”进行两串比较时,或者到达右端串的末尾字符为止(当SET EXACT OFF时)或者当到达两串的末端为止(当SET EXACT ON时),以判断两串是否

48、相等; 恒同比较:用运算符=进行两串的恒同比较时,不论SET EXACT的设置如何,只有当两串长度相同,字符相同,排列一致时才成立; 大小比较:用运算符“”进行两串比较时,比较到第个不相同字符为止,否则,长度较长的串较“大”; 其他比较:除上述运算符之外的其他运算符、=的比较,均可看作是两个运算符以逻辑“或”的关系构成的复合运算;2024/9/457目录上页下页退出 (3 3)汉字)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉字的拼音顺序比较“大小”,因此,汉字比较实质上是以字母的顺序进行比较;但Visual FoxPro系统可以设置汉字按笔画排列顺序,因而,汉字的“大小”就决定其笔画

49、数的多少。 用菜单设置汉字排列顺序方式的操作步骤为:单击【工具】|【选项】命令,将打开“选项”对话框中,在“数据”选项卡的“排序序列”下拉列表框中选择“Stroke”项并确定,系统将按汉字的笔画数进行汉字的排序、比较运算。若选择“achine”项则字符按机内码次序排序,汉字在所有西文字符后,汉字内部按国标码排序。2024/9/458目录上页下页退出例例: :在不同的字符排序设置下比较字符串的大小。 SET COLLATE TO MACHINE ? xxyz,xXYZ,x X ? 湖南湖北,湖湖南,你好您好 SET COLLATE TO PINYIN ? xxyz,xXYZ,x X ? 湖南湖北

50、,湖湖南,你好您好 SET COLLATE TO stroke” ? xxyz,xXYZ,x X ? 湖南湖北,湖湖南,你好您好 2024/9/459目录上页下页退出 5. 5. 逻辑表达式逻辑表达式 由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。表2-5为逻辑运算符的功能。逻辑运算符前后一般要加圆点“.”标记,以示区别。 表2-5 逻辑运算符运算符 功 能优先级别( ) 圆括号最高|最低.NOT.或! 逻辑非.AND. 逻辑与.OR. 逻辑或2024/9/460目录上页下页退出 对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,表2-

51、6所示就是逻辑运算真值表。 表2-6 逻辑运算真值表ABA .AND.BA .OR. B.NOT. A.T.T.T.T.F.T.F.F.T.F.F.T.F.T.T.F.F.F.F.T.2024/9/461目录上页下页退出 在Visual FoxPro系统中,经常需要与一种特殊的“数据”空值(NULL(或.NULL.)打交道。表中字段可根据需要允许或限制其取空值。空值对于逻辑运算的影响如表2-7所示。 表2-7 NULL值对逻辑运算的影响逻辑运算A=.T.A=.F.A=.NULLA .AND. NULL.NULL.F.NULL.A .OR. NULL.T.NULL.NULL.NOT. A.F.T

52、.NULL.2024/9/462目录上页下页退出 对于两个逻辑型数据,一般不用比较的方式来确定它们之间的关系,而是直接运用逻辑运算的方式进行处理。如对表中记录实施选择运算时,是用FOR 或WHILE 进行逻辑判断,其中就是一个关系表达式或逻辑表达式。对于以逻辑型字段进行逻辑判断的情况,一般不用关系表达式而直接用逻辑表达式。如“性别”是一个逻辑型字段,并约定“真”表示男性,“假”表示女性。那么判断某记录对应人员是否为男性,用FOR 性别,而不用FOR 性别=.T.,判断是否为女性,用FOR .NOT. 性别,不用FOR 性别=.F.。2024/9/463目录上页下页退出 6运算符优先级运算符优先

53、级 先执行算术运算,字符运算和日期运算,再执行关系运算,最后执行逻辑运算。当然可以用括号来改变其优先级。括号括起来的应优先运算。 例例: : 多种表达式运算示例 ? 93 AND 53 OR a$ab AND .NOT.f. 主屏幕显示: .t. ? (100%3=1) AND (15-4=0) OR 张=张三 主屏幕显示: .f.2024/9/464目录上页下页退出第三节第三节 Visual FoxProVisual FoxPro常用函数常用函数 Visual FoxPro系统中,函数是一段程序代码,用来进行一些特定的运算或操作,支持和完善命令的功能,帮助用户完成各种操作与管理。Visual

54、 FoxPro系统有数百种不同函数,按函数提供方式,可分为系统(标准)函数和用户自定义函函数,按函数运算、处理对象和结果的数据类型,可分为数值型函数、字符型函数、逻辑型函数、日期时间型函数、数据转换函数等,按函数的功能和特点,可分为数据处理函数、数据库操作函数、文件管理函数、键盘和鼠标处理函数、输出函数、窗口界面操作函数、程序设计函数、数据库环境函数、网络操作函数、系统信息函数、动态数据操作函数等。2024/9/465目录上页下页退出 Visual FoxPro的函数由函数名与自变量两部分组成。标准函数是Visual FoxPro系统提供的系统函数,其函数名是Visual FoxPro保留字,

55、自定义函数是用户自已定义的函数,函数名用户指定;自变量必须用圆括号对括起来,如有多个自变量,各自变量以逗号分隔;有些函数可省略自变量,或不需自变量,但也必须保留括号;自变量数据类型由函数的定义确定,数据形式可以是常量、变量、函数或表达式等。 函数是一类数据项,除个别(如宏替换)函数外,函数都不能像命令一样单独使用,只能作为命令的一部分进行操作运算。 2024/9/466目录上页下页退出 一、 数值函数 数值函数用于数值运算,其自变量与函数都是数值型数据。 1 1取绝对值函数取绝对值函数ABS( )ABS( )和符号函数和符号函数SIGN( )SIGN( ) 【格式】ABS() SIGN() 【

56、功能】计算nExp的值,并返回该值的绝对值。 SIGN()返回指定数值表达式的符号。 2 2指数函数指数函数EXP( )EXP( ) 【格式】EXP() 【功能】求以e为底、nExp值为指数的幂。 3 3取整函数取整函数INT( )INT( ) 【格式】INT() 【功能】计算nExp的值,返回该值的整数部分。2024/9/467目录上页下页退出 4 4上界函数上界函数CEILING( )CEILING( ) 【格式】CEILING() 【 功 能 】 计 算 nExp的 值 , 返 回 一 个 大 于 或 等 于 该 值 的最小整数。 5 5下界函数下界函数FLOOR( )FLOOR( )

57、【格式】FLOOR() 【 功 能 】 计 算 nExp的 值 , 返 回 一 个 小 于 或 等 于 该 值 的最大整数。 6 6自然对数函数自然对数函数LOG( )LOG( ) 【格式】LOG() 【功能】求nExp的自然对数。nExp的值必须为正数。 7 7常用对数函数常用对数函数 【格式】LOG10() 【功能】求nExp的常用对数。nExp的值必须为正数。2024/9/468目录上页下页退出 8 8平方根函数平方根函数SQRT( )SQRT( ) 【格式】SQRT() 【功能】求非负nExp的平方根。 9 9最大值函数最大值函数MAX( )MAX( )和最小值函数和最小值函数MIN(

58、 )MIN( ) 【格式】MAX(,.) MIN(,.) 【功能】返回数值表达式中的最大值MAX( )和最小 】值MIN( )。 1010求余数函数求余数函数MOD( )MOD( ) 【格式】MOD(,) 【 功 能 】 返 回 nExp1除 以 nExp2的 余 数 , 符 号 与 nExp2 相同。如果两个表达式符号相异,则函数值 为两数相除的余数再加上除数的值。余数的 正负号与除数相同。2024/9/469目录上页下页退出 1111四舍五入函数四舍五入函数ROUND( )ROUND( ) 【格式】ROUND(,) 【 功 能 】 返 回 nExp1四 舍 五 入 的 值 , nExp2表

59、 示 保留的小数位数。 1212函数函数PI( )PI( ) 【格式】PI( ) 【功能】返回常量的近似值 1313正弦函数正弦函数SIN(SIN( ) 【格式】SIN() 【 功 能 】 返 回 nExp的 正 弦 值 。 nExp以 弧 度 为 单 位,函数值域为-1,1。 1414余弦函数余弦函数COS( )COS( ) 【格式】COS() 【 功 能 】 返 回 nExp的 余 弦 值 。 nExp以 弧 度 为 单 位,函数的值域为-1,1。2024/9/470目录上页下页退出 1515正切函数正切函数TAN( )TAN( ) 【格式】TAN() 【功能】返回nExp的正切值。nEx

60、p以弧度为单位,其值为/2或- /2时,系统返回一个绝对值很大的数。 1616反正弦函数反正弦函数ASIN( )ASIN( ) 【格式】ASIN() 【功能】返回nExp的反正弦值。自变量值必须在-1,1内,函数值为弧度,且值域为-/2, /2。 1717反余弦函数反余弦函数ACOS( )ACOS( ) 【格式】ACOS() 【功能】返回nExp的反余弦值。自变量的值必须在-1,1内,函数值为弧度,值域为-/2, /2。 1818反正切函数反正切函数ATAN( )ATAN( ) 【格式】ATAN() 【功能】返回nExp的反正切值。函数值为弧度,值域为(-/2, /2)。2024/9/471目

61、录上页下页退出分析下例各命令的执行结果:分析下例各命令的执行结果:例例1 1:a=3 ? ABS(10-a),ABS(a-10),SIGN(10-a),SIGN(a-10)例例2 2:x=6.9 ?INT(x),INT(-x),CEILING(x),CEILING(-x),FLOOR(x),FLOOR(-x) 例例3:3: x=314.356 ? ROUND(x,2),ROUND(x,1),ROUND(x,0),ROUND(x,-1) 例例4: 4: ? MOD(10,3), MOD(10,-3), MOD(-10,3), MOD(-10,-3)例例5 5: MOD()函数与INT()函数使用

62、示例 x=356 x1=INT(x/100) x2=INT(MOD(x,100)/10) x3=MOD(x,10) ? x1,x2,x3 2024/9/472目录上页下页退出二、二、 字符函数字符函数 字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。函数中涉及的字符型数据项,均以cExp表示。 1 1子串位置函数子串位置函数 【格式】 AT(AT(, , , ) 【功能】返回串cExp1在串cExp2中的起始位置。函数值 为整数。如果串cExp2不包含串cExp1,函数返回值为零。第三个参数数值表达式用于表明要搜索字符表达式1在字符表达式2中第几次出现,其默认值为1,

63、可缺省。例如,a=This is Visual FoxPro ?AT(fox,a),AT(“Fox,a),AT(is,a,3),AT(th,a) 主屏幕显示:0 16 10 0 2024/9/473目录上页下页退出 2 2取子串函数取子串函数 【格式】1) LEFT(LEFT( , ) 2) RIGHT(RIGHT( , ) 3) SUBSTR(SUBSTR(,),) 【功能】1)返回从cExp串中第一个字符开始,截取nExp 个字符的子串。 2)返 回 从 cExp串 中 右 边 第 一 个 字 符 开 始 ,截 取 nExp个字符的子串。 3)返 回 从 串 cExp中 第 nExp1个

64、字 符 开 始 , 截 取 nExp2个字符的子串。若省略nExp2,则默认 从指定位置起取到最后一个字符。例如,a=This is Visual FoxPro ? LEFT(a,3),RIGHT(a,4),SUBSTR(a,6,2)+SUBSTR(a,9)主屏幕显示: Thi xPro isVisualFoxPro2024/9/474目录上页下页退出 3 3字符串长度函数字符串长度函数LEN( )LEN( ) 【格式】 LEN(LEN() 【功能】返回cExp串的字符数(长度)。函数值为N型。 4 4删除字符串前后空格函数删除字符串前后空格函数 【格式】1) LTRIM(LTRIM()2)

65、RTRIM | TRIM(RTRIM | TRIM()3) ALLTRIM(ALLTRIM( ) ) 【功能】1) 删除cExp串的前导空格字符。 2) 删除cExp串尾部空格字符。 3) 删除字符串前导和尾部空格后的字符串。 5 5空格函数空格函数SPACE( )SPACE( ) 【格式】SPACE () 【功能】返回一个包含nExp个空格的字符串。2024/9/475目录上页下页退出 6 6字符串替换函数字符串替换函数 STUFF( )STUFF( ) 【格式】STUFF(,STUFF(,,) 【 功 能 】 从 nExp1指 定 位 置 开 始 , 用 cExp2串 替 换 cExp1串

66、中nExp2个字符。若nExp2=0,则在位置 后插入cExp2。例如,a=This is Visual FoxPro b=xxx? STUFF(a,6,2,b)? STUFF(a,6,0,b)? STUFF(a,6,2,)主屏幕显示: This xxx Visual FoxPro This xxxis Visual FoxPro This Visual FoxPro 2024/9/476目录上页下页退出 7 7字符复制函数字符复制函数 REPLICATE( )REPLICATE( ) 【格式】REPLICATE (REPLICATE ( , ) 【功能】返回将cExp串重复nExp次的字符串

67、。 8 8计算子串出现次数函数计算子串出现次数函数 OCCURSOCCURS()() 【格式】OCCURSOCCURS ( (,) 【功能】返回第一个字符串在第二个字符串中出现的次数。 例如,a=This is Visual FoxPro ? OCCURS(is,a),OCCURS(fox,a),OCCURS(o,a) 主屏幕显示: 3 0 22024/9/477目录上页下页退出9 9大小写转换函数大小写转换函数LOWER( ) LOWER( ) 和和UPPER( )UPPER( ) 【格式】LOWER (LOWER () UPPER ( UPPER () 【功能】LOWER( )将cExp串

68、中字母全部变成小写字母,UPPER( )将cExp串中字母全部变成大写字母,其它字符不变。 例如,? LOWER(ABCxyz),UPPER(abcefg123) 主屏幕显示:abcxyz ABCEFG123 1010宏替换函数宏替换函数 & & 【格式】& & . 【功能】替换出字符型变量cVar中字符。 例如,a=This is Visual FoxPro bb=a ?&bb2024/9/478目录上页下页退出11. 11. 字符替换函数字符替换函数 【格式】CHRTRAN(CHRTRAN(字符表达式字符表达式1 1,字符表达式,字符表达式2 2,字符表达式,字符表达式3 3) 【功能】当

69、第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时,就用第三个字符串中对应(相同位置)的字符替换这些字符。如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因而没有对应字符,那么第一个字符串中相匹配的字符将被删除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余的字符被忽略。例如,? CHRTRAN(abcdef,bdf,123) 主屏幕显示: a1c2e3 ? CHRTRAN(abcdef,bdf,12), 主屏幕显示: a1c2e ?CHRTRAN(“中国国民党”,“国民党”,“共产党员”) 主屏幕显示:中国共产党2024/9/479目录上页下页

70、退出三、日期时间函数 日期时间函数是处理日期型或日期时间型数据的函数。其自变量为日期型表达式dExp或日期时间型表达式tExp。 1 1系统日期函数系统日期函数DATE( )DATE( ) 【格式】DATE()DATE() 【功能】返回当前系统日期,此日期由Windows系统设置。函数值为D型。 2 2系统时间函数系统时间函数TIME( )TIME( ) 【格式】TIME(TIME() 【功能】返回当前系统时间,时间显示格式为hh:mm:ss。若选择了nExp ,则不管为何值,返回的系统时间还包括秒的小数部分,精确至小数点后两位。函数值为C型。2024/9/480目录上页下页退出 3 3日期函

71、数日期函数DAY( )DAY( ) 【格式】DAY(DAY() 【功能】返回dExp式中的天数。函数值为N型 4 4星期函数星期函数DOW( )DOW( )、CDOW( )CDOW( ) 【格式】DOW(DOW() CDOW( CDOW() 【功能】DOW( )函数返回dExp式中星期的数值,用17表示星期日星期六。函数值为N型。CDOW( ) 函数返回dExp式中星期的英文名称。函数值为C型。 5 5月份函数月份函数MONTH( )MONTH( )、CMONTH( )CMONTH( ) 【格式】MONTH(MONTH() CMONTH( CMONTH() 【功能】MONTH( )函数返回dE

72、xp式中月份数。函数值为N型。CMONTH( )函数则返回月份的英文名。函数值为C型。 6 6年份函数年份函数YEAR( )YEAR( ) 【格式】YEAR(YEAR() 【功能】函数返回dExp式中年份值。函数值为N型。2024/9/481目录上页下页退出7.求时、分、秒函数求时、分、秒函数【格式】1) HOUR(HOUR( ) ) 2) MINUTE(MINUTE( ) ) 3) SEC(SEC( ) ) 【功能】1) HOUR()函数返回日期时间型表达式所对应的 小时部分。 2) MINUTE()函数返回日期时间型表达式所对应 的分钟部分。 3) SEC()函数返回日期时间型表达式所对应

73、的 秒钟部分。 例如,x=2004-06-20,05:25:45 p ? HOUR(x),MINUTE(x),SEC(x) 主屏幕显示: 17 25 452024/9/482目录上页下页退出 四、四、 转换函数转换函数 在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。Visual FoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。 1 1ASCIIASCII码函数码函数ASC( )ASC( ) 【格式】ASC () 【功能】返回cExp串首字符的ASCII码值。函数值为N型。 2 2ASCIIASCII字符函数字符函数CHR( )CHR(

74、) 【格式】CHR() 【 功 能 】 返 回 以 nExp值 为 ASCII码 的 ASCII字 符 。 函数值为C型。例如, ? CHR(ASC(M)+ASC(a)-ASC(A)2024/9/483目录上页下页退出 3 3字符日期型转换函数字符日期型转换函数CTOD( )CTOD( ) 【格式】CTOD(CTOD() 【功能】把“/”格式的cExp串转换成 对应日期值。函数值为D型。 4 4日期字符型转换函数日期字符型转换函数DTOC( )DTOC( ) 【格式】DTOC(DTOC( , 1, 1) ) 【功能】把日期dExp转换成相应的字符串。函数值 为C型。指定1,则函数以固定格式yy

75、yymmdd返回。 5 5数值字符型转换函数数值字符型转换函数STR( )STR( ) 【格式】STR(STR(,) 【功能】将nExp1的数值转换成字符串形式。函数 值为C型。 nExp2为长度, nExp3为小数位数。 6 6字符数值型转换函数字符数值型转换函数VAL( )VAL( ) 【格式】VAL (VAL () 【功能】将cExp串中数字转换成对应数值,转换结 果取两位小数。函数值为N型。2024/9/484目录上页下页退出7 7宏替换函数宏替换函数 【格式】&字符型变量.【功能】替换出字符变量的内容。如果该函数与其后的字符无明确分界,则要用“.”作为函数结束标记。例如,a=5b=6

76、c56=goodgood=123456? c&a.&b,&c56主屏幕显示:good 1234562024/9/485目录上页下页退出 五、测试函数五、测试函数 在数据库应用的操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。 1 1数据类型函数数据类型函数VARTYPE( )VARTYPE( ) 【格式】VARTYPE(VARTYPE() ) 【功能】返回eExp 串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:

77、未定义。 2 2文件查找函数文件查找函数FILEFILE()() 【格式】FILE(FILE() 【功能】根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返回逻辑真(.T.) 值,否则为逻辑假(.F.)值。2024/9/486目录上页下页退出3 3条件测试函数条件测试函数IIF( )IIF( ) 【格式】IIF(IIF( , 1,) 【功能】逻辑表达式lExp值为真(.T.),返回表达式eExp1的值,否则返回表达式eExp2的值。eExp1和eExp2可以是任意数据类型的表达式。例例: : IIF()函数使用示例 a=10b=50 ? IIF(a10,a-5,I

78、IF(b=50,b-20,b+20) 主屏幕显示: 302024/9/487目录上页下页退出4 4表结束标志测试函数表结束标志测试函数EOF( )EOF( ) 【格式】EOF(EOF( | | ) 【功能】测试记录指针是否移到表结束处。如果记录指针指向表尾记录,函数返回真(.T.),否则为假(.F.)。注意:注意:(1)文件尾不是表中的最后一条记录,而是最后一条记录的后面。(2)如指定工作区没有打开表文件,函数返回值为假。 (3)表文件中不包含任何记录,函数返回值为真。 例例: : EOF()函数使用示例USE 图书 & 打开图书表GO BOTTOM & 将记录指针指向最后一条记录? EOF(

79、) & 主屏幕显示: .f.SKIP & 记录指针下移一条? EOF() & 主屏幕显示: .t. USE & 关闭图书表 2024/9/488目录上页下页退出5 5表起始标识测试函数表起始标识测试函数BOF ( )BOF ( ) 【格式】BOF (BOF ( | | ) 【功能】测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。6 6当前记录号函数当前记录号函数RECNO()RECNO() 【格式】RECNO(RECNO( | | ) 【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为1。注意注意:(1)如果指定工作区没有打开

80、表文件,返回函数值0。(2)如果记录指针指向文件尾,函数值为表文件的记录 数+1。 (3)如果记录指针指向文件首,函数值为表文件中第一条记录的记录号。 2024/9/489目录上页下页退出例:例: RECNO()函数使用示例 USE 图书 GO BOTTOM?RECNO() & 屏幕显示:49 此表总共49条记录SKIP & 记录指针下移一条?RECNO() & 屏幕显示:50GO 1SKIP 1?RECNO() & 屏幕显示:1USE2024/9/490目录上页下页退出 7 7当前记录逻辑删除标志测试函数当前记录逻辑删除标志测试函数DELETED( )DELETED( ) 【格式】DELET

81、ED(DELETED( | | ) 【功能】测试指定工作区中表的当前记录是否被逻辑删除。如果有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。 8 8记录数函数记录数函数RECCOUNT( )RECCOUNT( ) 【格式】RECCOUNT (RECCOUNT ( | | ) 【功能】返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。 9 9记录大小测试函数记录大小测试函数RECSIZE( )RECSIZE( ) 【格式】RECSIZE( RECSIZE( | | ) ) 【功能】返回指定工作区中表的记录总长度。如果工作区中没有打开表则返回0。2024/9/491目录上页下

82、页退出1010值域测试函数值域测试函数BETWEEN( )BETWEEN( ) 【格式】BETWEEN(表达式A,表达式B,表达式C) 【功能】判断一个表达式的值是否介于另两个表达式值之间。当表达式A值大于等于表达式B的值,且小于等于表达式C的值时,函数值为逻辑值真,否则为假。如果表达式B或表达式C有一个是NULL值则函数值也是NULL值。 例如, x=10 y=50 ? BETWEEN(15,x,y),BETWEEN(15,NULL,x),; BETWEEN(15,x,null) 屏幕显示: .t. .null. .null. 2024/9/492目录上页下页退出1111空值(空值(NULL

83、NULL)测试函数测试函数ISNULL( )ISNULL( ) 【格式】ISNULL(表达式) 【功能】测试一个表达式的结果是否为NULL值,若是NULL值返回逻辑真(.t.),否则返回逻辑假(.f.)。例如, x=null ? ISNULL(x)屏幕显示: .T.1212“空空”值测试函数值测试函数EMPTY( )EMPTY( ) 【格式】EMPTY(表达式) 【功能】根据表达式的结果是否为“空”值,返回逻辑真(.t.)或逻辑假(.f.)。数值型类型空值是0,字符型类型空值是空串、空格、回车、换行符及其组合。逻辑型类型空值是.f.,其它为无输入或无赋值内容。2024/9/493目录上页下页退出1313屏幕列坐标和行坐标函数屏幕列坐标和行坐标函数 COL( )COL( )、ROW( )ROW( ) 【格式】COL( )COL( ) ROW( ROW( ) 【功能】COL( )返回光标的列坐标值,ROW( )返回光标的行坐标值。14.14.打印机列坐标和行坐标函数打印机列坐标和行坐标函数PCOL( ) PROW( )PCOL( ) PROW( ) 【格式】PCOL( )PCOL( ) PROW PROW()() 【功能】返回打印机打印头所处位置的列坐标和行坐标。2024/9/494结束结束2024/9/495

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号