开。在编辑相应的文档时,可根据需要选择【显示】菜单中的【工具栏】命令,打开【工具栏】对话框。用户可以利用【工具栏】对话框打开、定制、编辑、隐藏系统工具栏:也可以创建、删除自定义工具栏,但不可以删除系统工具栏(参阅本书第8章)。4.系统工作区“系统工作区”是位于“工具栏”和“状态栏”之间的空白区域,用于显示命令、程序的执行结果,各种工作窗口也都在这里打开并进行操作。5.“命令”窗口“命令”窗口是位于系统工作区里中,在“命令”窗口中可以输入、编辑、执行VFP系统命令,当结果内容超过窗口范围时,窗口的内容会自动向上滚动,但滚动出窗口外的内容将无法再使其滚动回来。用户可以在“命令”窗口输入【CLEAR】命令清除主窗口中的内容。在命令窗口中,每条命令输入后需按【Enter】键执行。如果要重复执行该命令,只需将光标移到该命令所在的行,然后按下【Enter】键。另外,当在VisualFoxPro6.0中执行菜单命令时,相应的命令也会自动显示在“命令”窗口内。“命令”窗口可以打开,也可隐藏。打开和隐藏“命令”窗口的常用方法如下。方法1:单击【命令】窗口右上角的【关闭】按钮,可以关闭【命令】窗口;执行【窗口】菜单中的【命令窗口】命令,可以打开【命令】窗口。方法2:重复单击【常用】工具栏上的【命令窗口】按钮,可以关闭或打开【命令】窗口。6.状态栏“状态栏”位于软件主窗口的底部,用于显示系统当前的操作状态等信息。2.2.4VisualFoxPro的工作方式VisualFoxPro6.0主要有两种工作方式:交互操作方式和程序执行方式。1.交互操作方式2.程序执行方式2.2.5VisualFoxPro命令格式及其语法规则VFP使用命令式的语言,一条命令可能相当于一般高级语言中的一段程序,能够完成一项相当复杂的功能。1.命令格式般地说,VFP的命令总是由一个称为命令字的动词开头,后随若干子句(称为一命令子句)或关键字。前者用来说明命令“做什么”,后者用来指明命令的操作对象、操作结果与操作条件等。这种命令格式规范、言简意、好记好用。VFP6.0有许多命令,每条命令都有确定的语法格式。例如,表记录的显示命令,其语法格式为:LIST|DISPLAY[[FIELDS]<字段名表>][<范围>][FOR<条件1>][WHILE<条件2>][0FF][TOPRINT[PROMPT]|TOFILE<文件名>]VFP命令格式中的[]、「、、<>等符号都不是命令本身的语法成分,使用时不能照原样输入,其中:【]:表示可选项,根据具体情况决定是否选用。·1:表示“或者”的意思,用户只能在两项或多项中选取其中一项
开。在编辑相应的文档时,可根据需要选择【显示】菜单中的【工具栏】命令,打开 【工具栏】对话框。用户可以利用【工具栏】对话框打开、定制、编辑、隐藏系统工 具栏;也可以创建、删除自定义工具栏,但不可以删除系统工具栏(参阅本书第 8 章)。 4.系统工作区 “系统工作区”是位于“工具栏”和“状态栏”之间的空白区域,用于显示命令、 程序的执行结果,各种工作窗口也都在这里打开并进行操作。 5.“命令”窗口 “命令”窗口是位于系统工作区里中,在“命令”窗口中可以输入、编辑、执行 VFP 系统命令,当结果内容超过窗口范围时,窗口的内容会自动向上滚动,但滚动出 窗口外的内容将无法再使其滚动回来。用户可以在“命令”窗口输入【CLEAR】命令 清除主窗口中的内容。在命令窗口中,每条命令输入后需按【Enter】键执行。如果 要重复执行该命令,只需将光标移到该命令所在的行,然后按下【Enter】键。 另外,当在 Visual FoxPro 6.0 中执行菜单命令时,相应的命令也会自动显示在 “命令”窗口内。“命令”窗口可以打开,也可隐藏。 打开和隐藏“命令”窗口的常用方法如下。 方法 1:单击【命令】窗口右上角的【关闭】按钮,可以关闭【命令】窗口;执 行【窗口】菜单中的【命令窗口】命令,可以打开【命令】窗口。 方法 2:重复单击【常用】工具栏上的【命令窗口】按钮,可以关闭或打开【命 令】窗口。 6.状态栏 “状态栏”位于软件主窗口的底部,用于显示系统当前的操作状态等信息。 2.2.4 Visual FoxPro 的工作方式 Visual FoxPro 6.0 主要有两种工作方式:交互操作方式和程序执行方式。 1.交互操作方式 2.程序执行方式 2.2.5 Visual FoxPro 命令格式及其语法规则 VFP 使用命令式的语言,一条命令可能相当于一般高级语言中的一段程序,能够 完成一项相当复杂的功能。 1.命令格式 一般地说,VFP 的命令总是由一个称为命令字的动词开头,后随若干子句(称为 命令子句)或关键字。前者用来说明命令“做什么”,后者用来指明命令的操作对象、 操作结果与操作条件等。这种命令格式规范、言简意赅、好记好用。VFP 6.0 有许多 命令,每条命令都有确定的语法格式。 例如,表记录的显示命令,其语法格式为: LIST|DISPLAY [[FIELDS]<字段名表>][<范围>][FOR <条件 1>][WHILE <条件 2>][OFF] [TO PRINT [PROMPT]|TO FILE<文件名>] VFP 命令格式中的[ ]、|、„、< >等符号都不是命令本身的语法成分,使用时 不能照原样输入,其中: [ ]:表示可选项,根据具体情况决定是否选用。 |:表示“或者”的意思,用户只能在两项或多项中选取其中一项
:表示可以有任意个类似参数,各参数间用逗号隔开。?<》:表示其中的内容为必选,要以实际名称或参数(通常由用户定义)代入。·():放在函数名后面,括号内为函数参数。以下给出了若干简单的VFP命令的示例。(1) useS(2)list(3)copytoNXSfor性别=”男(4)sorttoCSPXon出生日期fields学号,姓名,出生日期(5)replaceall民族with[汉]2.命令和子句的书写规则从以上的示例中不难看出,VFP的命令和子句书写应遵循以下规则。(1)VFP中文版允许命令中的专用名词使用汉字,但其余词汇仍使用英文。每条命令必须以命令动词开始,回车键结束。(2)命令动词与子句(如copy与toNXS)、子句与子句(如toCSPX与on出生日期)、子句内的各部分(如FOR与性别=”男,)之间必须用空格隔开。(3)命令子句写在命令动词后,数量不限,次序不影响命令的执行结果(例如,命令“copytoNXS for性别=”男’”和“copyfor性别=’男”to NXS”是等效的)。(4)命令动词与各子句中的保留字,包括以后将介绍的函数名都可简写为前4个字符,而且对其中出现的英文字母,使用大小写等效。例如,REPLACE可简写为REPL即可。(5)一般情况下,一行只能写一条命令,若一行写不下,可在行尾使用续行符“,”并回车分行,并在下一行继续键入该命令。(6)命令中出现的所有符号,如括号、逗号、双引号等应在英文半角状态下输入。3.常用子句VisualFoxPro的命令可以有多种子句,都写在命令动词之后,每一种子句表达一种功能,用来说明命令操作对象、操作结果和操作条件等信息。VFP常用的命令子句主要有如下几种。(1)范围子句范围子句用来确定执行该命令涉及的记录范围,一共有4种限定方法。OALL所有记录。②NEXT<n>从当前记录起的N个记录。③RECORD<n>第N个记录。OREST从当前记录起到最后一个记录为止的所有记录。例如:要显示当前表的第3条记录信息,可使用命令LISTRECORD3。(2)FOR子句与WHILE子句FOR子句与WHILE子句都用于把命令的操作限制于符合条件的记录。后跟一逻辑表达式,由它限制命令操作记录需满足的条件。但FOR子句与WHILE子句又有如下几点区别。①FOR子句将范围内的所有满足条件的记录都作为操作对象;WHILE子句将范围内的满足条件的记录作为操作对象,但碰见第1条不满足条件的记录时则停止操作而不管后面是否还有满足条件的记录。②当范围子句缺省时,FOR子句的操作对象是全部记录;而WHILE子句的操作对象是REST
„:表示可以有任意个类似参数,各参数间用逗号隔开。 < >:表示其中的内容为必选,要以实际名称或参数(通常由用户定义)代 入。 ( ):放在函数名后面,括号内为函数参数。 以下给出了若干简单的 VFP 命令的示例。 (1)use XS (2)list (3)copy to NXS for 性别=’男’ (4)sort to CSPX on 出生日期 fields 学号,姓名,出生日期 (5)replace all 民族 with [汉] 2.命令和子句的书写规则 从以上的示例中不难看出,VFP 的命令和子句书写应遵循以下规则。 (1)VFP 中文版允许命令中的专用名词使用汉字,但其余词汇仍使用英文。每 条命令必须以命令动词开始,回车键结束。 (2)命令动词与子句(如 copy 与 to NXS)、子句与子句(如 to CSPX 与 on 出 生日期)、子句内的各部分(如 FOR 与性别=’男’)之间必须用空格隔开。 (3)命令子句写在命令动词后,数量不限,次序不影响命令的执行结果(例如, 命令“copy to NXS for 性别=’男’ ”和“copy for 性别=’男’ to NXS”是等 效的)。 (4)命令动词与各子句中的保留字,包括以后将介绍的函数名都可简写为前 4 个字符,而且对其中出现的英文字母,使用大小写等效。例如,REPLACE 可简写为 REPL 即可。 (5)一般情况下,一行只能写一条命令,若一行写不下,可在行尾使用续行符 “;”并回车分行,并在下一行继续键入该命令。 (6)命令中出现的所有符号,如括号、逗号、双引号等应在英文半角状态下输 入。 3.常用子句 Visual FoxPro 的命令可以有多种子句,都写在命令动词之后,每一种子句表达 一种功能,用来说明命令操作对象、操作结果和操作条件等信息。 VFP 常用的命令子句主要有如下几种。 (1)范围子句 范围子句用来确定执行该命令涉及的记录范围,一共有 4 种限定方法。 ①ALL 所有记录。 ②NEXT <n> 从当前记录起的 N 个记录。 ③RECORD <n> 第 N 个记录。 ④REST 从当前记录起到最后一个记录为止的所有记录。 例如:要显示当前表的第 3 条记录信息,可使用命令 LIST RECORD 3。 (2)FOR 子句与 WHILE 子句 FOR 子句与 WHILE 子句都用于把命令的操作限制于符合条件的记录。后跟一逻辑 表达式,由它限制命令操作记录需满足的条件。但 FOR 子句与 WHILE 子句又有如下几 点区别。 ①FOR 子句将范围内的所有满足条件的记录都作为操作对象;WHILE 子句将范围 内的满足条件的记录作为操作对象,但碰见第 1 条不满足条件的记录时则停止操作而 不管后面是否还有满足条件的记录。 ②当范围子句缺省时,FOR 子句的操作对象是全部记录;而 WHILE 子句的操作对 象是 REST
③当FOR与WHILE子句同时存在时,WHILE子句优先于FOR子句。(3)FIELDS子句范围、FOR与WHILE子句都能将表中需要操作的记录筛选出来,FIELDS子句则能确定命令需要操作的字段。保留字FIELDS后面是<字段名表>,是由字段名或字段名构造的表达式,多个字段名(或其表达式)之间用逗号分隔。如命令中缺省该子句,则表示对表的所有字段执行操作。(4)TO子句用于指明命令操作结果的输出去向。如TOPRINTER,表示输出到打印机。2.2.6VisualFoxPro常见的文件类型VisualFoxPro中文件类型纷繁而复杂,最常见的是存储数据的数据库文件和存储程序的程序文件两种。第3章数据与数据运算导入新课表是处理数据、创建关系数据库的基本单元。因为只有当信息以表格形式存放时,数据才是有效利用的,所以对数据库的应用首先必须从表格开始。教学目的与基本要求1.理解表的概念,了解自由表和数据库表的区别。2.掌握常量、变量的数据类型以及表示方法。教学重点1.表的创建和基本操作。2.数据类型以及表示方法。教学难点1.数的建立。2.数据的存储方式以及维护。教学手段演示法、讲解法教学内容3.1 常量与变量3.1.1 常量【常量】指在命令操作或程序运行过程中其值始终保持不变的数据。常量在数据输入或者命令表达式中可以直接被引用。在VisualFoxPro中定义了6种类型常量。表 2-4序号类型描述1数值型常量常数,可以用科学计数法来表示,内存中占8个字节。2字符型常量即字符串,使用定界符,,、””、门括起来。最多254个字符。3日期型常量用于表示日期,使用时必须用括起来,系统默认/分隔符。常用的其他日期分隔符有-、下圆点和空格等。占用8个字节。4日期时间型常量表示日期和时间。[<日期>,<时间>),时间格式为[hh:mm:ssp]上午用a,下午p。用8个字节存储。5逻辑型常量逻辑型常量只两个值,逻辑真和逻辑假。一般是用字母.T.、.t.、.Y.、.y.表示真,用.F.、.f.、.N.、.n.表示假。只占一个字节
③当 FOR 与 WHILE 子句同时存在时,WHILE 子句优先于 FOR 子句。 (3)FIELDS 子句 范围、FOR 与 WHILE 子句都能将表中需要操作的记录筛选出来,FIELDS 子句则能 确定命令需要操作的字段。保留字 FIELDS 后面是<字段名表>,是由字段名或字段名 构造的表达式,多个字段名(或其表达式)之间用逗号分隔。如命令中缺省该子句, 则表示对表的所有字段执行操作。 (4)TO 子句 用于指明命令操作结果的输出去向。如 TO PRINTER,表示输出到打印机。 2.2.6 Visual FoxPro 常见的文件类型 Visual FoxPro 中文件类型纷繁而复杂,最常见的是存储数据的数据库文件和存 储程序的程序文件两种。 第 3 章 数据与数据运算 导 入 新 课 表 是 处 理 数 据 、创 建 关系数据库的基本单元。因为只有当信息以表 格 形 式 存 放 时 ,数 据 才 是 有 效 利 用 的 ,所 以 对 数 据 库 的 应 用 首 先 必 须 从 表格开始。 教 学 目 的 与 基 本 要 求 1. 理解表的概念,了解自由表和数据库表的区别。 2. 掌握常量、变量的数据类型以及表示方法。 教 学 重 点 1. 表的创建和基本操作。 2. 数据类型以及表示方法。 教 学 难 点 1. 数的建立。 2. 数据的存储方式以及维护。 教 学 手 段 演示法、讲解法 教 学 内 容 3.1 常量与变量 3.1.1 常量 【常量】指在命令操作或程序运行过程中其值始终保持不变的数据。常量在数据输入 或者命令表达式中可以直接被引用。在 Visual FoxPro 中定义了 6 种类型 常量。 表 2-4 序号 类型 描述 1 数值型常量 常数,可以用科学计数法来表示,内存中占 8 个字节。 2 字符型常量 即字符串,使用定界符’’、”、[]括起来。最多 254 个字符。 3 日期型常量 用于表示日期,使用时必须用{}括起来,系统默认/分隔符。常 用的其他日期分隔符有-、下圆点和空格等。占用 8 个字节。 4 日期时间型常量 表示日期和时间。{<日期>,<时间>},时间格式为[hh:mm:ssp] 上午用 a,下午 p。用 8 个字节存储。 5 逻辑型常量 逻辑型常量 只 两 个 值 , 逻 辑 真 和 逻 辑 假 。 一 般 是 用 字 母.T.、.t.、.Y.、.y.表示真,用.F.、.f.、.N.、.n.表示假。 只占一个字节
6货币型常量表示货币值。在前缀加“s”,占8个字节内存,用4位小数。1.数值型常量(1)由0~9、小数点和正负号构成。(2)合法形式包括整数、小数、用科学计数法。(3)取值范围(10位):-0.9999999999E+19~0.9999999999E+20例如:12、-120、2.71828、0.26E102.字符型常量(1)是用半角的单引号、双引号或方括号等定界符括起来的一串字符。(2)长度≤254(3)门为空串,长度为0。(4)空串和空格串是有区别的。例如:CHINA’、”李刚先生”、[807-4631]、[”IBM-PC”个人计算机]3.日期型常量格式:用0将年、月、日括起,年、月、日之间用分隔符,分隔符可以是/、二、和空格。(1)严格日期格式:【yyyy-mm-dd)命令方式:SETSTRICTDATETO0注意:年份必须是4位数字,年月日的次序不能颠倒,不能缺省,用8个字节表示取值范围是:(0001-01-01)~(*9999-12-31)。(2)默认日期格式:(mm/dd/yy)命令格式:SETSTRICTDATETO1注意:①(mm/dd/yy),年份可以是2位数字或4位数字,此格式命令会受语句SETDATETO和SETCENTURYTO设置的影响。②空白日期表示为:0、(/。(3)影响日期格式的设置命令格式1:SETMARKTO[日期分隔符]功能:设置日期型数据的分隔符,若SETMARKTO表示恢复默认斜杠分隔符格式2:SETDATETOMDY|DMY|YMD功能:设置日期显示的格式格式3:SETCENTURYON/OFF[世纪值]功能:设置(或关闭)成用4位数字显示年份《例)SETCENTURYON?[10/02/19994.日期时间型常量格式:[<日期>[,]<时间>}。(1)<日期>部分与D型常量相同。(2)<时间>格式为:[hh[:mm[:ss]】[a/b]]其中hh表示“时”,mm表示“分”,ss表示“秒”,a表示“上午”b表示“下午”;默认值是12:00:00a。(3)空白日期时间是/:)5.逻辑型常量逻辑值为真和假、.T.和.F.、.Y.和.N.。6.货币型常量(1)“g”开头。(2)默认4位小数,即小数位数不能超过4位,如果超过4为则多余的位数将被四
6 货币型常量 表示货币值。在前缀加“$”,占 8 个字节内存,用 4 位小数。 1. 数值型常量 (1)由 0~9、小数点和正负号构成。 (2)合法形式包括整数、小数、用科学计数法。 (3)取值范围(10 位):-0.9999999999E+19~0.9999999999E+20 例如:12、-120、2.71828、0.26E10 2. 字符型常量 (1)是用半角的单引号、双引号或方括号等定界符括起来的一串字符。 (2)长度≤254 (3)[]为空串,长度为 0。 (4)空串和空格串是有区别的。 例如:′CHINA′、 〞李刚 先生〞、 [807-4631]、[〞IBM-PC 〞个人计算机] 3. 日期型常量 格式:用{}将年、月、日括起,年、月、日之间用分隔符,分隔符可以是/、_、和空格。 (1)严格日期格式:{^yyyy-mm-dd} 命令方式:SET STRICTDATE TO 0 注意:年份必须是 4 位数字,年月日的次序不能颠倒,不能缺省,用 8 个字节表示 取值范围是:{^0001-01-01}~{^9999-12-31}。 (2)默认日期格式:{mm/dd/yy} 命令格式:SET STRICTDATE TO 1 注意: ①{mm/dd/yy},年份可以是 2 位数字或 4 位数字,此格式命令会受语句 SET DATE TO 和 SET CENTURY TO 设置的影响。 ②空白日期表示为:{}、{/}。 ⑬影响日期格式的设置命令 格式 1:SET MARK TO [日期分隔符] 功能:设置日期型数据的分隔符,若 SET MARK TO 表示恢复默认斜杠分隔符 格式 2:SET DATE TO MDY |DMY|YMD„„ 功能:设置日期显示的格式 格式 3:SET CENTURY ON/OFF[世纪值] 功能:设置(或关闭)成用 4 位数字显示年份 〈例〉SET CENTURY ON ?{10/02/1999 4.日期时间型常量 格式:{<日期>[,]<时间>}。 (1)<日期>部分与 D 型常量相同。 (2)<时间>格式为:[hh[:mm[:ss]] [a︱b] ] 其中 hh 表示“时”,mm 表示“分”,ss 表示“秒”,a 表示“上午”,b 表示“下午”; 默认值是 12:00:00 a。 (3)空白日期时间是{/:} 5.逻辑型常量 逻辑值为真和假、.T.和.F.、.Y.和.N.。 6.货币型常量 (1)“$”开头。 (2)默认 4 位小数,即小数位数不能超过 4 位,如果超过 4 为则多余的位数将被四
舍五入。(3)不能够用科学计数法来表示。7.定义常量(1)定义方式:#define<常量名》常量功能:定义<常量名>的值为常量。(2)可用类型:N、C、L、D、T。(3)用于程序方式,不能用于命令窗口。例:#defineaa$-61.8000?aa输出结果:-61.80003.1.2变量【变量】是一种在命令操作和程序运行中其值要发生变化的量。每一个变量都是用来存放数值的容器。在VisualFoxPro中,变量可以分为内存变量、数组、字段变量、系统变量。一、内存变量【内存变量】是内存中的一个存储区域,用来保存所需要的常数、中间结果或者对数据表或者数据库进行某一种处理后的结果。1.内存变量名的命名规则内存变量与字段和文件命名的规则有所不同,在VFP中除了字段和文件外,所有的用户命名,例如内存变量、函数的取名,均遵守一下规则:(1)以字母、汉字或者“”开头:(2)由汉字、字母、数字、组成;(3)至多128个字符;(4)不可以与系统保留字相同。所谓的系统保留字是指VFP语言使用的字,例如USE命令中的USE就是一个系统保留字;(5)以“”开头的变量通常是系统变量;(6)为了提高系统效率,建议不要使用汉字。(7)当内存变量名与字段变量名相同时,字段变量名优先于内存变量名,使用时可以在内存变量名前加上“M-》”以示区别,但赋值时不能使用该前缀。2.内存变量赋值命令命令格式1:<内存变量>=<表达式>命令格式2:STORE<表达式》TO<内存变量名表>功能:将<表达式>的值赋给<内存变量>或者<内存变量名表》。注意:(1)变量的类型由表达式的类型确定:(2)变量必须先赋值,后使用:(3)可对同一变量赋不同的值,该变量的类型及值以最近一次赋值为准。例:a=2&&将数值2赋给a,则a成为数值型变量b=5+6&&将5+6数值型表达式的值赋给变量bS=VFP'&字符串VFP赋给s,s值为VFP,为字符型变量例如:STORE 2 TO a&将数值2赋给a,则a成为数值型变量STORE2*3TOe,f&&计算2*3得6,将数值6赋给e和f3.表达式值的显示命令
舍五入。 (3)不能够用科学计数法来表示。 7.定义常量 (1)定义方式:#define <常量名> 常量 功能:定义<常量名>的值为常量。 (2)可用类型:N、C、L、D、T。 (3)用于程序方式,不能用于命令窗口。 例: #define aa $-61.8000 ?aa 输出结果: -61.8000 3.1.2 变量 【变量】是一种在命令操作和程序运行中其值要发生变化的量。每一个变量都是用来 存放数值的容器。在 Visual FoxPro 中,变量可以分为内存变量、数组、字 段变量、系统变量。 一、内存变量 【内存变量】是内存中的一个存储区域,用来保存所需要的常数、中间结果或者对数 据表或者数据库进行某一种处理后的结果。 1.内存变量名的命名规则 内存变量与字段和文件命名的规则有所不同,在 VFP 中除了字段和文件外,所有 的用户命名,例如内存变量、函数的取名,均遵守一下规则: (1)以字母、汉字或者“_”开头; (2)由汉字、字母、数字、_组成; (3)至多 128 个字符; (4)不可以与系统保留字相同。所谓的系统保留字是指 VFP 语言使用的字,例如 USE 命令中的 USE 就是一个系统保留字; (5)以“_”开头的变量通常是系统变量; (6)为了提高系统效率,建议不要使用汉字。 (7)当内存变量名与字段变量名相同时,字段变量名优先于内存变量名,使用时可 以在内存变量名前加上“M->”以示区别,但赋值时不能使用该前缀。 2.内存变量赋值命令 命令格式 1:<内存变量>=<表达式> 命令格式 2:STORE <表达式> TO <内存变量名表> 功能:将<表达式>的值赋给<内存变量>或者<内存变量名表>。 注意: (1)变量的类型由表达式的类型确定; (2)变量必须先赋值,后使用; (3)可对同一变量赋不同的值,该变量的类型及值以最近一次赋值为准。 例: a=2 && 将数值 2 赋给 a,则 a 成为数值型变量 b=5+6 && 将 5+6 数值型表达式的值赋给变量 b s=’VFP’ && 字符串 VFP 赋给 s,s 值为 VFP,为字符型变量 例如: STORE 2 TO a && 将数值 2 赋给 a,则 a 成为数值型变量 STORE 2*3 TO e,f && 计算 2*3 得 6,将数值 6 赋给 e 和 f 3.表达式值的显示命令