FoxPro基本规则
出处:按学科分类—工业技术 企业管理出版社《工程师手册》第933页(5013字)
1.FoxPro的文件类型
FoxPro的各种数据和程序都是以文件的形式存储在磁盘上的,并通过操作系统的文件管理功能和FoxPro本身的文件管理功能进行访问和使用。
(1)数据库文件(默认扩展名为.DBF)
数据库文件是FoxPro处理的基本对象,它实际上是描述一个关系(二维表)并以记录的形式存储数据。数据库中的每一个记录均由若干个字段组成,每个字段又存放一组信息。
(2)索引文件(默认扩展名为.IDX)
索引文件是数据库的一种辅助文件,它可以加快数据库文件的处理速度。在索引文件中记载了数据库文件的记录号与索引号的对应关系,索引文件是将当前使用的数据库文件中的记录按逻辑顺序进行排列,而不是按物理顺序排列。所谓物理顺序是指记录按某一关键字或关键字表达式进行排列。
(3)命令文件(默认扩展名为.PRG)
命令文件又称为应用程序文件。命令文件是由FoxPro的命令构成的文件或由若干个命令文件集成的过程文件。它是一种ASCⅡ码正文文件,可以用FoxPro的文本编辑命令进行编辑,是FoxPro的主要文件之一。
(4)内存变量文件(默认扩展名为.MEM)
内存变量文件是FoxPro的辅助文件之一,用于存储内存变量的文件,以便保存内存变量的值。
(5)标签文件(默认扩展名为.LBL)
标签文件是FoxPro的辅助文件之一,它是将当前使用的数据文件的内容按全屏幕方式下指定的标签格式存储或输出。
(6)报表格式文件(默认扩展名为.FRM)
报表格式文件是FoxPro的辅助文件之一,它是将当前使用的数据库文件的内容按全屏幕方式指定的报表格式文件存储或输出。
(7)屏幕格式文件(默认扩展名为.FMT)
屏幕格式文件是建立一种屏幕格式,用于数据输入或打印输出。
(8)文本文件(默认扩展名为.TXT)
文本文件是FoxPro的辅助文件之一。它是ASCⅡ码文件且仅包括可打印的ASEⅡ码字符,它主要用于FoxPro与其他软件之间的接口或数据通信。
(9)备注文件(默认扩展名为.FPT)
备注文件是一种数据库的辅助文件,用于存储数据库中备注型字段的信息,数据库中每个记录最多容纳128个备注字段。
FoxPro和dBASE ⅢPLUS及FoxBASE+完全兼容,dBASE Ⅲ、FoxBASE+环境中的程序文件(*.PRG)、数据库文件、内存变量文件、屏幕格式文件、报表格式文件和标签格式文件均不需作任何改动,就可以直接在FoxPro环境下使用。
2.FoxPro的数据类型与变量
(1)数据类型
FoxPro的数据类型共有六种,即数值型(N型)、字符型(C型)、日期型(D型)、逻辑型(L型)、备注型(M型)、屏幕型(S型)。
(2)FoxPro常量
所谓常量是指在程序执行的过程中其值始终保持不变的量。FoxPro常量的数据类型又分为数值型、字符型、日期型和逻辑型四种。
(3)FoxPro变量
在FoxPro中有两种不同性质的变量,一种是字段变量,另一种是内存变量。
字段变量 字段变量是依附于数据库文件而存在的,当一个数据库文件的结构定义后,该库文件的各个字段名就形成了各个字段变量。
它的值随记录的不同而变化,只有记录指针当前所指记录的字段内容,才是它的当前值。
字段变量的类型有数值型(N)、字符型(C)、日期型(D)、逻辑型(L)和备注型(M)。
内存变量 内存变量是不依赖于数据库文件而独立存在的变量,使用时可以临时定义。内存变量共有5种类型:数值型、字符型、日期型、逻辑型、屏幕型,其中屏幕型内存变量用以存储屏幕画面映像。
内存变量由赋予它的值的类型而决定自己的类型,赋的值的类型改变了,则它的类型也相应地改变。
FoxPro还引进了数组概念,通过DIMINSION命令可以定义一维或二维内存变量数组。
3.FoxPro函数
FoxPro提供近200个函数,它们只能在表达式中使用。函数可以被当成一个常数、变量或表达式,在程序中进行各种运算。对使用者来说最重要的一点就是要掌握函数数据类型,使得函数与其他类型数据相互操作时不会发生数据类型不对的错误。根据函数返回值的类型可将函数分为四类:数值型函数、字符型函数、逻辑型函数和日期型函数。
此外、FoxPro还允许用户自己定义一些专用函数,称为用户自定义函数。
4.FoxPro运算符与表达式
(1)FoxPro的运算符
FoxPro提供四种类型的运算符,它们是算术运算符、字符串运算符、关系运算符和逻辑运算符。
当四种类型的运算符出现在同一个表达式中时,括号的优先级最高,最内层的括号最优先,其余各类运算符的优先级别从高到低的排列次序如下:
算术运算符或字符串运算符、关系运算符和逻辑运算符。
(2)FoxPro表达式
我们把用FoxPro的运算符把常量、字段变量、内存变量(包括内存变量数组)和函数连接起来的有意义的式子称为FoxPro的表达式。
表达式经过运算,总是得出一个具体的值。表达式的值也是数据,其数据类型有:数值型、字符型、日期型和逻辑型等四种。
表达式是按其值的数据类型进行分类的。因此、FoxPro的表达式有:数值表达式、字符表达式、日期表达式和逻辑表达式等四种。
例如:
2*x* *5-5*x+6是数值表达式;
“中国”+“科学院”是字符表达式;
年龄>20.and.性别=″女″是逻辑表达式;
CTOD(″09/01/92″)是日期表达式。
5.FoxPro命令的语法规则
FoxPro用以完成数据库操作、程序控制与调试、系统状态参数设置等功能的指令称为FoxPro的命令。书写FoxPro的命令必须遵循它的语法规则。FoxPro的命令一般是由命令动词和限定该命令动词的若干个选择项组成的。命令动词用以规定该命令所要完成的“动作”,选择项用以说明该“动作”的对象、范围以及允许执行该“动作”的前提或条件。而有些命令的对象、范围或条件是固定的。因此不带选择项。
命令动词一般采用英文单词,如SUM(求和),AVERAGE(求均值),LIST(列表),CLEAR(清除)等。
命令中的选择项一般包括:
(1)范围选择项:用以限定数据操作的范围;
(2)条件选择项:用以指定操作的对象必须符合的条件;
(3)字段表选择项:用以规定操作的对象。
选择项一般由功能短语和表达式等组成。
FoxPro的命令语法规则归纳如下:
(1)每个命令行必须以一个命令动词开头;
(2)大多数命令动词后可以跟一个或多个限定该动词的选择项;
(3)命令行中的各个选择项可以按任意次序排列;
(4)命令行最长为254个字符;
(5)命令行的内容可以大写或小写,也可大小写混合;
(6)命令动词和选择项中的短语可以只用前四个字母;
(7)一个命令行可以分为若干个物理行,除最后一行外,其它各物理行应以分号结束,各物理行的长度之和不得超过254个字符;
(8)命令行中的动词、短语和表达式等之间应以一个或多个空格隔开;
(9)命令动词、短语等FoxPro的保留字不能作为FoxPro文件名、字段名或变量名等用途。
FoxPro的命令按其功能大小至少可分为以下几类:
(1)数据库文件的建立、打开与关闭命令;
(2)数据库记录检索命令;
(3)数据库记录添加、修改和删除命令;
(4)多重数据库操作命令;
(5)数据统计与计算命令;
(6)数据输入输出命令;
(7)内存变量操作命令;
(8)键盘管理命令;
(9)程序设计命令;
(10)调试命令;
(11)设置状态或参数命令。