VFLab.docx
《VFLab.docx》由会员分享,可在线阅读,更多相关《VFLab.docx(85页珍藏版)》请在冰点文库上搜索。
VFLab
实验一熟悉VisualFoxPro6.0环境
一、目的和要求
1.了解VisualFoxPro6.0的基本特点。
2.熟悉VisualFoxPro6.0的界面操作方式和命令操作方式。
3.熟悉VisualFoxPro6.0的辅助设计工具(向导、设计器、生成器)。
4.熟悉项目管理器的操作和作用。
二、实验原理
1、什么是数据库系统?
简而言之,数据库系统就是基于数据库的计算机应用系统。
一般包括四个部分:
数据库、数据库管理系统、应用程序和系统管理员。
2、VFP界面组成与操作
VFP采用图形用户界面,也称WIMP界面:
W→Windows(窗口),I→Icons(图标),M→Menus(菜单),P→Pointingdevice(指点式输入设备,鼠标(1964年由恩格巴特发明))。
VFP的界面组成
1、窗口
1.1、程序窗
1.2、命令窗
命令窗是基于WIMP的多窗口技术,可以在程序窗的工具栏上点击相应图标设置出现与否,其主要作用是显示命令,适用于两种情况。
1.3、工具窗
VFP的工具栏有条形和窗形两种,一般地,常用工具栏为条形,其余均为窗形。
2、图标
图标用来显示不同程序和文件的小图像,在VFP的界面处处可见,用图标代表按钮对应的程序。
比如狐狸头和笔图标分别代表主程序窗和命令窗的对应程序,直观、形象。
3、菜单
VFP的菜单具有敏感性,主要表现在:
1)子菜单内容可变;
2)菜单项颜色可变:
深色表示可用,浅色表示暂时不能使用。
附加符号:
_英文字母:
该菜单项的访问键;√:
功能有效;…:
打开同名的对话框。
4、对话框
对话框是VFP的主要人-机对话手段,可以选择所需的数据和操作,可以引导用户正确操作,或者提供警告、提示信息。
在面向对象的设计中上述控件对应的名称:
单选钮:
optionbutton;复选框:
checkboxes;命令钮:
commandbutton;列表框:
listbox;组合框:
combobox;微调控件:
spinner
与程序窗和命令窗不同,对话框一般不设置最大化、最小化按钮。
另外,对话框的结构可以是很简单的提示对话框,也可以是比较复杂的带“选项卡”形式的对话框。
VFP的操作方式
利用VFP进行设计时,可以采用界面操作方式,比如通过点击菜单,用户使用菜单和对话框完成所有操作,也可以采用命令操作方式,在命令窗口输入命令并且执行命令。
1.界面操作方式
1)鼠标操作:
单击,双击,拖动;
2)窗口操作:
打开窗口(命令,工具,菜单),关闭,移动,改变大小,最大化,最小化;
3)菜单操作:
下拉式菜单(选定子菜单→选定菜单命令),可以用鼠标,也可以用键盘;快捷菜单操作(单击鼠标右键打开,左键关闭);
4)对话框操作:
按钮;文本框;选择框(⊙表示单选钮选中,☑表示复选框选中);列表框;组合框(通过单击文本框右侧的按钮可以控制列表框的收起与展开);微调控件(增1减1)。
2.命令操作方式
VFP的命令操作方式可以是交互式的命令操作(操作方便,执行速度低),也可以是将VFP的命令编成程序文件调用执行,以减少用户的介入(执行效率高,可重复执行,对使用者要求低)
2.1VFP的命令格式
VFP的语言是命令式的语言,一条命令可能相当于一般高级语言的一段程序。
一般地,VFP的命令总是由一个称为命令字的动词开头,后随一个宾语和若干子句,用来说明命令的操作对象、操作结果和操作条件。
例:
①useSB&&打开名称为SB的表文件
命令字操作对象
②listfor价格<10000&&显示价格低于1万元的设备
命令字操作条件
③sorttoJGPXon价格fields名称,价格
命令字价格排序新表以价格排序显示字段
2.2VFP的命令特点
1)采用英文祈使句形式,简洁易懂(汉字只能表示专用名词);
2)“非过程化”语言,只讲操作要求,不描述具体过程,言简意赅;
3)操作对象、结果和条件均可用命令子句形式表示,子句数量不限,顺序不拘,十分灵活。
2.3命令分类
VFP拥有近500条命令,大致可以分为7类:
1)建立和维护数据库的命令:
CREATE(MODIFY)DATABASE;DELETEDATABASE
2)数据查询命令:
LOCATEFOR;SEEK(FIND)
3)程序设计命令:
DO;CALL;IF…ENDIF;RETURN
4)界面设计命令:
CREATEMENU;ONBAR;DEFINEWINDOW;CREATESCREEN
5)文件和程序的管理命令:
CD;COPYFILE;RENAME;TYPE
6)面向对象的设计命令:
ADDCLASS;CREATECLASS;DISPLAYOBJECTS
7)其他命令:
环境设置;数据格式化;操作符;网络命令等
三、VFP的辅助设计工具和项目管理器
向导
向导是一种快捷设计工具,它通过一组对话框依次与用户对话,引导用户分步完成VFP的某项任务。
操作过程与Windows系统的安装和应用软件的安装过程类似,不再赘述。
VFP有20余种向导工具(见表2):
利用向导进行设计的最大特点是“快”,但也决定其完成任务比较简单。
一般是先用向导创建一个较简单的框架,然后再用相应的设计器进一步修改。
设计器
设计器是比向导功能更加强大的用于创建或修改VFP应用程序构件(比如表、表单)的工具,设计的对象包括数据文件和VFP文档两大类。
VFP6.0中的设计器见表3。
生成器
生成器是在VFP应用程序的构件中生成并加入某类控件(比如组合框、列表框),VFP6.0提供10种生成器(表4)。
项目管理器
辅助设计工具能够加快项目的开发,而项目管理器能够对项目的开发与维护给予有效支持。
在VFP中,项目管理器一方面通过项目文件对项目中的数据和对象进行集中管理,另一方面借助界面十分友好的集成环境,使用户能够方便地访问VFP提供的工具栏、快捷菜单和各种辅助设计工具,所以,项目管理器也称为VFP的“控制中心”。
项目管理器主要有以下功能:
1)采用目录树结构,使项目内容一目了然;
2)设置多种功能按钮,为项目内容的创建、修改和增删提供了很大方便;
3)支持项目建立数据词典,使数据库表在功能上大大强于自由表。
实验二表的基本操作及常用命令子句
一、目的和要求(Purposeandrequirements)
5.掌握自由表的创建。
6.了解内存变量与字段变量的使用。
7.掌握表达式的计算与使用。
8.掌握常用函数的使用。
二、实验原理(Principle)
一、表的基本操作
1.1表结构的含义
首先要明白什么是表结构?
概括而言,就是指二维表标题栏的列标题(字段)的数目和和属性。
建立表结构就是定义各个字段的属性,比如字段名,字段类型,字段宽度和小数位数等。
表结构确定下来,再将标题栏下方的内容输入表中成为表的数据,每一行数据称为表的一个记录。
可见,表由结构和数据两部分组成。
图1显示打开“设备清单”表(书中表2.1)的界面。
1.2表结构设计须知
字段名:
字段名用来标识字段,以字母或汉字开头,可以包含字母、汉字、数字、下划线,长度不超过10;
字段类型与宽度:
字段类型与宽度用来描述字段值,具体情况见表1:
说明:
对于字符型、数值型和浮动型字段,需要根据实际存储数据需要设定合适宽度;其他的都由VFP规定,其中,备注型和通用型字段的宽度均为4个字节,用于表示数据在.FPT文件中的存储地址。
小数位数
只有数值型、浮动型和双精度型字段才有小数位数,其中,小数点和正负号均占一位(一位由一个字节表示),所以,对于纯小数,其小数位数至少应比字段宽度小1。
1.3利用界面操作方式建立表结构
先熟悉两个基本操作:
1)显示命令窗口:
点击“窗口”菜单,选择“命令窗口”命令或按快捷键Crtl+F2;
2)隐藏命令窗口:
点击“窗口”菜单,选择“隐藏(hide)”命令
再了解一下命令窗口功能:
1)键入VFP命令,回车执行;
2)菜单或按钮的操作会自动以命令形式显示于命令窗口;
3)保留执行过的命令,可以减少命令的重复输入。
例:
采用界面操作方式建立SB.DBF的结构。
1)开始建表:
“文件”菜单→“新建”命令→“表”选项→“新建文件”按钮→出现创建表对话框;
2)命名并选择保存路径:
输入表名→选择保存路径→选择保存类型(.dbf)→“保存”按钮→出现表设计器;
3)使用表设计器设定各字段的属性值:
逐个字段设置→“确定”按钮→出现输入记录询问对话框→“否”按钮→关闭表设计器窗口(以后可以打开记录编辑窗口再输入表数据)。
1.4如何打开和关闭表?
要对表进行修改或检索,需要先打开表
1.4.1打开表的方法
方法一:
用USE命令打开:
USE[<文件名>]
说明:
在当前工作区中打开表,若该表有备注型或通用型字段,则自动打开同名的.FPT文件;打开一个表时,该工作区中原来打开的表自动关闭;表刚打开时,记录指针指向第一个记录。
方法二:
用界面操作方式打开:
“文件”菜单→“打开”命令→打开对话框操作(选择文件夹,表名,表类型)→“确定”按钮
说明:
若要修改结构或记录,应该选中打开对话框中“独占(Exclusive)”复选框,否则打开的表是只读的,不能修改。
方法三:
通过窗口菜单的数据工作期命令打开表
1.4.2关闭表的方法
方法一:
用USE命令来关闭:
USE
说明:
USE不带表名表示关闭当前工作区的表;
方法二:
用CLEARALL(关闭所有表,选择工作区1,释放内存变量和用户定义菜单和窗口,不释放系统变量)│CLOSEALL(关闭所有打开的数据库、表以及表单设计器等辅助设计工具,选择工作区1)│CLOSEDATABASE[ALL](关闭当前数据库及其中表,若无打开的数据库,则关闭所有自由表,选择工作区1)│CLOSETABLES[ALL]关闭当前数据库中所有的表,但不关闭数据库,若无打开的数据库,则关闭所有自由表;
方法三:
通过窗口菜单的数据工作期命令关闭表;
方法四:
通过退出VFP来关闭表。
说明:
“文件”菜单→“退出”命令或在命令窗口中键入QUIT命令。
1.5如何修改表结构?
表建立后若要修改结构,比如改变字段属性、增加或删除字段等,可以利用表设计器或表向导进行操作。
1.5.1利用表设计器修改表结构
前提:
将表打开
1)菜单操作方式:
“显示”菜单→“表设计器”命令→出现表设计器→修改表结构;
说明:
修改过表结构后,选择“确定”按钮出现询问“结构更改为永久性更改?
”的信息窗口,选择“是”表示更改有效,选择“否”表示放弃修改;若按“取消”按钮,出现询问“放弃结构更改?
”信息窗口,选“是”表示修改无效,选“否”表示继续修改。
2)命令操作方式:
在命令窗口键入“MODIFYSTRUCTURE”。
1.5.2利用表向导修改表结构
前提:
已有表
1)“文件”菜单→“新建”命令→“表”选项按钮→“向导”按钮→表向导对话框;
2)“工具”菜单→“向导”命令→“表”子命令。
说明:
出现表向导对话框后,进行选表、确定字段等操作,之后按照提示逐步完成修改。
1.6表设计器的组成
表打开以后,在程序窗口界面,点击“显示”菜单,选择“表设计器”命令,可以打开表设计器(如图2所示)。
表设计器包括字段、索引、表三个选项卡,可以创建并修改数据库表、自由表、字段和索引,或实现诸如有效性规则和默认值等高级功能。
1.7如何进行表数据的输入和修改?
如果在建表时没有向表中输入数据,可以在程序窗口打开记录编辑窗口和备注型、通用型字段编辑窗口进行数据输入。
1.7.1打开记录编辑窗口
首先按照前述方法打开表,然后选定“显示”菜单的浏览命令。
此时“显示”菜单会出现“编辑”命令选项,可以进行“浏览”方式(二维表格显示)和“编辑”方式(一个字段占一行,记录按字段竖直排列)的切换,也可以选择“一窗两区”的方式进行修改。
说明:
选用“一窗两区”后,光标所在分区称为活动分区。
活动分区的数据修改后,另一分区的数据会随之变化。
如果“表”菜单的“链接”命令选中,则在一个分区选择某记录时,在另一分区可以看到该记录的全貌。
解除“链接”后,两个分区可以显示不同的记录。
1.7.2光标移到需修改处,进行修改
说明:
对于备注型和通用型字段的编辑,需要双击或按组合键“Ctrl+PgDn”打开相应字段编辑窗口。
若某记录的备注型和通用型字段非空,其字段标志首字母将以大写显示(Memo或Gen)。
另外,对于日期型数据,可以用命令SETDATEANSI和SETDATEAMERICAN在中国日期格式和美国日期格式之间进行转换。
注意:
关闭编辑窗口并不意味着表会关闭!
1.7.3追加与删除记录(界面操作方式)
1)追加记录:
选择“显示”菜单的“追加方式”命令(连续追加)或选择“表”菜单中的“追加记录”按钮(添加一个记录)。
2)删除记录:
先在要删除的记录打上删除标记(点击记录左侧的矩形区域,使其变黑;再次点击,可以恢复记录),然后选定“表”菜单的“彻底删除(PACK)”命令,将所有具有删除标记的记录从磁盘上删除。
1.7.4通用型字段处理
通用型字段可以处理除数字、文本以外的图形、图像和声音等多媒体数据,与备注型字段类似,其内容也存储在.FPT文件中,如内容非空,则显示为Gen,也是通过双击或按Ctrl+PgDn组合键进入编辑窗口,或用命令MODIFYGENERALXX打开,按Ctrl+W或双击关闭编辑窗口。
1)通用型字段数据的输入
操作步骤:
“文件”菜单→“打开”命令→“表”选项→“确定”按钮→“显示”菜单→“浏览”命令→双击通用字段的gen区→出现通用型字段编辑窗口→“编辑”菜单→“插入对象”
命令→插入对象对话框→选定插入文件(创建或浏览选择)→“确定”按钮。
2)通用型字段数据的编辑
操作步骤:
双击通用型字段窗口→进入插入对象编辑环境→进行编辑;
说明:
需要注意插入对象时是否选定“链接”复选框,如选定,直接修改源对象,如未选,则直接修改通用型字段的图形。
实际上,“链接”复选框的选择与否,直接与OLE技术的链接和嵌入技术对应。
在OLE中,存储源对象的应用程序称为OLE服务器,存储链接或嵌入对象的应用程序称为OLE客户。
链接方式可以节省存储空间。
3)通用型字段数据的删除
操作步骤:
双击通用型字段窗口→“编辑”菜单→“清除”命令→Gen变化为gen。
二.表达式初步
1.常量
常量是固定不变的数据,可以是表1所示类型:
2.变量
变量是在命令操作和程序运行中其值允许变化的量,包括内存变量、字段变量和系统内存变量。
其特点见下表。
3.表达式的显示命令
命令格式:
?
│?
?
<表达式表>
功能:
计算表达式的值,并将其显示在屏幕上。
说明:
?
表示从屏幕下一行的第一列起显示结果;?
?
表示从当前行的当前列起显示结果。
(也是二者的区别)<表达式表>表示可用逗号来隔开多个表达式,命令执行时遇到逗号就空一格。
4.运算符
VFP共有5种运算符,具体情况及说明见表3。
如果一个表达式包含多种运算,表达式计算按优先级从高到低执行,比如计算表达式“.T.AND“ABC>”>“AB””,VFP将先比较字符串“ABC”和“AB”的大小,然后进行运算;表达式值的类型决定表达式的类型。
5.函数
VFP提供了200余种函数,具有强大的功能。
5.1函数要素
1)函数名:
标识函数;
2)参数:
一般是表达式形式的自变量,写在括号内;
3)函数值:
函数运算后的返回值,因参数值而异。
例:
?
SQRT(4)&&显示2.00
函数名参数函数值
5.2函数类型
与表达式类型一样,函数类型取决于函数值的类型。
使用TYPE函数能返回表达式的类型,也能测出函数的类型。
如:
?
TYPE(“DATE()”)&&显示D,表明函数DATE()是日期型函数
5.3常用函数
VFP常用的函数,如数值型函数、字符处理函数、日期处理函数、逻辑型函数列于表4:
三、实验内容及步骤(Experimentalcontentandprocedures)
1.建立习题2-1的商品表SB.DBF,表结构和数据如下。
表文件结构:
字段名类型宽度小数位数
货号字符型6
品名字符型8
进口逻辑型1
单价数值型72
数量数值型20
开单日期日期型8
生产单位字符型16
备注备注型4
商标通用型4
记录数据:
货号品名进口单价数量开单日期生产单位备注商标
LX-750影碟机T5900.00496/08/10松下电器公司
YU-120彩电F6700.00496/10/10上海电视机厂
AX-120音响T3100.00595/10/11日立电器公司
DV-430影碟机T2680.00396/09/30三星公司调价涨
FZ-901取暖器F318.00696/09/05富利电器厂
LB-133音响T4700.00895/12/30索尼公司
SY-701电饭锅F258.001096/08/19爱德电器厂属改进型
NV-920录放机T1750.00696/07/20先锋电器公司
2.1)显示sb表的前3条记录;
2)列出1995年前所启用设备的编号、名称、价格与启用日期。
(list编号,名称,价格,启用日期foryear(启用日期)<1995)
3.操作表SB.DBF,完成如下练习。
(list操作命令)
1、显示第5个记录;
2、第3个记录开始的共5个记录;
3、把第3个记录到第5个记录显示出来;
4、显示数量少于5的货号、品名与生产单位;
5、显示进口商品或95年开单的商品信息;
6、显示上海商品信息;
7、显示单价大于4000的进口商品信息或单价大于5000的国产商品信息;
8、列出1995年开单的商品的货号、品名、单价与开单日期,其中单价按9折显示;
9、列出单价小于2000以及单价大于5000的进口商品信息;
10、显示从第3个记录开始的所有国产商品信息;
11、列出货号的后3位为“120”的全部商品信息;
12、列出货号第1个字母为“L”或第2个字母为“V”的全部商品信息;
13、列出公司生产的单价大于3000的所有商品信息。
实验三表的维护命令
一、目的和要求
1.掌握记录指针定位命令、表的显示与复制。
2.掌握记录的追加、删除、修改和恢复。
3.掌握建立与修改表结构的命令。
二、实验原理
一、VFP命令常用子句
VFP的命令总是由一个称为命令字的动词开头,后随一个宾语和若干子句(称为命令子句),用来说明命令的操作对象、操作结果与操作条件。
1.1常用命令子句
VFP命令经常带有<范围>,FOR<条件>,WHILE<条件>与FIELDS<字段名表>等子句。
下面以LIST命令为例说明各子句的功能和用法。
格式:
LIST|DISPLAY[[FIELDS]<表达式表>][<范围>][FOR<条件>][WHILE<条件>][OFF][TOPRINT[PROMPT]|TOFILE<文件>]
功能:
在表中按指定范围与条件筛选出记录并显示出来,或送至指定的目的地。
LIST以滚动方式输出,DISPLAY分屏输出。
缺省范围时,LIST默认显示所有记录(带记录号),DISPLAY只指当前一个记录。
说明:
1)命令动词:
命令的名字,表示命令的操作,如“LIST”,“DISPLAY”
2)范围子句:
用来确定执行该命令涉及的记录,有4种限定方法:
ALL所有记录(LIST默认为ALL,DISPLAY默认为当前记录)
NEXT从当前记录起的N个记录
RECORD第N个记录
REST从当前记录起到最后一个记录止的所有记录
3)FOR子句
用逻辑表达式指定选择记录的条件,可以配合范围子句:
例:
USESB
GO2&&记录指针指向第2个记录
LISTNEXT5FOR价格>10000&&显示第2,3,6记录
4)WHILE子句
指明操作条件,但仅在当前记录符合条件时开始依次筛选记录,一旦遇到不满足条件的记录就停止操作。
若一条命令同时有FOR和WHILE子句则优先处理后者。
5)FIELDS子句
确定需要操作的字段。
保留字FIELDS可以缺省,<表达式表>用来列出需要的字段,LIST命令将按筛选得到的记录依次算出表达式的值,并显示出来:
例:
LISTRECORD5FIELDS编号,名称,价格
&&显示第5个记录的编号,名称,价格字段的值。
注:
FIELDS子句缺省时显示除备注型、通用型字段之外的所有字段。
1.2命令和子句的书写规则
1)命令的动词与子句、子句与子句、子句内的各部分之间必须用空格隔开,但各子句的次序允许任意排列;
2)命令动词与各子句中的保留字,包括以后将介绍的函数名在不至引起混淆的情况下都可简写为前4个字符,而且英文字母的大小写均有效;
3)一条命令长度可以达到8192个字符。
续行符是“;”,可以换行键入命令;
4)命令或函数格式中以“│”分隔的两项表示二者选一,用[]表示可选项,用<>表示用户定义内容。
5)除汉字外,其他均在英文输入状态下键入,否则报错。
二、表的维护命令
2.1表与表结构的复制
对已有的表进行复制得到副本,是保护数据安全的措施之一。
2.1.1复制任何文件
格式:
COPYFILE<文件名1>TO<文件名2>&&从<文件名1>文件复制得到<文件名2>文件
注意:
复制表时,该表必须处于关闭状态;<文件名1>和<文件名2>都可使用通配符*,?
。
例:
USE
COPYFILESB.DBFTOSB1.DBF
2.1.2从表复制表或其他类型文件
格式:
COPYTO<文件名>[<范围>][FOR<条件>][WHILE<条件>][FIELDS<字段名表>│FIELDSLIKE<通配字段名>│FIELDSEXCEPT<通配字段名>][[TYPE][SDF│XLS│DELIMITED[WITH<定界符>│WITHBLANK│WITHTAB]]]
说明:
该命令将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。
定界符指字符型字段,分隔符指字段之间分隔的字符。
对于含有备注型字段的表,系统在复制DBF文件时自动复制FPT文件。
例:
USESB
COPYTOA1&&对SB.DBF原样复制,同时生成A1.DBF和A1.FPT
COPYTOA2FIELDS名称,编号FORLEFT(部门,