第 6章 Visual FoxPro 6.0简介学习要点
1,Visual FoxPro 6.0的特点
2、用户界面和工作方式
3、向导、设计器、生成器
4、数据类型、表达式、函数和命令第 6章 Visual FoxPro 6.0简介
6.1 Visual FoxPro 6.0的特点
6.2 Visual FoxPro 6.0的用户界面和工作方式
6.3 Visual FoxPro 6.0的辅助设计工具
6.4 Visual FoxPro 6.0的语言成分第 6章 Visual FoxPro 6.0简介
6.1 Visual FoxPro 6.0的特点
Visual FoxPro 6.0具有界面友好,工具丰富速度快等优点,并在数据库操作,数据库管理,可视化开发环境和面向对象程序设计方面都具有很强的功能,主要体现在以下 9个方面 。
⑴ 兼容性好 。
⑵ 增强了项目管理以及数据库管理功能 。
⑶ 应用程序开发更简便 。
6.1 Visual FoxPro 6.0的特点
⑷ 改进了程序调试工具 。
⑸ 更加简便的表设计和扩充内容的数据字典 。
⑹ 增强了查询和视图设计功能 。
⑺ 增强了表单设计功能 。
⑻ 更多更好的向导 。
⑼ 增强了 OLE与 ActiveX的集成 。
6.2 Visual FoxPro 6.0用户界面和工作方式
6.2.1 Visual FoxPro 6.0的启动和退出
1.启动在 Windows 98/2000中文版环境下安装
Visual FoxPro 6.0后,在,开始,菜单的
,程序,菜单下自动添加一个菜单以及子菜单,
选择它即可启动 Visual FoxPro 6.0。
6.2.1 Visual FoxPro 6.0的启动和退出图 6-1 Visual FoxPro 6.0启动菜单
6.2.1 Visual FoxPro 6.0的启动和退出图 6-2 Visual FoxPro 6.0主窗口
6.2.1 Visual FoxPro 6.0的启动和退出
2.退出退出 Visual FoxPro 6.0的方法有三种:
① 用鼠标单击 Visual FoxPro窗口的关闭按钮;
② 选择,文件,菜单中,退出,菜单项;
③ 在,命令,窗口中键入命令 QUIT,然后按下回车键 。
6.2.2 Visual FoxPro 6.0的用户界面与 所 有 的 Windows 应 用 程 序 一 样,
Visual FoxPro 6.0也采用图形用户界面,并在界面中大量使用窗口,图标,菜单等技术,
主要通过鼠标来操作 。
Visual FoxPro 6.0 的 界 面 是 典 型 的
Windows界面风格,由主窗口,,命令,窗口,
系统菜单,工具栏,状态条等构成 。
6.2.2 Visual FoxPro 6.0的用户界面
1.窗口窗口是从屏幕上划分出来的一个矩形区域,是图形用户界面提供的一个运行环境 。
图 6-3 Visual FoxPro 6.0窗口的工作状态
6.2.2 Visual FoxPro 6.0的用户界面
2.菜单
Visual FoxPro 6.0主要使用两类菜单:
下拉式菜单和弹出式菜单 。
系统菜单为下拉式菜单 。 它通常只显示菜单栏中的若干选项 。 如果有某个选项被选中,
该选项下方就会拉伸出一个子菜单 。 这也是下拉式菜单名称的由来 。 图 6-4显示了几个常用子菜单展开后的内容 。
6.2.2 Visual FoxPro 6.0的用户界面图 6-4 Visual FoxPro 6.0常用系统子菜单
6.2.2 Visual FoxPro 6.0的用户界面
Visual FoxPro 6.0菜单的敏感性主要体现在:
⑴ 子菜单的内容可变 。 以,显示,子菜单为例,
在没有打开任何文件的情况下,它只有,工具栏,一个菜单项;如果已打开了某个表,其子菜单将改变 。
⑵ 菜单项的颜色可变 。 菜单项有深,浅两种显示颜色,随当时的数据环境而变化 。 如果某一菜单项当前为灰色,表示它暂时不可使用 。
6.2.2 Visual FoxPro 6.0的用户界面
3.工具栏利用工具栏能够快速地访问常用的命令,
但工具栏中的按钮只能通过鼠标来使用 。 只要用户单击工具栏中的按钮,Visual FoxPro
6.0就执行指定给该按钮的命令或过程 。 Visual
FoxPro 6.0提供了多种工具栏,表 6-1中列出了部分工具栏的名称及其完成的功能 。
6.2.2 Visual FoxPro 6.0的用户界面表 6-1 Visual FoxPro 6.0提供的工具栏名称及其完成的功能工具栏 功 能 描 述常用 提供了在新建、打开、保存或打印各种数据库文件时最常用的按钮。
布局 在创建表单或报表时,用于对齐和调整控件的位置调色板 在创建表单或报表时,用于设定各种控件的颜色数据库设计器 用于创建数据库。只在激活数据库设计器时才显示查询设计器 用于建立查询。只有在打开查询设计器之后才显示该工具栏
6.2.2 Visual FoxPro 6.0的用户界面视图设计器 用于建立本地或远程视图。只有在打开视图设计器之后才显示该工具栏表单设计器 用于建立表单。当显示表单设计器时,
自动显示该工具栏表单控件 用于在表单上创建控件。在 Visual FoxPro 6.0中,
当打开表单设计器时,该工具栏不再自动显示报表设计器 用于建立报表。当显示报表设计器时,
自动显示该工具栏报表控件 用于在报表上创建控件。当打开报表设计器时,
自动显示该工具栏打印预览 用于修改预览的页面并进行放大或缩小
6.2.2 Visual FoxPro 6.0的用户界面
4.对话框对话框是以人 -机对话为主要目的的一类窗口,
在 Visual FoxPro 6.0中有着广泛的应用 。 用户可以通过对话框选择所需的数据或操作;借助于对话框引导用户正确地操作,或者向用户提供警告或提示信息 。 Visual FoxPro 6.0大量使用的向导,设计器等界面操作工具,实际上都是由一个个特定的对话框构成的 。
6.2.3 Visual FoxPro 6.0工作方式
Visual FoxPro 6.0和以前的版本一样,支持两种不同的工作方式,即交互操作方式与程序执行方式 。
1.交互操作方式
2.程序执行方式
6.3 Visual FoxPro 6.0的辅助设计工具为了加快应用程序的开发,减轻用户的程序设计工作量,Visual FoxPro 6.0
提供了 3类支持可视化设计的辅助工具,
现简单介绍如下 。
6.3.1向导 (wizard)
向导是一种快捷设计工具,通过一组对话框依次与用户对话,引导用户分步完成 Visual FoxPro 6.0
的某项任务,例如创建一个新表,建立一项查询或者设置一个报表的格式等 。
Visual FoxPro 6.0有 20余种向导工具 。 从创建表,视图,查询等数据文件,到建立报表,标签,表单,图表等 Visual FoxPro 6.0文档直至创建 Visual
FoxPro 6.0的应用程序,SQL服务器上的数据库等操作,均可使用相应的向导工具来完成 。
6.3.2设计器 (designer)
设计器一般比向导具有更强的功能,可用来创建或者修改 Visual FoxPro 6.0应用程序所需要的构件 。 例如使用表设计器来创建表,使用表单设计器来创建表单,等等 。
与向导相似,设计的对象也包括数据文件与
Visual FoxPro 6.0文档两大类 。
6.3.3生成器 (builder)
生成器 ( 即构造器 ) 的主要功能是在 Visual FoxPro 6.0应用程序的构件中生成并加入某类控件,例如要生成一个组合框,可使用组合框生成器来生成 。
6.3.3生成器 (builder)
图 6-5显示了,表单,生成器的对话框 。 从外观上看,它是一个选项卡对话框 。 通常每个生成器都包括一叠选项卡,可供用户设置所选定对象的属性 。
以上 3类辅助工具全部使用图形交互界面 。 通过直观,简单的人 -机交互操作,使用户轻松地完成应用程序的界面设计任务 。 不仅如此,所有上述工具的设计结果,都能自动生成 Visual FoxPro 6.0的代码,
使用户摆脱繁琐的编码任务,轻松地建立起自己的
Visual FoxPro 6.0应用程序 。
6.4 Visual FoxPro 6.0的语言成分作 为 数 据 库 管 理 系 统,Visual
FoxPro 6.0具有与其它高级语言相似的语言成分,包括命令 ( 或称为语句 ),函数,
表达式等 。 为叙述方便,先介绍 Visual
FoxPro 6.0中可以使用的数据类型 。
6.4.1 数据类型数据类型用于决定数据的存储方式和使用方式 。 在 Visual FoxPro 6.0中,每一个数据都有与其对应的数据类型,如时间
( Date),货币 ( Currency) 等类型 。 在同一类型的数据之间可以做某些运算,例如,
两个实数之间可以做乘法运算,但两个字符型数据不能做乘法运算 。 Visual FoxPro 中的数据类型如表 6-2所示 。
6.4.1 数据类型表 6-2 Visual FoxPro 的数据类型类 型 名 称 长 度
Character 字符型 (C) 每个字符占用一个字节
Numeric 数值型 (N) 8个字节
Currency 货币型 (Y) 8个字节
Date 日期型 (D) 8个字节
DateTime 日期时间型 (T) 8个字节
Logical 逻辑型 (L) 1个字节
6.4.1 数据类型
Float 浮点型 (F) 8个字节
Double 双精度型 (B) 8个字节
Integer 整型 (I) 4个字节
Memo 备注型 (M) 4个字节
General 通用型 (G) 4个字节
6.4.2 表达式表达式是 Visual FoxPro语言的重要成分 。 它具有计算,判断和数据类型转换等功能,广泛用于命令,
函数,对话框,控件及其属性之中 。 下面对构成表达式的主要成分加以介绍 。
1.常量常量是数据的存放形式之一,是指在命令操作或程序运行过程中不变化的数据 。 通常在命令表达式或程序中直接给出 。 常量具有数值型,字符型,日期型,
日期时间型,逻辑型和货币型等多种数据类型 。
6.4.2 表达式
⑴ 数值型常量整数,小数或科学计数法表达的数都是数值型常量 。 例如,100,3.14,8.98E6。
⑵ 字符型常量字符型常量是使用单引号,双引号或方括号 3种定界符之一括起来的字符串 。 例如,'计算机科学 ',"
中华人民共和国 ",[2.71828]。
Visual FoxPro 中字符串最大长度为 254个字符 。
6.4.2 表达式
⑶ 日期型和日期时间型常量日期 型常量必须 使用大括号 括起来 。 例如
{12/06/2003},{/}。
还有一种,严格的日期格式,为,^yyyy-mm-
dd[,][hh[:mm[:ss]][a|p]],格式中的符号 ^表示该日期格式是严格的,其中的 -号可用正斜杠代替 。 例如 {^09/25/2003}。
日期时间型常量表示日期,时间或者日期与时间,
例如 {11:11:11AM},{^09/25/2003,11:11:11}。
6.4.2 表达式
⑷ 逻辑型常量逻辑型常量只有真和假两种值,,T,,.
t,,,Y,和,y,都表示真;,F,,,f,,,N,和,
n,都表示假 。
⑸ 货币型常量货币型常量使用 $ 符号加上数值表示 。 例如 $ 15.2。
6.4.2 表达式
2.变量变量是数据的主要存放形式之一,是指在命令操作或程序执行期间可任意改变其值的量 。 Visual
FoxPro的变量包括字段变量和内存变量两种 。
⑴ 字段变量字段变量是依附于表文件而存在的,Visual
FoxPro 6.0的表文件相当于一个关系即二维表,字段变量相当于二维表中的数据项,例如 student表中的
,学号,,,姓名,,,年龄,等都是字段变量 。
6.4.2 表达式
⑵ 内存变量内存变量可用来存储数据,内存变量建立后存储于内存中 。
① 内存变量的种类
Visual FoxPro的内存变量可分为以下两种:
a,系统内存变量
b.用户定义的内存变量
② 内存变量命名原则
③ 内存变量的赋值
6.4.2 表达式命令格式:
格式 1,<内存变量 > = <表达式 >
格式 2,STORE <表达式 > TO <内存变量表 >
功能:计算 <表达式 >,然后将计算结果值赋给 <
内存变量 >。
说明:这两个命令的区别在于,前一个命令只能定义单个内存变量,而后一个命令可同时定义多个内存变量并赋予同一数据 。
6.4.2 表达式
④ 内存变量的显示可以通过命令来显示,查看当前已经定义的内存变量名,作用范围,类型和值 。
命令格式:
LIST | DISPLAY MEMORY [LIKE <通配符 >] [TO PRINTER [PROMPT] | TO
FILE <文件名 >]
功能:显示内存中的内存变量 。
6.4.2 表达式
⑶ 数组
① 数组的定义
② 数组的赋值在为数组赋值时,应遵循以下规则:
Visual FoxPro 中允许同一数组各元素值取不同类型,而且同一个元素的前,后类型也允许改变 。
可用赋值命令为数组元素单个赋值,也可以为整个数组的各个元素赋予相同值 。 如赋值命令 a=100可为上面定义的二维数组 a的 6个元素都赋予同样的初值
100。
6.4.2 表达式
3.运算符运算符是表示运算量之间运算方式的符号 。
Visual FoxPro 运算符共有 5种:
⑴ 算术,关系,逻辑运算符
① 算术运算的操作数必须是数值,运算的结果也是数值 。
② 关系运算操作数类型必须一致,比较的结果是逻辑值 。
③ 逻辑运算的操作数必须是能得出逻辑值的表达式,运算结果也是逻辑值 。
6.4.2 表达式表 6-3 Visual FoxPro 算术、关系、逻辑运算符运算 优先级 运 算 符 意 义
8 () 圆括号
7 ^ 或 * * 乘方
6 * 乘算术 / 除
5 % 取模
+ 加
- 减
6.4.2 表达式
< 小于
<= 小于等于
> 大于
4 >= 大于等于,
关系 = 相等
= = 完全相等
<>,# 或 != 不相等
$ 包含:左串是右串子串才为真
6.4.2 表达式
3 NOT 或 ! 非逻辑 2 AND 与
1 OR 或
⑵ 字符,日期时间运算符
① 字符运算符
② 日期时间运算符
6.4.2 表达式
4.表达式表达式是由常量,变量,函数,运算符及括号连接起来的用于描述数据之间运算关系的一种形式 。 单个的常量,变量或函数都是表达式 。 表达式的运算结果是一个值,其类型由表达式的类型确定 。
⑴ 表达式的类型
① 算术表达式
② 字符表达式
③ 逻辑表达式
④ 日期表达式
6.4.2 表达式
⑵ 表达式值显示命令当给每个内存变量赋值以后,即可通过显示表达式值命令,?,来显示内存变量的值 。
命令格式:
|<表达式 >
功能:计算表达式的值,并将其结果显示在屏幕上 。 这里,?,表示从屏幕下一行的第一列起显示结果;,??,表示从当前行的当前列起显示结果 。
6.4.3 函数函数是用来实现数据处理中特定的运算与操作 。
在 Visual FoxPro 中,函数分为系统提供的函数和用户自定义函数两种类型,在学习和使用函数时应注意以下几点:
⑴ 函数的调用格式,<函数名 >( [参数 ])
不同的函数有不同的参数个数,有的函数没有参数,称为哑参,但仍有返回值,例如函数 DATE( )
能返回系统的当前日期 。 无论有没有参数,括号都不能省略 。
6.4.3 函数
⑵ 参数的值和数据类型参数可以是一个表达式,大部分函数对其参数都有数据类型的规定,应注意避免因类型不匹配而引起的语法错误 。
⑶ 函数的值和数据类型函数调用后都会得到一个返回值,称为函数值 。
函数值都有规定的数据类型,函数值的类型就是函数的类型 。 在用函数值组成表达式时要特别注意类型的匹配 。
6.4.3 函数
1.系统函数系统函数 ( 亦称标准函数或简称函数 ) 用来实现数据处理中常用的特定运算与操作,实际上是系统事先编好的实现某种功能的程序段,供用户调用并产生结果 。 Visual FoxPro 提供了 200余种函数,大大地方便了用户的操作 。
Visual FoxPro函数按返回值类型可分为:数值型函数,字符处理函数,日期处理函数,逻辑型函数和其它函数 。
6.4.3 函数表 6-4 数值型函数函 数 功 能
ABS(<数值表达式 >) 求 <数值表达式 >的绝对值
SORT(<数值表达式 >) 求 <数值表达式 >的平方根
EXP(<数值表达式 >) 求 e的 <数值表达式 >次方的值
6.4.3 函数表 6-5 字符处理函数函 数 功 能
LEN(<字符表达式 >) 返回 <字符表达式 >的字符个数
VAL(<字符表达式 >) 将 <字符表达式 >转换成数值型数据
CHR(<数值表达式 >) 从 <数值表达式 >表示的
ASCII码返回字符
ASC(<字符表达式 >) 返回字符的 ASCII码值
6.4.3 函数表 6-6 日期处理函数函 数 功 能
CTOD(<字符表达式 >) 将 <字符表达式 >转换为日期
DTOC(<日期表达式 >) 将 <日期表达式 >转换为字符串
DATE() 返回系统的当前日期
YEAR(<日期表达式 >) 返回年份
6.4.3 函数表 6-7 逻辑型函数函 数 功 能
BOF([<工作区 >]) 记录指针指向首记录之前时返回,T.,
否则返回,F.
EOF([<工作区 >]) 记录指针指向末记录之后时返回,T.
否则返回,F.
FOUND([<工作区 >]) LOCATE,CONTINUE,SEEK,FIND
查到返回,T.,否则返回,F.
FILE([<字符表达式 >]) 文件 <字符表达式 >存在返回,T.
否则返回,F.
6.4.3 函数表 6-8 其它函数函 数 功 能
DBF([<工作区 >]) 返回工作区中打开表的名称
RECNO([<工作区 >]) 返回工作区中当前记录的记录号
TYPE(“<字符表达式 >”) 返回表达式类型,
6.4.3 函数
2.函数的基本用法
⑴ 将函数的返回值存入一个内存变量中 。 例如:
x = INT(123.45) && 用 INT( )函数得到数值的整数部分
x && x值为 123
⑵ 使函数直接在一个表达式中参与运算,例如:
y = ABS(-2.5)*2 && 用 ABS( )函数得到数值的绝对值,再参与运算
y && y值为 5.0
⑶ 用函数进行嵌套运算 。 例如:
s = ABS(INT(-12.8)) && 先对数值取整,再对 INT( )函数的返回值求绝对值
s && s值为 12
6.4.4 命令
Visual FoxPro 为命令式语言,一条命令相当于一般高级语言中的一段程序,能够完成一项相当复杂的功能 。
1.命令格式
Visual FoxPro 的命令一般由两部分构成,其格式为:
<命令动词 > <命令子句 >
命令动词表明命令要执行的操作 。 命令子句通常表示命令的操作对象,操作条件和操作结果 。
6.4.4 命令表 6-9 Visual FoxPro 命令一般格式与示例命令动词 操作对象 操作结果
USE Teacher
SUM 基本工资 TO s
REPLACE 基本工资 WITH 基本工资 *2
INDEX ON职称 TO zcidx
6.4.4 命令
2.命令特点
● 使用英文祈使句形式,命令的各部分简洁规范 。 命令接近自然语言形式,易于理解 。
● 命令中只讲对操作的要求,不描述具体操作过程 。
● Visual FoxPro 的命令既可逐条用交互的方式执行,也可编写成程序,以,程序文件,的方式执行 。
6.4.4 命令
3.命令分类在 Visual FoxPro 中,系统提供了近 500条命令,可以将其大致分为以下 7种类型 。
● 建立和维护数据库的命令 。
● 数据查询命令 。
● 程序设计命令,包括程序控制,输入 /输出,打印设计,
运行环境设置等命令 。
● 界面命令,包括菜单设计,窗口设计,表单 ( 及其控件 )
设计等命令 。
● 文件和程序的管理命令 。
● 面向对象的设计命令
● 其它命令
6.4.4 命令
4.常用的命令子句多数命令带有 [<范围 >],[FOR <条件 >]、
[WHILE <条件 >],[FIELDS <字段名表 >]等 4个常用子句 。
⑴ 范围子句
① ALL 全部记录
② NEXT <n> 从当前记录开始的 n个记录
③ REST 从当前记录开始的所有记录
④ RECORE <n> 记录号为 n的一个记录
6.4.4 命令
⑵ 条件子句条件子句实现的是关系运算特有的三种基本操作中的选择操作 。 FOR<条件 >和 WHILE<条件 >均是条件子句,指出参加操作的记录应满足的条件,其中
<条件 >一般为关系表达式或逻辑表达式 。
⑶ FIELDS子句
FIELDS<字段名表 >指出当前命令操作的字段,
即字段名表中的字段,实现的是关系运算特有的三种基本操作中的投影操作 。 <字段名表 >中的字段间用
“,,隔开 。
6.4.4 命令
5.命令的书写规则
⑴ 每个命令必须以命令动词开头,回车结束 。
⑵ 命令动词与子句,子句与子句,子句中的各个部分之间至少有一个空格,子句顺序可以任意,不影响执行的结果 。
⑶ 命令动词和子句以及系统函数均可简写为其英文单词的前 4个字母,并且大小写等效 ( 为区分系统保留字和用户字,
本书用小写字母表示用户字 ) 。
⑷ 一行只能写一条命令,命令行最长为 8192个字符 。 如果一条命令分成几个物理行,除最后一行外,其余各行应以
,;,加回车换行 。
习题
1.选择题
⑴ 按照数据模型划分,Visual FoxPro 6.0是 ____________。
A.层次型数据库管理系统 B.网状型数据库管理系统
C.关系型数据库管理系统 D.混合型数据库管理系统
⑵ 退出 Visual FoxPro 6.0的操作方法是 ____________。
A.选择,文件,菜单的,退出,命令 B.单击,关闭,按钮
C.在,命令窗口,中键入 QUIT,回车 D.以上方法都可以
⑶ 如在一个运算表达式中,有逻辑运算,关系运算,和算术运算混合在一起,
其中不含括号,它们的运算顺序是 。
A.逻辑,关系,算术 B.逻辑,算术,关系
C.关系,逻辑,算术 D.算术,关系,逻辑
⑷,数据库,这三个汉字作为字符串常量,在 Visual FoxPro中可表示为 。
A.{数据库 } B.( 数据库 ) C.数据库 D.,数据库,
习题
⑸ 如果当前表文件中的一个字段名与一个内存变量名都是 x,则执行命令,?
x”后显示的是 。
A.内存变量的值 B.字段变量的值 C.随机显示变量值 D.出错
⑹ 关于 Visual FoxPro 6.0数组的叙述中,错误的是 。
A.用 DIMENSION和 DECLARE都可以定义数组
B.Visual FoxPro 6.0只支持一维数组和二维数组
C.一个数组中各数组元素必须是同一种数据类型
D.新定义数组的各个数组元素初值为,F.
⑺ 结果为 "中华人民共和国 "的表达式是 。
A,"中华人民 "- "共和国 " B,"中华人民 共和国 "
C,"中华人民 "+ "共和国 " D,"中华人民 "+ "共和国 "
⑻ 表达式 VAL(SUBS("奔腾 586",5,1))*LEN("Visual FoxPro")的结果是 。
A.63.00 B.64.00 C.65.00 D.66.00
习题
2.填空题
⑴ Visual FoxPro 允许命令只用命令字的前个以上字符表示 。
⑵ 常量有字符型,数值型,逻辑型,日期型,
和 六种类型 。
⑶ 字符常量的定界符是:,或 。
⑷ 函数 ROUND(123456.789,-2)的值是 。
习题
⑸ 执行命令,? AT("科学 ","计算机科学与技术
")”的显示值是 。
⑹ 使用命令 DECLARE mm(2,3)定义的数组,
包含的数组元素个数为 个 。
⑺ 表达式,"北京 " # "北大 "”的值是 。
⑻ 如果想从字符串 "计算机科学 "中取出汉字 "科
",可以用函数 。
参考答案
1.选择题
⑴ C ⑵ D ⑶ D ⑷ D ⑸ B ⑹ C ⑺ C ⑻ C
2.填空题
⑴ 4 ⑵ 日期时间型,货币型
⑶ 单引号 ',双引号 ",方括号 [ ]
⑷ 123500 ⑸ 7
⑹ 6 ⑺,T.
⑻ SUBSTR("计算机科学 ",7,2)
1,Visual FoxPro 6.0的特点
2、用户界面和工作方式
3、向导、设计器、生成器
4、数据类型、表达式、函数和命令第 6章 Visual FoxPro 6.0简介
6.1 Visual FoxPro 6.0的特点
6.2 Visual FoxPro 6.0的用户界面和工作方式
6.3 Visual FoxPro 6.0的辅助设计工具
6.4 Visual FoxPro 6.0的语言成分第 6章 Visual FoxPro 6.0简介
6.1 Visual FoxPro 6.0的特点
Visual FoxPro 6.0具有界面友好,工具丰富速度快等优点,并在数据库操作,数据库管理,可视化开发环境和面向对象程序设计方面都具有很强的功能,主要体现在以下 9个方面 。
⑴ 兼容性好 。
⑵ 增强了项目管理以及数据库管理功能 。
⑶ 应用程序开发更简便 。
6.1 Visual FoxPro 6.0的特点
⑷ 改进了程序调试工具 。
⑸ 更加简便的表设计和扩充内容的数据字典 。
⑹ 增强了查询和视图设计功能 。
⑺ 增强了表单设计功能 。
⑻ 更多更好的向导 。
⑼ 增强了 OLE与 ActiveX的集成 。
6.2 Visual FoxPro 6.0用户界面和工作方式
6.2.1 Visual FoxPro 6.0的启动和退出
1.启动在 Windows 98/2000中文版环境下安装
Visual FoxPro 6.0后,在,开始,菜单的
,程序,菜单下自动添加一个菜单以及子菜单,
选择它即可启动 Visual FoxPro 6.0。
6.2.1 Visual FoxPro 6.0的启动和退出图 6-1 Visual FoxPro 6.0启动菜单
6.2.1 Visual FoxPro 6.0的启动和退出图 6-2 Visual FoxPro 6.0主窗口
6.2.1 Visual FoxPro 6.0的启动和退出
2.退出退出 Visual FoxPro 6.0的方法有三种:
① 用鼠标单击 Visual FoxPro窗口的关闭按钮;
② 选择,文件,菜单中,退出,菜单项;
③ 在,命令,窗口中键入命令 QUIT,然后按下回车键 。
6.2.2 Visual FoxPro 6.0的用户界面与 所 有 的 Windows 应 用 程 序 一 样,
Visual FoxPro 6.0也采用图形用户界面,并在界面中大量使用窗口,图标,菜单等技术,
主要通过鼠标来操作 。
Visual FoxPro 6.0 的 界 面 是 典 型 的
Windows界面风格,由主窗口,,命令,窗口,
系统菜单,工具栏,状态条等构成 。
6.2.2 Visual FoxPro 6.0的用户界面
1.窗口窗口是从屏幕上划分出来的一个矩形区域,是图形用户界面提供的一个运行环境 。
图 6-3 Visual FoxPro 6.0窗口的工作状态
6.2.2 Visual FoxPro 6.0的用户界面
2.菜单
Visual FoxPro 6.0主要使用两类菜单:
下拉式菜单和弹出式菜单 。
系统菜单为下拉式菜单 。 它通常只显示菜单栏中的若干选项 。 如果有某个选项被选中,
该选项下方就会拉伸出一个子菜单 。 这也是下拉式菜单名称的由来 。 图 6-4显示了几个常用子菜单展开后的内容 。
6.2.2 Visual FoxPro 6.0的用户界面图 6-4 Visual FoxPro 6.0常用系统子菜单
6.2.2 Visual FoxPro 6.0的用户界面
Visual FoxPro 6.0菜单的敏感性主要体现在:
⑴ 子菜单的内容可变 。 以,显示,子菜单为例,
在没有打开任何文件的情况下,它只有,工具栏,一个菜单项;如果已打开了某个表,其子菜单将改变 。
⑵ 菜单项的颜色可变 。 菜单项有深,浅两种显示颜色,随当时的数据环境而变化 。 如果某一菜单项当前为灰色,表示它暂时不可使用 。
6.2.2 Visual FoxPro 6.0的用户界面
3.工具栏利用工具栏能够快速地访问常用的命令,
但工具栏中的按钮只能通过鼠标来使用 。 只要用户单击工具栏中的按钮,Visual FoxPro
6.0就执行指定给该按钮的命令或过程 。 Visual
FoxPro 6.0提供了多种工具栏,表 6-1中列出了部分工具栏的名称及其完成的功能 。
6.2.2 Visual FoxPro 6.0的用户界面表 6-1 Visual FoxPro 6.0提供的工具栏名称及其完成的功能工具栏 功 能 描 述常用 提供了在新建、打开、保存或打印各种数据库文件时最常用的按钮。
布局 在创建表单或报表时,用于对齐和调整控件的位置调色板 在创建表单或报表时,用于设定各种控件的颜色数据库设计器 用于创建数据库。只在激活数据库设计器时才显示查询设计器 用于建立查询。只有在打开查询设计器之后才显示该工具栏
6.2.2 Visual FoxPro 6.0的用户界面视图设计器 用于建立本地或远程视图。只有在打开视图设计器之后才显示该工具栏表单设计器 用于建立表单。当显示表单设计器时,
自动显示该工具栏表单控件 用于在表单上创建控件。在 Visual FoxPro 6.0中,
当打开表单设计器时,该工具栏不再自动显示报表设计器 用于建立报表。当显示报表设计器时,
自动显示该工具栏报表控件 用于在报表上创建控件。当打开报表设计器时,
自动显示该工具栏打印预览 用于修改预览的页面并进行放大或缩小
6.2.2 Visual FoxPro 6.0的用户界面
4.对话框对话框是以人 -机对话为主要目的的一类窗口,
在 Visual FoxPro 6.0中有着广泛的应用 。 用户可以通过对话框选择所需的数据或操作;借助于对话框引导用户正确地操作,或者向用户提供警告或提示信息 。 Visual FoxPro 6.0大量使用的向导,设计器等界面操作工具,实际上都是由一个个特定的对话框构成的 。
6.2.3 Visual FoxPro 6.0工作方式
Visual FoxPro 6.0和以前的版本一样,支持两种不同的工作方式,即交互操作方式与程序执行方式 。
1.交互操作方式
2.程序执行方式
6.3 Visual FoxPro 6.0的辅助设计工具为了加快应用程序的开发,减轻用户的程序设计工作量,Visual FoxPro 6.0
提供了 3类支持可视化设计的辅助工具,
现简单介绍如下 。
6.3.1向导 (wizard)
向导是一种快捷设计工具,通过一组对话框依次与用户对话,引导用户分步完成 Visual FoxPro 6.0
的某项任务,例如创建一个新表,建立一项查询或者设置一个报表的格式等 。
Visual FoxPro 6.0有 20余种向导工具 。 从创建表,视图,查询等数据文件,到建立报表,标签,表单,图表等 Visual FoxPro 6.0文档直至创建 Visual
FoxPro 6.0的应用程序,SQL服务器上的数据库等操作,均可使用相应的向导工具来完成 。
6.3.2设计器 (designer)
设计器一般比向导具有更强的功能,可用来创建或者修改 Visual FoxPro 6.0应用程序所需要的构件 。 例如使用表设计器来创建表,使用表单设计器来创建表单,等等 。
与向导相似,设计的对象也包括数据文件与
Visual FoxPro 6.0文档两大类 。
6.3.3生成器 (builder)
生成器 ( 即构造器 ) 的主要功能是在 Visual FoxPro 6.0应用程序的构件中生成并加入某类控件,例如要生成一个组合框,可使用组合框生成器来生成 。
6.3.3生成器 (builder)
图 6-5显示了,表单,生成器的对话框 。 从外观上看,它是一个选项卡对话框 。 通常每个生成器都包括一叠选项卡,可供用户设置所选定对象的属性 。
以上 3类辅助工具全部使用图形交互界面 。 通过直观,简单的人 -机交互操作,使用户轻松地完成应用程序的界面设计任务 。 不仅如此,所有上述工具的设计结果,都能自动生成 Visual FoxPro 6.0的代码,
使用户摆脱繁琐的编码任务,轻松地建立起自己的
Visual FoxPro 6.0应用程序 。
6.4 Visual FoxPro 6.0的语言成分作 为 数 据 库 管 理 系 统,Visual
FoxPro 6.0具有与其它高级语言相似的语言成分,包括命令 ( 或称为语句 ),函数,
表达式等 。 为叙述方便,先介绍 Visual
FoxPro 6.0中可以使用的数据类型 。
6.4.1 数据类型数据类型用于决定数据的存储方式和使用方式 。 在 Visual FoxPro 6.0中,每一个数据都有与其对应的数据类型,如时间
( Date),货币 ( Currency) 等类型 。 在同一类型的数据之间可以做某些运算,例如,
两个实数之间可以做乘法运算,但两个字符型数据不能做乘法运算 。 Visual FoxPro 中的数据类型如表 6-2所示 。
6.4.1 数据类型表 6-2 Visual FoxPro 的数据类型类 型 名 称 长 度
Character 字符型 (C) 每个字符占用一个字节
Numeric 数值型 (N) 8个字节
Currency 货币型 (Y) 8个字节
Date 日期型 (D) 8个字节
DateTime 日期时间型 (T) 8个字节
Logical 逻辑型 (L) 1个字节
6.4.1 数据类型
Float 浮点型 (F) 8个字节
Double 双精度型 (B) 8个字节
Integer 整型 (I) 4个字节
Memo 备注型 (M) 4个字节
General 通用型 (G) 4个字节
6.4.2 表达式表达式是 Visual FoxPro语言的重要成分 。 它具有计算,判断和数据类型转换等功能,广泛用于命令,
函数,对话框,控件及其属性之中 。 下面对构成表达式的主要成分加以介绍 。
1.常量常量是数据的存放形式之一,是指在命令操作或程序运行过程中不变化的数据 。 通常在命令表达式或程序中直接给出 。 常量具有数值型,字符型,日期型,
日期时间型,逻辑型和货币型等多种数据类型 。
6.4.2 表达式
⑴ 数值型常量整数,小数或科学计数法表达的数都是数值型常量 。 例如,100,3.14,8.98E6。
⑵ 字符型常量字符型常量是使用单引号,双引号或方括号 3种定界符之一括起来的字符串 。 例如,'计算机科学 ',"
中华人民共和国 ",[2.71828]。
Visual FoxPro 中字符串最大长度为 254个字符 。
6.4.2 表达式
⑶ 日期型和日期时间型常量日期 型常量必须 使用大括号 括起来 。 例如
{12/06/2003},{/}。
还有一种,严格的日期格式,为,^yyyy-mm-
dd[,][hh[:mm[:ss]][a|p]],格式中的符号 ^表示该日期格式是严格的,其中的 -号可用正斜杠代替 。 例如 {^09/25/2003}。
日期时间型常量表示日期,时间或者日期与时间,
例如 {11:11:11AM},{^09/25/2003,11:11:11}。
6.4.2 表达式
⑷ 逻辑型常量逻辑型常量只有真和假两种值,,T,,.
t,,,Y,和,y,都表示真;,F,,,f,,,N,和,
n,都表示假 。
⑸ 货币型常量货币型常量使用 $ 符号加上数值表示 。 例如 $ 15.2。
6.4.2 表达式
2.变量变量是数据的主要存放形式之一,是指在命令操作或程序执行期间可任意改变其值的量 。 Visual
FoxPro的变量包括字段变量和内存变量两种 。
⑴ 字段变量字段变量是依附于表文件而存在的,Visual
FoxPro 6.0的表文件相当于一个关系即二维表,字段变量相当于二维表中的数据项,例如 student表中的
,学号,,,姓名,,,年龄,等都是字段变量 。
6.4.2 表达式
⑵ 内存变量内存变量可用来存储数据,内存变量建立后存储于内存中 。
① 内存变量的种类
Visual FoxPro的内存变量可分为以下两种:
a,系统内存变量
b.用户定义的内存变量
② 内存变量命名原则
③ 内存变量的赋值
6.4.2 表达式命令格式:
格式 1,<内存变量 > = <表达式 >
格式 2,STORE <表达式 > TO <内存变量表 >
功能:计算 <表达式 >,然后将计算结果值赋给 <
内存变量 >。
说明:这两个命令的区别在于,前一个命令只能定义单个内存变量,而后一个命令可同时定义多个内存变量并赋予同一数据 。
6.4.2 表达式
④ 内存变量的显示可以通过命令来显示,查看当前已经定义的内存变量名,作用范围,类型和值 。
命令格式:
LIST | DISPLAY MEMORY [LIKE <通配符 >] [TO PRINTER [PROMPT] | TO
FILE <文件名 >]
功能:显示内存中的内存变量 。
6.4.2 表达式
⑶ 数组
① 数组的定义
② 数组的赋值在为数组赋值时,应遵循以下规则:
Visual FoxPro 中允许同一数组各元素值取不同类型,而且同一个元素的前,后类型也允许改变 。
可用赋值命令为数组元素单个赋值,也可以为整个数组的各个元素赋予相同值 。 如赋值命令 a=100可为上面定义的二维数组 a的 6个元素都赋予同样的初值
100。
6.4.2 表达式
3.运算符运算符是表示运算量之间运算方式的符号 。
Visual FoxPro 运算符共有 5种:
⑴ 算术,关系,逻辑运算符
① 算术运算的操作数必须是数值,运算的结果也是数值 。
② 关系运算操作数类型必须一致,比较的结果是逻辑值 。
③ 逻辑运算的操作数必须是能得出逻辑值的表达式,运算结果也是逻辑值 。
6.4.2 表达式表 6-3 Visual FoxPro 算术、关系、逻辑运算符运算 优先级 运 算 符 意 义
8 () 圆括号
7 ^ 或 * * 乘方
6 * 乘算术 / 除
5 % 取模
+ 加
- 减
6.4.2 表达式
< 小于
<= 小于等于
> 大于
4 >= 大于等于,
关系 = 相等
= = 完全相等
<>,# 或 != 不相等
$ 包含:左串是右串子串才为真
6.4.2 表达式
3 NOT 或 ! 非逻辑 2 AND 与
1 OR 或
⑵ 字符,日期时间运算符
① 字符运算符
② 日期时间运算符
6.4.2 表达式
4.表达式表达式是由常量,变量,函数,运算符及括号连接起来的用于描述数据之间运算关系的一种形式 。 单个的常量,变量或函数都是表达式 。 表达式的运算结果是一个值,其类型由表达式的类型确定 。
⑴ 表达式的类型
① 算术表达式
② 字符表达式
③ 逻辑表达式
④ 日期表达式
6.4.2 表达式
⑵ 表达式值显示命令当给每个内存变量赋值以后,即可通过显示表达式值命令,?,来显示内存变量的值 。
命令格式:
|<表达式 >
功能:计算表达式的值,并将其结果显示在屏幕上 。 这里,?,表示从屏幕下一行的第一列起显示结果;,??,表示从当前行的当前列起显示结果 。
6.4.3 函数函数是用来实现数据处理中特定的运算与操作 。
在 Visual FoxPro 中,函数分为系统提供的函数和用户自定义函数两种类型,在学习和使用函数时应注意以下几点:
⑴ 函数的调用格式,<函数名 >( [参数 ])
不同的函数有不同的参数个数,有的函数没有参数,称为哑参,但仍有返回值,例如函数 DATE( )
能返回系统的当前日期 。 无论有没有参数,括号都不能省略 。
6.4.3 函数
⑵ 参数的值和数据类型参数可以是一个表达式,大部分函数对其参数都有数据类型的规定,应注意避免因类型不匹配而引起的语法错误 。
⑶ 函数的值和数据类型函数调用后都会得到一个返回值,称为函数值 。
函数值都有规定的数据类型,函数值的类型就是函数的类型 。 在用函数值组成表达式时要特别注意类型的匹配 。
6.4.3 函数
1.系统函数系统函数 ( 亦称标准函数或简称函数 ) 用来实现数据处理中常用的特定运算与操作,实际上是系统事先编好的实现某种功能的程序段,供用户调用并产生结果 。 Visual FoxPro 提供了 200余种函数,大大地方便了用户的操作 。
Visual FoxPro函数按返回值类型可分为:数值型函数,字符处理函数,日期处理函数,逻辑型函数和其它函数 。
6.4.3 函数表 6-4 数值型函数函 数 功 能
ABS(<数值表达式 >) 求 <数值表达式 >的绝对值
SORT(<数值表达式 >) 求 <数值表达式 >的平方根
EXP(<数值表达式 >) 求 e的 <数值表达式 >次方的值
6.4.3 函数表 6-5 字符处理函数函 数 功 能
LEN(<字符表达式 >) 返回 <字符表达式 >的字符个数
VAL(<字符表达式 >) 将 <字符表达式 >转换成数值型数据
CHR(<数值表达式 >) 从 <数值表达式 >表示的
ASCII码返回字符
ASC(<字符表达式 >) 返回字符的 ASCII码值
6.4.3 函数表 6-6 日期处理函数函 数 功 能
CTOD(<字符表达式 >) 将 <字符表达式 >转换为日期
DTOC(<日期表达式 >) 将 <日期表达式 >转换为字符串
DATE() 返回系统的当前日期
YEAR(<日期表达式 >) 返回年份
6.4.3 函数表 6-7 逻辑型函数函 数 功 能
BOF([<工作区 >]) 记录指针指向首记录之前时返回,T.,
否则返回,F.
EOF([<工作区 >]) 记录指针指向末记录之后时返回,T.
否则返回,F.
FOUND([<工作区 >]) LOCATE,CONTINUE,SEEK,FIND
查到返回,T.,否则返回,F.
FILE([<字符表达式 >]) 文件 <字符表达式 >存在返回,T.
否则返回,F.
6.4.3 函数表 6-8 其它函数函 数 功 能
DBF([<工作区 >]) 返回工作区中打开表的名称
RECNO([<工作区 >]) 返回工作区中当前记录的记录号
TYPE(“<字符表达式 >”) 返回表达式类型,
6.4.3 函数
2.函数的基本用法
⑴ 将函数的返回值存入一个内存变量中 。 例如:
x = INT(123.45) && 用 INT( )函数得到数值的整数部分
x && x值为 123
⑵ 使函数直接在一个表达式中参与运算,例如:
y = ABS(-2.5)*2 && 用 ABS( )函数得到数值的绝对值,再参与运算
y && y值为 5.0
⑶ 用函数进行嵌套运算 。 例如:
s = ABS(INT(-12.8)) && 先对数值取整,再对 INT( )函数的返回值求绝对值
s && s值为 12
6.4.4 命令
Visual FoxPro 为命令式语言,一条命令相当于一般高级语言中的一段程序,能够完成一项相当复杂的功能 。
1.命令格式
Visual FoxPro 的命令一般由两部分构成,其格式为:
<命令动词 > <命令子句 >
命令动词表明命令要执行的操作 。 命令子句通常表示命令的操作对象,操作条件和操作结果 。
6.4.4 命令表 6-9 Visual FoxPro 命令一般格式与示例命令动词 操作对象 操作结果
USE Teacher
SUM 基本工资 TO s
REPLACE 基本工资 WITH 基本工资 *2
INDEX ON职称 TO zcidx
6.4.4 命令
2.命令特点
● 使用英文祈使句形式,命令的各部分简洁规范 。 命令接近自然语言形式,易于理解 。
● 命令中只讲对操作的要求,不描述具体操作过程 。
● Visual FoxPro 的命令既可逐条用交互的方式执行,也可编写成程序,以,程序文件,的方式执行 。
6.4.4 命令
3.命令分类在 Visual FoxPro 中,系统提供了近 500条命令,可以将其大致分为以下 7种类型 。
● 建立和维护数据库的命令 。
● 数据查询命令 。
● 程序设计命令,包括程序控制,输入 /输出,打印设计,
运行环境设置等命令 。
● 界面命令,包括菜单设计,窗口设计,表单 ( 及其控件 )
设计等命令 。
● 文件和程序的管理命令 。
● 面向对象的设计命令
● 其它命令
6.4.4 命令
4.常用的命令子句多数命令带有 [<范围 >],[FOR <条件 >]、
[WHILE <条件 >],[FIELDS <字段名表 >]等 4个常用子句 。
⑴ 范围子句
① ALL 全部记录
② NEXT <n> 从当前记录开始的 n个记录
③ REST 从当前记录开始的所有记录
④ RECORE <n> 记录号为 n的一个记录
6.4.4 命令
⑵ 条件子句条件子句实现的是关系运算特有的三种基本操作中的选择操作 。 FOR<条件 >和 WHILE<条件 >均是条件子句,指出参加操作的记录应满足的条件,其中
<条件 >一般为关系表达式或逻辑表达式 。
⑶ FIELDS子句
FIELDS<字段名表 >指出当前命令操作的字段,
即字段名表中的字段,实现的是关系运算特有的三种基本操作中的投影操作 。 <字段名表 >中的字段间用
“,,隔开 。
6.4.4 命令
5.命令的书写规则
⑴ 每个命令必须以命令动词开头,回车结束 。
⑵ 命令动词与子句,子句与子句,子句中的各个部分之间至少有一个空格,子句顺序可以任意,不影响执行的结果 。
⑶ 命令动词和子句以及系统函数均可简写为其英文单词的前 4个字母,并且大小写等效 ( 为区分系统保留字和用户字,
本书用小写字母表示用户字 ) 。
⑷ 一行只能写一条命令,命令行最长为 8192个字符 。 如果一条命令分成几个物理行,除最后一行外,其余各行应以
,;,加回车换行 。
习题
1.选择题
⑴ 按照数据模型划分,Visual FoxPro 6.0是 ____________。
A.层次型数据库管理系统 B.网状型数据库管理系统
C.关系型数据库管理系统 D.混合型数据库管理系统
⑵ 退出 Visual FoxPro 6.0的操作方法是 ____________。
A.选择,文件,菜单的,退出,命令 B.单击,关闭,按钮
C.在,命令窗口,中键入 QUIT,回车 D.以上方法都可以
⑶ 如在一个运算表达式中,有逻辑运算,关系运算,和算术运算混合在一起,
其中不含括号,它们的运算顺序是 。
A.逻辑,关系,算术 B.逻辑,算术,关系
C.关系,逻辑,算术 D.算术,关系,逻辑
⑷,数据库,这三个汉字作为字符串常量,在 Visual FoxPro中可表示为 。
A.{数据库 } B.( 数据库 ) C.数据库 D.,数据库,
习题
⑸ 如果当前表文件中的一个字段名与一个内存变量名都是 x,则执行命令,?
x”后显示的是 。
A.内存变量的值 B.字段变量的值 C.随机显示变量值 D.出错
⑹ 关于 Visual FoxPro 6.0数组的叙述中,错误的是 。
A.用 DIMENSION和 DECLARE都可以定义数组
B.Visual FoxPro 6.0只支持一维数组和二维数组
C.一个数组中各数组元素必须是同一种数据类型
D.新定义数组的各个数组元素初值为,F.
⑺ 结果为 "中华人民共和国 "的表达式是 。
A,"中华人民 "- "共和国 " B,"中华人民 共和国 "
C,"中华人民 "+ "共和国 " D,"中华人民 "+ "共和国 "
⑻ 表达式 VAL(SUBS("奔腾 586",5,1))*LEN("Visual FoxPro")的结果是 。
A.63.00 B.64.00 C.65.00 D.66.00
习题
2.填空题
⑴ Visual FoxPro 允许命令只用命令字的前个以上字符表示 。
⑵ 常量有字符型,数值型,逻辑型,日期型,
和 六种类型 。
⑶ 字符常量的定界符是:,或 。
⑷ 函数 ROUND(123456.789,-2)的值是 。
习题
⑸ 执行命令,? AT("科学 ","计算机科学与技术
")”的显示值是 。
⑹ 使用命令 DECLARE mm(2,3)定义的数组,
包含的数组元素个数为 个 。
⑺ 表达式,"北京 " # "北大 "”的值是 。
⑻ 如果想从字符串 "计算机科学 "中取出汉字 "科
",可以用函数 。
参考答案
1.选择题
⑴ C ⑵ D ⑶ D ⑷ D ⑸ B ⑹ C ⑺ C ⑻ C
2.填空题
⑴ 4 ⑵ 日期时间型,货币型
⑶ 单引号 ',双引号 ",方括号 [ ]
⑷ 123500 ⑸ 7
⑹ 6 ⑺,T.
⑻ SUBSTR("计算机科学 ",7,2)