FOXBASE简明教程
基本概概念
一、信息、数据与数据处理
1 数据与信息
为了记载、传送、处理信息,人们使用各种各样的物理符号来表示信息,这些符号及其组合就是数据。
2 数据处理
数据处理就是对原始数据的综合加工以导出结果数据(信息)的过程。 /二、数据库与数据库系统
1 数据库(Data Base)
数据库是存储在计算机外部存储器上逻辑相关文件的集合。
2 数据库管理系统(DBMS)
数据库管理系统是指帮助用户建立、使用和管理数据库的软件系统,简称DBMS(Data Base Management System)。DBMS通常由以下三部分组成:
(1)数据描述语言(DDL)用来描述数据库的结构,供用户建立数据库; (2)数据操作语言(DML)供用户对数据库进行数据查询、统计、存储、维护、输出等操作;
(3)其它管理程序和控制程序,用于公用管理。
3、数据库系统
数据库系统是指采用了数据库技术的完整的计算机系统,简称DBS(Data Base System)。它主要包括:计算机的硬件系统、软件系统、数据和用户等四部分。 4 关系数据库的三种基本操作
(1)、选择操作(Selection)
(2)、投影(Projection)
(3)、连接(Join)
/三、数据模型
数据库是以一定的组织方式存储在一起的、共享的、独立于应用程序的、相互关联的数据的集合。这个集合的组织形式称为数据模型,它决定了数据库中数据之间联系的表达方式。
1 层次模型
2 网络模型
3 关系模型
/四.FoxBASE关系数据库管理系统
FoxBASE是美国FoxSoftware公司继Ashton-Tate公司的dBASE系列之后,陆续推出的Fox系列DBMS。现在国内使用的中西文FoxBASE,是根据西文的多用户版本汉化开发而成的,也有2.00和2.10两种版本。
1 FoxBASE的主要特点
(1)FoxBASE和dBASE?plus完全兼容。
(2)具有很快的运行速度。
(3)FoxBASE用C语言开发,易于移植和推广。
(4)提供多种运行方式,即可在交互方式下运行,也可在程序方式下运行。 2 FoxBASE的组成与运行环境
(1) FoxBASE系统组成
1)MFOXPLUS.EXE该文件是主要运行文件之一,其作用是解释并执行FoxBASE的最常用命令。
2)MFOXPLUS.OVL该文件也是主要运行文件之一,其作用是解释并执行FoxBASE的其它不常用命令。以上两个文件是运行FoxBASE的必备文件。 3)FOXHELP.HLP该文件是帮助用户学习和使用FoxBASE的。 4)FOXBIND.EXE该文件是将若干个命令文件装配成一个过程文件。 5)FOXPCOMP.COM该文件是将用FoxBASE语言编成的源程序
成可执行的目标程序。
(2)、FoxBASE的运行环境
1)硬件环境
?FoxBASE可以在IBMPC,XT以上微机及其兼容机上运行,或在VAX小型机上运行。 ?至少要求360K内存空间,内存越大,运行速度越快。
2)软件环境
?DOS操作系统3.10版以上,或UNIX、XENIX操作系统。 ?任何一种汉字操作系统。
/五、FoxBASE的文件类型与主要性能指标
1、FoxBASE的文件类型
在汉字FoxBASE系统中文件的类型是以扩展名来区分的,共定义了11种类型的文件。其中,命令文件(.PRG)、内存文件(.MEM)、文本文件(.TXT)是独立的,而其它各类文件是由库文件(.DBF)派生出来的。
2、FoxBASE的主要性能指标
(1)、与数据库文件有关的技术参数
1)一个数据库文件中可容纳的记录数 10亿个
2)一个数据库文件中可容纳的总字节数 20亿个
3)一个记录中可容纳的字段数 128个
4)一个记录中可容纳的字节数 4000个
(2)、与文件操作有关的技术参数
1)可同时打开的不同类型的文件数 48个
2)可同时打开的不同数据库文件数 10个
?FOXBASE的语言规则
/一.FoxBASE的数据类型及表示
1.基本数据类型
(1)字符型:用C表示。
(2)数值型:用N表示。
(3)逻辑型:用L表示。
(4)日期型:用D表示。
(5)备注型:用M表示。
(6)屏幕型:用S表示。
2.常数与变量
(1)常数
1)字符型常数
2)数字型常数
3)逻辑型常数
4)日期型常数
(2)、变量
FoxBASE的变量有字段变量和内存变量两种。 1)字段变量
字段变量也叫字段名变量。
2)内存变量
内存变量是一种独立于数据库文件而存在的变量。 3)内存变量值
所有的内存变量只有在赋值后才能使用。FoxBASE提供了两种为内存变量赋值的方
法:一种是通过"TO〈内存变量〉"子句的命令建立,另一种是赋值命令将数据赋于内
存变量。
其格式为:
格式?:STORE 表达式 TO 内存变量表 格式?:内存变量=表达式
4)内存变量值的输出
内存变量的值可以通过下列两种形式来显示:?,?? 表达式 /二.FoxBASE表达式
FoxBASE提供了四种类型的表达式,分别是算术表达式、字符表达式、关系表达式和
逻辑表达式等。
1、运算符
FoxBASE提供了算术运算符、字串运算符、关系运算符和逻辑运算符四类。
2、表达式
表达式是由同类型的各种数据,如常数、变量、函数通过各种运算符联结起来具有一
定意义的式子。
(1)数值表达式:
(2)字符表达式:
(3)关系表达式:
(4)逻辑表达式:
/三.FoxBASE函数及应用
所谓函数,就是针对一些常见问题预先编好的一系列子程序,当应用时遇到此类问题就可以调用相应的函数,也就是执行相应的函数子程序。函数的一般形式是:函数名(自变量表)其中函数名是系统规定的,自变量表可以是一个变量或多个自变量,也可以为空,即:函数名(),此时函数名后面的一对圆括号不能省略。 1、数值运算函数
(1)、求绝对值函数ABS
格式:ABS(〈数值表达式〉)
(2)、求整函数INT
格式:INT(〈数值表达式〉)
(3)、四舍五入函数ROUND
格式:ROUND(〈数值表达式1〉,〈数值表达式2〉)
功能:按〈数值表达式2〉指定的位数对〈数值表达式1〉的数值进行四舍五入。 (4)、指数函数EXP
格式:EXP(〈数值表达式〉)
(5)、自然对数函数LOG
格式:LOG(〈数值表达式〉)
(6)、平方根函数SQRT
格式:SQRT(〈数值表达式〉)
(7)、取余函数MOD(或称求模函数)
格式:MOD(〈数值表达式1〉, 〈数值表达式2〉)
功能:取〈数值表达式1〉除以〈数值表达式2〉的余数。
(8)、求最大值函数MAX
格式:MAX(〈表达式1〉,〈表达式2〉)
功能:求〈表达式1〉和〈表达式2〉中的大者。
(9)、求最小值函数MIN
格式:MIN(〈表达式1〉,〈表达式2〉)
2、字符操作函数
(1)、判子字符串函数AT
格式:AT(〈字符表达式1〉,〈字符表达式2〉)
功能:求子串位置函数,给出〈字符表达式1〉在〈字符表达式2〉的起始位置数值。 (2)、求子串函数SUB
格式:SUBSTR〈字符表达式〉,〈起始位置〉,,〈字符个数〉,
功能:函数在〈字符表达式〉的字符串中,由〈起始位置〉开始取出〈字符个数〉所指定的字符。
(3)、取左子串函数LEFT
格式:LEFT(〈字符表达式〉,〈数值表达式〉)
功能:从〈字符表达式〉的字符串的最左边字符开始,返回该字符串的一个子串。
(4)、取右子串函数RIGHT
格式:RIGHT(〈字符表达式〉,〈数值表达式〉)
(5)、取消前部空格函数LTRIM 格式:LTRIM(〈字符表达式〉) (6)、取消尾部空格函数RTRIM和TRIM 格式:RTRIM,TRIM(〈字符表达式〉) (7)、宏代换函数 ,
格式:,,数值型表达式,,、, (8)、构造空格串函数SPACE 格式:SPACE(〈数值表达式〉) 3、日期和时间函数
(1)、求系统日期函数DATE
格式:DATE()
(2)、求系统时间函数TIME 格式:TIME()
(3)、求日期中的日子函数DAY 格式:DAY(〈日期表达式〉)
(4)、求月份数MONTH
格式:MONTH(〈日期表达式〉) (5)、求年份函数YEAR
格式:YEAR(〈日期表达式〉) (6)、求星期函数DOW
格式:DOW(〈日期表达式〉) 4、转换函数
(1)、大写字母转换为小写函数LOWER 格式:LOWER(〈字符表达式〉) (2)、小写字母转换为大写函数UPPER 格式:UPPER(〈字符表达式〉) (3)、字符转换为数值函数VAL 格式:VAL(〈字符表达式〉)
(4)、数值转换为字符函数STR 格式:STR(〈数值表达式〉,,〈长度〉,,,〈小数位数〉,)
(5)、字符转换为日期函数CTOD 格式:CTOD(〈字符表达式〉) (6)、日期转换为字符函数DTOC 格式:DTOC(〈日期表达式〉,,1,) (7)、ASCII码值转换为字符函数CHR 格式:CHR(〈数值表达式〉)
(8)、字符转换成ASCII码值函数ASC 格式:ASC(〈字符表达式〉)
5、测试函数
(1)、字符串长度测试函数LEN 格式:LEN(,字符型表达式,) (2)、数据类型测试函数 TYPE 格式:TYPE(〈字符型表达式〉) (3)、文件测试函数 FILE
格式:FILE(〈文件名〉)
(4)、文件结束测试函数 EOF 格式:EOF(,数值型表达式,) (5)、文件起始测试函数 BOF 格式:BOF(,数值型表达式,) (6)、检索测试函数 FOUND 格式:FOUND(,数值型表达式,) (7)、记录删除测试函数 DELETE 格式:DELETE(,数值型表达式,) (8)、记录号测试函数 RECNO 格式:RECNO(,数值型表达式,) (9)、记录测试函数 RECOUNT 格式:RECOUNT(,数值型表达式,) (10)、记录大小测试函数 RECSIZE 格式:RECSIZE,数值型表达式,) (11)、库文件名测试函数 DBF 格式:DBF(,数值型表达式,) (12)、字段数测试函数 FCOUNT 格式:FCOUNT,数值型表达式,) (13)、字段名测试函数 FIELD 格式:FIELD(〈数值型表达式1〉,,〈数值型表达式2〉,)
(14)、索引文件函数 NDX
格式:NDX(,数值型表达式,) (15)、当前工作区测试函数 SELECT 格式:SELECT( )
/四.FoxBASE的命令结构及运行方式 1、命令的分类
FoxBASE命令从使用方式上分为两大类: (1)交互命令即在圆点方式下能够立即执行的命令;
(2)程序命令只能在程序中以规定的结构形式出现的命令。
2、命令结构
FoxBASE命令的一般结构为:命令动词短语表在FoxBASE命令中,有许多是对数据文件记录进行操作的命令,其基本结构格式如下:
命令动词,〈范围〉,,FIELDS〈字段名表〉,,FOR,WHILE〈条件〉,,TO PRINT,
命令格式中的符号约定如下:
,,:可选参数表示符。
〈〉:必须参数表示符。
常用的短语有下列三个:
(1)范围
?ALL全部记录
?NEXT N 从当前记录开始的连续N个记录(包括当前记录在内)。 ?REST 从当前记录开始到最后一个记录。
?RECORD N 记录号为N的一个记录。
(2)条件
?FOR条件 使条件为真的那些记录参加操作。
?WHILE条件 从当前记录开始到第一个使条件为假的那些记录参加操作,若当前记录就不满足条件,则不操作。
(3)字段
?FIELDS字段名表只操作字段名表中指定的那些字段。 ?数据库文件的建立
/一、数据库文件形式
一个数据库文件由两方面内容组成:一是库文件的结构,二是库文件中的数据。建立一个库文件,首先要建立结构,其次再输入数据。
/二、定义库文件结构
就是要指明该文件包含多少个字段,并对每个字段指明字段名,字段类型、字段宽度与小数位数等四个结构参数。
命令格式:CREATE,〈库文件名〉,
关于字段的定义有如下说明:
(1)输入字段名
(2)输入字段的类型字符型按C(回车键)显示Character,光标移到宽度处。 数值型按N(n)键显示Numeric,光标移到宽度处。
日期型按D(d)键显示Date,自动设长度为8。
逻辑型按L(i)键显示Logical,自动设长度为1。
备注型按M(m)键显示Memo,自动设长度为10。
(3)输入字段宽度
本操作仅对字符型或数值型字段才需要。
(4)输入小数位数
本操作仅对数值型字段才需要。
(5)文件存盘
退出全屏幕编辑返回到FoxBASE系统状态。存盘有下列三种
方式:
?按^W键
?按^end键
?直接按回车键
(6)备注文件的产生
当定义的字段中含备注型字段时,系统自动产生与库文件同名的备注型文件,扩展名是.DBT。
/三、修改库文件结构
、MODIFY STRUCTURE
执行该命令后,在屏幕上显示当前库文件的结构信息,提供用户进行全屏幕修改操作。 /四、输入库文件数据
为空文件输入数据有两种方法:一种是在空文件存盘时直接输入,另一种是用命令方式输入。
在FoxBASE系统状态下,键入下列命令:
?数据库的输出与指针定位
/一、库文件的打开与关闭
使用库文件时首先要将磁盘上的库文件装入内存,称为打开库文件。使用库文件的过程中,如果对库文件的任何内容进行过编辑或修改,使用结束后,应当将内存中的库文件再存回到磁盘上,称为关闭库文件。
打开与关闭库文件的命令是:
格式:USE,库文件名,,INDEX索引文件表,,ALIAS别名,当命令中的三个短语都缺省时,该命令的功能是关闭当前已打开的库文件及其相关的所有文件。 /二、库文件的输出
库文件的输出包括库文件结构的输出和数据记录的输出。这里的输出指显示或打印。完成这一功能的命令有LIST和DISPLAY两条。
命令格式1:LIST,〈范围〉,,FOR,WHILE〈条件〉,,FIELDS〈字段名表达式〉,,STRUCTURE,,OFF,,TO PRINT,
命令格式2:DISPLAY,〈范围〉,,FOR,WHILE〈条件〉,,FIELDS〈字段名表达式〉,,STRUCTURE,,OFF,,TO PRINT,
/三、记录指针的定位
在FoxBASE中,许多操作都是针对指定记录进行的,FoxBASE为每个正在使用的数据库文件设有一个无形的内部记录指针,该指针总是指向某一条记录,这条记录称之为"当前记录"。系统的所有操作就是针对当前记录进行,指针将随着命令的执行而移动。在FoxBASE中,对数据操作之前首先要对记录进行指针定位,使其成为当前记录。FoxBASE提供了三种数据记录指针定位的
方法:绝对定位、相对定位和条件定位。
命令格式 1:GO,GO TO TOP,BOTTOM,〈数值表达式〉
功能说明:将记录指针定位于首记录、尾记录或〈数值表达式〉的值所指定的记录。 命令格式 2:SKIP,?〈数值表达式〉,
功能说明:将记录指针相对当前记录向下(正方向)或向上(负方向)移动数值表达式的值所指定的记录数。
命令格式 3:LOCATE,〈范围〉,,FOR,WHILE〈条件〉,
功能说明:在指定范围内将指针定位于满足条件的第一条记录。缺省范围选择时,取all,即在所有记录中查找。
/四、内存工作区
1、工作区的概念
FoxBASE系统允许同时打开最多10个库文件进行操作,因此在内存中开辟了10个大小相同的存储区域。每个区域允许同时打开一个库文件以及与它相关的备注文件和索引文件。内存中的这
种区域称为工作区。系统规定工作区有各自的名称和代号:名称是A,J等10个字母,代号是1,10等10个数字。但任一时刻只能工作在某一个工作区上,这个工作区称为当前工作区。只有当前工作区才可以打开库文件,这个库文件称为当前文件。 2、工作区的选择
选择当前工作区使用SELECT命令。
命令格式:SELECT〈工作区号〉,〈工作区名〉,〈数据库别名〉,O 3、多工作区的操作
对于多个工作区上打开的库文件,只有当前库文件可以进行任意操作,包括增、删、改、编辑,记录指针定位、查找、统计等。而对于其它已打开的库文件,只能通过字段变量获取当前记录的值参加处理。而且使用时必须在字段名前增加工作区的说明,其形式为:工作区名称?字段名或库文件别名?字段名
?库文件数据的增、删、改
/一、库文件记录的增加
1、插入记录
命令格式:INSERT,BEFORE,,BLANK,
功能说明:在当前库文件的当前记录的前边或后边插入一条记录。 2、追加记录
命令格式 1:APPEND ,BLANK,或F9
功能说明:由键盘向当前库文件尾部追加新记录或一个空记录。 命令格式 2:APPEND FROM〈另一库文件名〉,FIELDS〈字段名表〉,,FOR〈条件〉,TYPE,,SDF,DELMITED,,WITH〈定界符〉,
功能说明:
(1)从〈另一库文件名〉所指定的磁盘库文件中,将满足条件的记录中按FIELDS短语指定的字段内容追加到当前库文件中。
(2)在APPEND命令中使用了这几个短语,可以实现将文本文件的数据追加到当前库
文件中,提供了高级语言文件与数据库文件的接口。
/二、库文件记录的删除
FoxBASE提供了两种删除记录的方式,一种是先加入删除标志,然后再删除,另一种是一次性全部删除。
1、加删除标志命令格式:
DELETE,〈范围〉,,FOR,WHILE〈条件〉,
2、恢复记录命令格式:
RECALL,〈范围〉,,FOR,WHILE〈条件〉,
3、删除带标志的记录命令格式:
PACK
4、直接删除全部记录命令格式:
ZAP
/三、库文件数据的编辑与修改
1、条件编辑与修改
FoxBASE提供了两条编辑修改数据的命令如下:
命令格式 1:CHANGE,〈范围〉,,FIELDS〈字段表〉,,FOR,WHILE〈条件〉, 命令格式 2:EDIT,〈范围〉,,FIELDS〈字段表〉,,FOR,WHILE〈条件〉, 功能说明:这是两条全屏幕编辑修改数据的命令,它们的功能完全相同。即在当前库文件中,对指定范围内满足条件记录的规定字段进行显示并允许用户通过键盘修改数据。
2、多记录编辑与修改
多记录编辑与修改命令,是在同一窗口显示17个记录供用户进行全屏幕编辑修改。 命令格式:BROWSE,FIELDS〈字段名表〉,,LOCK〈数值表达式〉,,FREEZE〈字段名表〉,,NOFOLLOW,,NOMENU,,NOAPPEND,,WIDTH〈数值表达式〉,,NOMODIFY,
功能说明:本命令使用全屏幕编辑键进行编辑修改和控制,其FIELDS短语同CHANGE和EDIT命令。
3、成批替换数据
命令格式:REPLACE,〈范围〉,〈字段1〉WITH〈表达式1〉,,〈字段2〉WITH〈表达式2〉……,,FOR,WHILE〈条件〉,
功能说明:对当前库文件中指定范围内满足条件的所有记录,用〈表达式〉的值替换〈字段〉中原有的值
?库文件的排序及索引
/一、库文件的排序
排序也称分类,即按照数据库文件中某个指定字段(称为关键字段)的值,将所有指定的记录重新排列,并生成新的库文件。
命令格式:SORT TO〈文件名〉ON〈关键字段名1〉,,A,,,C,,,D,,,〈关键字段名2〉,,A,,,C,,,D,…,,〈范围〉,,FOR,WHILE〈表达式〉,,FIELDS
〈字段名表〉,
功能说明:对已打开的数据库文件按指定的关键字段名排序。,,A,表示按递增顺序排序,,,D,表示按递减顺序排序,,,C,表示不区分大小写字母,可与,,A,或,,D,连用。
/二、库文件的索引
索引是一种逻辑排序方法。它不改变当前库文件物理上的排列顺序,而是建立一个与当前库文件相对应的索引表,表中的指针指向原库的对应记录。这个索引表就称为索引文件。
1、建立索引文件
命令格式:INDEX ON〈关键字表达式〉TO〈索引文件名〉,FOR〈条件〉,,UNIQUE, 功能说明:命令将当前库文件中的数据记录按指定的关键字表达式的值进行逻辑升序排序,排序结果存于索引文件中,并不改变当前库文件中数据记录的物理位置。该索引文件的扩展名为.IDX。
2、索引文件的打开与关闭
当索引文件刚被建立时,该索引文件被自动打开。其余索引文件要用命令打开。 命令格式1:USE〈库文件名〉INDEX〈索引文件名
〉
功能说明:在打开库文件的同时打开最多7个索引文件。
命令格式2:SET INDEX TO〈索引文件名清单〉
功能说明:在库文件打开之后随时打开索引文件。索引文件的关闭有以下命令: 命令格式1:SET INDEX TO关闭当前库文件的全部索引文件
命令格式2:CLOSE INDEX关闭所有工作区的已打开的索引文件 命令格式3:CLOSE DATABASE关闭包括索引文件在内的所有数据文件 命令格式4:CLOSE ALL关闭包括索引文件的所有文件
3、设置主索引文件
命令格式:SET ORDER TO,〈数值表达式〉,
功能说明:指定〈数值表达式〉值确定的索引文件为当前主索引文件。 /三、索引查询
索引查询要比直接查询快得多,其要求是必须对待查询的字段建立索引文件,且打开这个索引文件。
命令格式1:FIND〈字符串〉,〈数字〉
功能说明:对已打开的带有索引文件的库文件,查找索引关键字和指定的字符串相匹配的第一个记录。
命令格式2:SEEK〈表达式〉
SEEK命令可以对任何表达式进行查找,因此说SEEK命令比
FIND命令更灵活和通用。
?库文件数据的统计
/一、统计记录个数
命令格式:COUNT,〈范围〉,,FOR,WHILE〈条件〉,,TO〈内存变量〉,
功能说明:统计当前库文件中指定范围内满足条件的记录
总数,并可存入指定的内存变量中。
/二、数据求和
命令格式:SUM,〈范围〉,,〈数值表达式表〉,,FOR,WHILE〈条件〉,,TO〈内存变量表〉,
功能说明:对当前库文件中指定范围内满足条件的〈数值表达式表〉中列出的数值型字段分别求和,并可将求得的结果存入相应的〈内存变量表〉中。 /三、数据求平均
命令格式:AVERAGE,〈范围〉,,〈数值表达式表〉,,FOR,WHILE〈条件〉,,TO〈内存变量〉,
/四、分类求和
命令格式:TOTAL ON〈关键字段〉TO〈新库文件〉,〈范围〉,,FIELDS〈数值字段表〉,
,FOR,WHILE〈条件〉,
功能说明:对于当前库文件指定范围内满足条件的记录中关键字段值相同的记录,合并成新库文件的一条记录,新记录中的全部数值型字段是原来每组相同记录中各数值型字段的累计和,而其它字段则保留每组相同记录的第一条记录值。 ?库文件的复制
/一、复制库文件结构
命令格式:COPY STRUCTURE TO〈新库文件名〉,FIELDS〈字段名表〉, 功能说明:从当前库文件中,按FIELDS短语指定的字段及其顺序,复制一个只有结构的空库文件。
/二、复制库文件
命令格式:COPY TO〈新文件名〉,〈范围〉,,FIELDS〈字段名表〉,,FOR,WHILE〈条件〉,
功能说明:从当前库文件中,按各短语指定的复制原库文件的副本或子库文件。 /三、复制文本文件
命令格式:COPY TO <新文件名[<范围][FIELDS<字段名表],FOR,WHILE〈条件〉,,TYPE,,SDF,DELEMITED,,WITH〈定界符〉,
功能说明:将当前库文件中的数据按指定的范围、条件和类型复制生成一个扩展名是.TXT的文本文件。
/四、复制结构文件
命令格式:COPY TO〈结构文件名〉STRUCTURE EXTENDED 功能说明:对当前库文件复制生成由〈结构文件名〉所指定的结构文件。 ?多个数据之间的操作
/一、库文件的连接
命令格式:JOIN WITH〈工作区名〉TO〈新库文件名〉FOR〈条件〉,FIELDS〈字段表〉,
功能说明:将当前库文件和指定工作区的文件中满足条件的记录相连接,生成一个新的库文件。
/二、库文件的关联
在库文件之间根据需要建立某种联系,而并不生成一个新文件,这称为库文件之间的逻辑关联。FoxBASE中库文件之间的联系是通过工作区之间的联系来实现的。 命令格式:SET RELATION TO,〈关键字表达式1〉INTO〈别名1〉,,〈关键表达式2〉INTO〈别名2〉,……,ADDITIVE,
功能说明:将当前库文件按〈关键字表达式〉值的要求与〈别名〉库文件建立联系,相当于进行逻辑连接。 /三、多数据库文件的更新
多数据库文件更新,就是利用另一个库文件中的数据来成批地修改当前库文件中的数据。
命令格式:UPDATE ON〈关键字段〉FROM〈别名〉REPLACE〈字段1〉WITH〈表达式1〉,,〈字段2〉WITH〈表达式2〉…,,RENDOM,
功能说明:以当前库文件的各记录中所指定的〈关键字段〉值为依据,查找〈别名〉库文件中关键字段值与之相同的记录,将其值代入〈表达式〉中并计算〈表达式〉的值,用该值替换当前工作区中对应记录的指定字段值。
?命令文件的建立与执行
/一、命令文件的建立
命令文件是文本文件,所以可以用操作系统支持的任何字 处理软件来建立,例如,EDIT,WPS,CCED等。FoxBASE系统提供了在本系统环境下的全屏幕文本编辑功能用于建立命令文件。
命令格式:MODIFY COMMAND,FILE〈文件名〉
此命令用于建立一个新的命令文件,也用于修改已存在的命令文件。MODIFY COMMAND是全屏幕编辑命令。
/二、命令文件的执行
FoxBASE的命令文件有两种执行方式:一是DO命令执行,二是可在启动FoxBASE系统时运行。命令格式1:DO〈命令文件名〉
命令格式2:FOXPLUS〈命令文件名〉
?基本程序设计中的常用命令
/一、状态设置命令
"状态设置"是指在程序执行时对运行环境按要求所作的一些设置,例如:命令执行方式、屏幕显示状态、打印机状态等。这类命令的一般格式为:SET……ON,OFF。状态设置命令很多,这里仅列举最常用的几个:
1、置会话状态命令
命令格式:SET TALK ON,OFF
功能说明:打开或关掉命令执行时有关的反馈信息的显示。
2、置屏幕状态命令
命令格式:SET CONSOLE ON,OFF
功能说明:打开或关闭键盘输入内容在屏幕上的显示。
3、置打印状态命令
命令格式:SET PRINT ON,OFF
功能说明:设置命令执行的结果是否送到打印机。
4、置系统提供保护状态命令
命令格式:SET SAFETY ON,OFF
功能说明:打开或关闭重写文件时的警告信息显示。
/二、基本输入输出命令
1、无格式输入命令
无格式输入指在输入数据时,无法控制输入数据的显示位置,也不能限制输入数据的数值范围。FoxBASE提供了三条人机交互式无格式数据输入命令:WAIT、ACCEPT、INPUT。
命令格式1:INPUT,〈提示信息〉,TO〈内存变量〉
命令格式2:ACCEPT,〈提示信息〉,TO〈内存变量〉
命令格式3:WAIT,〈提示信息〉,TO〈内存变量〉
(1)INPUT命令能接受从键盘输入的任何类型的表达式,把计算出的结果值赋值给指定的内存变量。
(2)ACCEPT命令只能接受字符型数据,系统给输入内容自动加上定界符后再赋值给指定内存变量。
(3)WAIT命令与上述两个命令相似,但它只能接受一个键盘字符,而且这个字符也是输入结束标志。
3、带格式输入输出命令
带格式输入是指可以控制输入数据的显示位置,可以指定输入数据的类型和宽度,可以限制输入数据的范围。FoxBASE提供了两条相关的命令,这两条命令组合使用才兼有带格式输入和输出的功能。
命令格式1:@行,列,SAY〈表达式〉,PICTURE〈格式符〉,,FUNCTION〈功能符〉,,,GET〈变量〉,PICTURE〈格式符〉,,FUNCTION〈功能符〉,,RANGE,〈表达式1〉,,,〈表达式2〉,,,VALID〈条件〉,,
命令格式2:READ,SAVE,
功能说明:命令格式1中有多个子句,其中SAY和GET是两个主要的子句。 /三、运行控制命令
FoxBASE提供了一些用于程序运行过程中的控制命令,主要是用于控制结束程序运行的几条命令,其格式及功能如下:RETURN [TO MASTER] 结束本程序运行,返回到调用处的下一个命令继续执行,若选择TO MASTER短语,则返回点状态 RETRY 结束本程序运行,返回到调用处再次调用
CANCEL 结束程序运行,并关闭所有文件,返回点状态
QUIT 结束程序运行,并关闭所有文件,返回操作系统状态。
/四、其它辅助命令
1、注释命令
*〈注释内容〉
NOTE 〈注释内容〉
&&〈注释内容〉
以"*"或"NOTE"开头的注释行可以出现在程序任何地方,程序运行时跳过该行。"&&"则用于在命令的尾部加注释,一般用于对本句的解释说明。
2、清屏命令
CLEAR
清除整个屏幕 @〈行1,列1〉,CLEAR,,TO〈行2,列2〉, 清除由〈行1,列1〉坐标开始到〈行2,列2〉坐标所指定的矩形域的边界及内部。 ?程序的三种基本结构
/一、程序的基本组成
一般的高级语言程序都是由两部分组成:数据说明部分和语句部分。而FoxBASE程序没有数据说明部分,程序中直接是语句部分。因此FoxBASE的应用程序只需要描述数据处理的过程,而不需要描述数据结构。任何FoxBASE程序都由三个基本部分组成,即程序的初始化部分、程序执行部分和程序结束部分。
1、程序初始化(1)对应用程序的有关说明。(2)设置运行状态。(3)打开所需要的数据文件。
2、程序执行部分
程序执行部分完成该程序的所有处理功能,是程序的主体。它由一系列有序的命令组成。
3、程序结束部分
(1)关闭所有打开的文件(2)恢复执行前的系统状态(3)显示系统结束提示信息(4)结束语句。
与其它高级语言程序设计一样,FoxBASE程序也有三种基本控制结构,即:顺序结构、选择结构和循环结构。
/二、顺序结构的程序设计
顺序结构程序是按命令
写的先后次序依次执行。
/三、选择结构的程序设计
选择结构是指能根据指定条件的当前值在两条或多条路径中选择一条执行。它用于程序中出现了分支需要进行逻辑判断的情况。而表达算法的最直观有效的工具是流程图。
1 选择结构
(1)、简单选择结构
命令格式:IF〈条件表达式〉
〈命令序列〉
ENDIF
(2)、分支选择结构
命令格式:IF〈条件表达式〉
〈命令序列1〉
ELSE
〈命令序列2〉
ENDIF
(3)、多分支选择结构
命令格式:DO CASE
CASE〈条件表达式1〉
〈命令序列1〉
CASE〈条件表达式2〉
〈命令序列2〉
CASE〈条件表达式n〉
〈命令序列n〉
,OTHERWISE〈命令序列〉,
ENDCASE
功能说明:
多分支结构执行的方式是:对其中各个CASE〈条件〉语句依次进行判断,只要一遇到条件成立的CASE语句,就执行该语句下面的程序段,执行后立即转向ENDCASE之后的语句,至于余下的CASE语句,即使它们的条件成立,也不再判断和执行。 2 IF语句的嵌套使用
在一般情况下,用IF语句的嵌套使用,也可以实现多分支选择功能。所谓IF嵌套,即在IF语句中的〈命令序列1〉或〈命令序列2〉中还可包含IF语句,且嵌套层数不受限制。在这种嵌套形式中,要求每一层的IF…ELSE…ENDIF必须一一对应。 /四、循环结构的程序设计
循环结构是指反复执行某段程序的结构。
1 循环结构
命令格式:DO WHILE〈条件表达式〉
〈命令序列〉
ENDDO
功能说明:格式中的〈命令序列〉也称为循环体,是需要执行的程序段。 2 循环体内的两条专用命令
在循环体内有两条专用于控制循环的命令:EXIT和LOOP。
命令格式1:EXIT
命令格式2:LOOP
功能说明:EXIT用于控制循环结束,跳出ENDDO执行下面的语句;LOOP用于终止当前循环体内命令的执行,把控制转到循环结构的开始。
3 循环的嵌套使用
循环也可以嵌套使用,称为循环的嵌套或多重循环。
?应用程序设计
/一、屏幕格式设计
1 屏幕窗口的开设
(1)、开设窗口命令
命令格式:@行1,列1,CLEAR,,TO 行2,列2,
功能说明:在屏幕上清除出以"行1,列1"为左上角坐标,"行2,列2"为右下角坐标的矩形区域。
(2)、画框命令
命令格式1:@行1,列1,TO 行2,列2,DOUBLE,
命令格式2:@行1,列1,行2,列2 BOX,〈字符型表达式〉, 2 屏幕颜色设置
命令格式:SET COLOR TO,〈
色〉,,〈增强色〉,〈边框色〉,〈背景色〉,,,, 功能说明:为屏幕的标准型、增强型和边框的显示区域设置颜色。其中的〈标准色〉和〈增强色〉的格式都是:"字符色,底色"。
3 屏幕格式文件
(1)、建立屏幕格式文件
屏幕格式文件与命令文件一样,都是非结构类文件,所不同的是在屏幕格式文件中只能使用下列几种命令:
?所有注释命令:NOTE、*和&&
?清除屏幕命令:CLEAR和@…CLEAR
?画框命令:@…TO…和@…BOX…
建立屏幕格式文件的方法和建立命令文件一样,所不同的是在文件名后面必须要加上扩展名".FMT",这是系统规定的屏幕格式文件扩展名。
(2)、使用屏幕格式文件
使用时必须先打开屏幕格式文件。
命令格式:SET FORMAT TO,〈屏幕格式文件名〉,关闭格式文件可用以下命令的任意一个:
SET FORMAT TO
CLOSE FORMAT
CLEAR ALL
/二、菜单程序设计
FoxBASE提供了多种菜单程序的编制方式,其中有:简易菜单程序、光带式菜单程序、下拉式菜单程序、弹出式菜单程序和重叠式菜单程序。这里我们仅选择前两种作以简单介绍。
1 简易菜单程序设计
简易菜单程序具有菜单的基本功能:只要键入一个菜单代号,菜单程序就会调用相应程序完成用户所需要的功能。
2 光带式菜单程序设计
所谓光带菜单是指被选中的菜单项呈反相显示,这个反相区域称为光带。 (1)、菜单定义命令
命令格式:@〈行〉,〈列〉PROMPT〈字符表达式1〉,MESSAGE〈字符表达式2〉, 功能说明:从〈行〉和〈列〉指定的坐标处开始显示〈字符表达式1〉的值。 (2)、菜单激活命令
命令格式:MENU TO〈内存变量〉
功能说明:该命令用于激活"@…PROMPT"所组成的菜单,光带将出现在第〈内存变量〉个菜单项上。
(3)、提示位置命令
命令格式:SET MESSAGE TO〈数值表达式〉
功能说明:在〈数值表达式〉所指定的行上显示有@…PROMPT命令中〈字符表达式2〉的值。
/三、对库文件记录操作的程序设计
对库文件记录操作主要包括对记录的增、删、改和查询操作,这是数据库应用系统必不可少的操作。
1 记录增加程序设计
记录的增加包括插入和追加两种增加方式,我们以追加为例进行讨论。 例题:设计为ZGDA库追加记录的程序。
* 程序名ZJ.PRG
SET TALK OFF
CLEAR
USE ZGDA
SET FORMAT TO AGDA
APPEND &&激活屏幕格式文件,可连续追加记录
USE
SET FORMAT TO
SET TALK ON
RETURN
2 记录修改程序设计
例题:设计连续修改多个记录的程序
*程序名:XG.PRG
SET TALK OFF
CLEAR
USE ZGDA
DO WHILE .T.、
SET FORMAT TO ZGDA &&打开格式文件
CLEAR
ACCEPT"请输入要修改的职工号:"TO ZGH
LOCATE ALL FOR 职工号=ZGH IF .NOT. EOF() READ &&激活格式文件,修改当前记录 ELSE
WAIT"无此职工号,按任一键重新输入!" LOOP
ENDIF
SET FORMAT TO &&关闭格式文件 JX=″″
,18,20 SAY"继续修改吗?(Y,N)"GET JX
READ
IF UPPE(JX)=″N″
EXIT
ENDIF
ENDDO
CLEAR
USE
SET TALK ON
RETURN
3 记录删除程序设计
删除记录包括删除任意一条或连续若干条记录两种情况,我们仅以删除任意一条记录
为例来说明记录删除程序设计。 例题:设计删除任一条指定记录的程序。
程序名:SC.PRG
SET TALK OFF
CLEAR
USE ZGDA
DO WHILE .T.、
ACCEPT"请输入将要删除的职工号:"TO ZGH
LOCATE ALL FOR 职工号=ZGH IF .NOT. EOF() CLEAR
,5,20 SAY"您将要删除的记录是:" ,7,20 SAY ZGH+″″+姓名
DELE &&为当前记录打上删除标记 ELSE
WAIT"无此职工,按任一键重新输入!" LOOP
ENDIF
JX=′′
,18,20 SAY"继续删除吗?(Y,N)"GET JX READ
IF UPPE(JX)=′N′
EXIT
ELSE
CLEAR
LOOP
ENDIF
ENDDO
CLEAR
PACK &&物理删除打上标记的记录
SET TALK ON
RETURN
/四、制表程序设计
制表程序主要完成由库文件中挑选某些记录或字段,然后按一定的格式进行显示或打
印。
常用的报表有简易表和正式报表两种,其中简易表主要是用户自用或临时性的报表。
一般不带表格线。而正式报表则是按某种实际需要而设计的规范表格,用表格线将表
中数据隔开。一般表格用键盘字符","和","来制作表格线。本节我们仅以简易报表
和一般单页报表为例,给出报表程序设计的一般方法。 1 简易报表程序设计
例题:打印不带表格线的职工情况表。
* 程序名:BB1.PRG
SET HEADING OFF
SET PRINT ON&&接通打印机
,SPACE(10)+"职工情况表"&&打印表标题 , ,″ ″
,"职工 编号 姓名 性别 出生日期 工资" &&打印表头
USE ZGDA
LIST FIELDS 职工编号,SPACE(2),姓名,SPACE(2),性别,SPACE(2),出生年月,
SPACE(2),工资
SET PRINT OFF&&关闭打印机
RETURN
2、一般报表程序设计
对于一般的单页报表,同样包括表标题、表头、表线、表中数据及结束处理等五个部分。
例题:打印出未婚职工情况表。
程序名:BB2、PRG
SET TALK OFF
SET DEVICE TO PRINT
USE ZGDA@1,10 SAY"未婚职工情况表"
,2,10 SAY"==============--=============" ,3,1 &&输出空行
,4,1 SAY ″″
,5,1 SAY",职工编号,姓名,性别,出生年月,工 资," LOCATE ALL FOR .NOT. 婚否&&查找未婚记录
DO WHILE .NOT. EOF()
,PROW()+1,1 SAY″″
,PROW()+1,SAY″,″+职工号+″,″+姓名+″,″+SPACE(2)+性别+SPACE(2)+″,″+DTOC(出生日期)+″,″
,PROW(),39 SAY 工资
,PROW(),47 SAY″,″
CONTINUE
ENDDO
,PROW()+1,SAY″″
,PROW()+1,20 SAY"制表日期:"
,PROW()+1,30 SAY DATE()
,PROW()+1,1 SAY CHR(13)&&回车键功能
SET DEVICE TO SCREEN&&设置屏幕显示
USE
SET TALK ON
RETURN 五、程序的编译
FoxBASE程序与其它高级语言一样,也有两种执行方式:?解释执行;?编译执行。所不同是:高级语言程序经过编译后产生的是直接可运行的目标文件,而FoxBASE程序经编译后产生的是一种特殊代码文件,这种文件不能独立运行,只能在FoxBASE环境下(点状态)解释执行。
1 编译程序的使用
FoxBASE提供的编译程序名为FoxPCOMP.EXE,称为准编 译或伪编译,经准编译后所产生的目标文件称为准目标文件或伪目标文件。
该编译程序可直接在操作系统状态下使用,其格式如下:
C,FoxPCOMP,-E,,-0〈目标文件路径〉,〈源文件名表〉
2 运行目标文件
经过编译后的.FOX和.FMX文件只能在点状态下运行。例
如:DO CX
可见与运行源文件相同格式。如果有同名的源文件(.PRG)和目标文件(.FOX)同时存在,该命令将优先执行目标文件CX.FOX。对于多个程序的系统,一般要经过组合后再编译。
?过程及过程文件
在一个程序中,反复执行某一段程序是用循环结构来实现。但是,如果在同一程序的不同地方要多次执行某程序段,或在不同的程序中使用相同的程序段,循环结构就不能解决了。为此,FoxBASE提供了过程的方法来专门解决这类问题。 /一、过程的定义
过程有其特殊的结构形式,在过程中可以写入参数说明语句,用于接收其它程序调用时传来的数据。过程的一般结构如下:
,PARAMETERS〈形式参数表〉,
过程体
,RETURN,TO MASTER,,RETRY,
结构说明:
(1),PARAMETERS〈形式参数表〉,是参数说明语句。
(2)过程体是过程的核心部分,用它来完成过程的功能。
(3)RETURN语句用于终止该过程的执行,并控制返回到调用该过程的程序或过程中,继续执行调用语句之后的语句。
/二、过程的调用
如前所述的过程是以磁盘文件的形式,单独存储在磁盘上,所以也称外部过程。对于外部过程的调用通过DO命令来实现。
命令格式:DO〈过程名〉,WITH〈实际参数表〉,
/三、过程文件
在各个系统环境下,同时打开的文件个数都有一定的限制,调用过程太多时,将会造成系统无法正常运行。因此FoxBASE系统提供了过程文件的方式,即:在每个程序独立调试完成后,把一个个分散的程序文件组成一个大的文件,这个文件称为过程文件。 1、过程文件的建立
格式如下:
PROCEDURE〈过程名1〉
,PARAMETERS〈参数表1〉,
过程体1
,RETURN,TO MASTER,,RETRY,
PROCEDURE〈过程名2〉
,PARAMETERS〈参数表2〉,
过程体2
,RETURN,TO MASTER,,RETRY,
PROCEDURE〈过程名n〉
,PARAMETERS〈参数表n〉,
过程体n
,RETURN,TO MASTER,,RETRY,
过程文件是由一个个独立的过程组成,所不同的是,在每个过程的开头必须用关键词PROCEDURE,其后是过程名。除此之外,FoxBASE系统还提供了一个将过程自动组装在一起的实用程序FoxBIND.EXE,用于建立过程文件,其格式为: FoxBIND〈过程文件名〉〈外部过程名列表〉
2 过程文件的调用
对于一个外部过程,其调用可直接用DO命令来完成,而一个内部过程,在被调用前必须先打开它所在的过程文件,其命令是:
SET PROCEDURE TO,〈过程文件名〉,
可以用下列任一语句关闭过程文件;
SET PROCEDURE TO;
CLOSE PROCEDURE
QUIT
/四、自定义函数及其调用
所谓自定义函数,就是具有函数性质的程序或过程,所以也称为函数过程。 1、自定义函数的定义
自定义函数的内部结构形式如下:
,PARAMETERS〈形式参数表〉,
函数体
RETURN〈表达式〉
2、自定义函数的调用
因为自定义函数具有函数的性质,即:获得自变量、返回函数值。所以其调用方法与系统内部函数的调用方法完全相同,其格式为:
自定义函数名(,〈实际参数表〉,)
调用过程是用DO命令完成,而调用自定义函数不是用一条命令,而是用上述格式组成表达式。函数的返回值就是调用格式中的〈表达式〉值。
?数组及内存变量
/一.数组及应用
1 内存变量的两种形式
在FoxBASE系统中所使用的内存变量有两种形式,一种是简单变量,另一种是下标变量。简单变量是指相互独立存在的内存变量,例如:STORE 1 TO A,B,C其中A、B、C是三个相互没有联系的数值型内存变量,这种形式的内存变量称为简单变量。下标变量是指一组名字相同、按一定顺序排列的互有联系的变量。在FoxBASE中可以使用数组,数组用一组变量表示,给这组变量定义一个名字,用不同的下标区别每个变量,我们把这种名字相同,用下标区分的一组内存变量称为数组,其中每一个变
量称为数组元素。FoxBASE提供了一维和二维数组。
2 定义数组
命令格式:
DIMENSION〈数组名1〉(m1,,n1,,,〈数组2〉(m2,n2,)……, 其中,m1,m2……和n1,n2……代表值大于1的数值表示式(包括常数或变量)。 功能说明:定义一个或多个一维、二维数组,给出数组的名称和最大下标值。 3 数组赋值
当数组被定义后,每个数组元素都是逻辑型常数.F.,可以根据需要随时给数组元素赋以新的类型的值。给数组元素赋值的方式有两种:
(1)、对整个数组赋值
命令格式:STORE〈表达式〉TO〈数组名〉
或:〈数组名〉=〈表达式〉
(2)、给数组中某些元素赋值命令格式:SRORE〈表达式〉TO〈数组元素表〉 或:数组元素=〈表达式〉
4 数组与数据库之间交换数据
将数组里的数据,按需要存入数据库中,或者将数据库中的数据传输到数组中,以便完成数据处理的各种工作。这就是所谓的数组与数据库之间交换数据的问题。 (1)、将数据库中的数据装入数组
命令格式:SCATTER,〈字段名表〉,TO〈数组名〉
功能:该命令执行一次,就将当前记录的数据传送给指定的数组,记录指针的位置不改变。
(2)、将数组里的数据传送给数据库
格式:GATHER FROM〈数组名〉,FIELDS〈字段名表〉,
该语句的功能是用数组元素的值替换当前记录中指定字段的字段值。 /二.内存变量的操作
1 内存变量的作用域
在程序方式下,每一个内存变量(包括简单变量和数组变量)都有自己的有效范围,通常称之为作用域。
(1)、局部变量与全局变量
在程序方式下,未经特殊说明的内存变量,在产生它的程序运行结束时,便被自动清除了。这种只在使用它的程序中有效的内存变量,称为局部变量。相对于局部变量、具有全局属性的内存变量,在程序执行期间任何程序(过程)引用都始终有效。这种在程序终止执行也不能被自动清除的内存变量称为全局变量。
(2)、全局变量与局部变量的显示说明
内存变量的上述属性可以通过全局变量命令PUBLIC和局部变量命令PRIVATE来显示说明。
命令格式1:PUBLIC〈内存变量表〉
功能说明:指定〈内存变量表〉中的变量为全局变量,这些变量必须是未曾赋过值,
一旦指定后其初值为.F.,使用时可重新赋值。
命令格式2:PRIVATE〈内存变量表〉
或:PRIVATE ALL,LIKE,EXCEPT〈框架〉,
功能说明:把上级程序中定义的某些内存变量隐蔽起来,以便本级程序可以建立同名的内存变量,彼此互不影响。当本级程序运行结束时,本级所建的同名变量被清除,而被隐蔽的上级程序的内存变量将自动恢复。
2 内存变量的显示与释放
(1)、内存变量的显示
命令格式:LIST,DISPLAY MEMORY,TO PRINT,
(2)、内存变量的释放
所谓"释放"是将已定义的某些内存变量从内存中清除。
命令格式1:RELEASE〈内存变量表〉
命令格式2:RELEASE ALL,LIKE,EXCEPT〈框架〉,
命令格式3:CLEAR MEMORY
功能说明:删除所有的内存变量。
命令格式4:CLEAR ALL
功能说明:删除所有内存变量,并关闭已打开的所有文件,并将工作区A作为当前工作区。
3 内存变量文件
(1)、建立内存变量文件
命令格式:
SAVE TO〈内存变量文件名〉,ALL LIKE,EXCEPT〈框架〉,
(2)、保存屏幕映象
在程序调用的过程中,经常需要屏幕切换。即当前程序运行时需要清除上级屏幕信息,但执行完当前程序返回时又希望能恢复原始的上级屏幕状态,这就需要保存上级屏幕映象。
命令格式:SAVE SCREEN,TO〈内存变量〉,
(3)、恢复内存变量
命令格式:RESTORE FROM〈文件名〉,ADDITIVE,
功能说明:若没有使用可选项ADDITIVE,则恢复时先清除内存变量,再恢复;若使用了ADDITIVE选择项,则保存原有内存变量情况,并恢复。
(4)、恢复屏幕映象
命令格式:RESTORE SCREEN,FROM〈内存变量〉,
功能说明:该命令从缓冲区或内存变量中恢复事先存储在其内的屏幕映像。 ?系统运行环境设置
/一、系统环境参数设置命令
FoxBASE提供了两种类型的系统环境参数设置命令:一类是设置参数值的SET…TO命令,另一类是设置系统状态的SET…ON,OFF命令。
其格式为:
命令格式1:SET参数名TO参数值
命令格式2:SET参数名ON,OFF
FoxBASE提供了50多条这种系统环境参数设置命令,有些在前面各章节中已经提到过。
/二、DOS系统配置文件
FoxBASE在DOS操作系统支持下工作,DOS的系统配置文件是 CONFIG.SYS。
(1)设置打开文件数量
命令格式:FILES=n
(2)设置缓冲区数量
命令格式:BUFFERS=n
CONFIG.SYS是文本文件,它可以用任何一种文本编辑程序来建立。 /三、FoxBASE系统配置文件
除了DOS提供的系统配置文件之外,FoxBASE提供了自己的系统配置文件CONFIG.FX。每当FoxBASE启动时,FoxBASE就从CONFIG.FX文件中取出各个配置项,据此规定系统的状态与参数。
大多数SET命令可以表示为文件中的一个配置项。例如TALK=OFF表示SET TALK OFF。CONFIG.FX文件在启动FoxBASE时起作用。故若在FoxBASE中建立或修改这个文件,则存盘后还要退出FoxBASE,然后重新进入,才能使它生效。