VF实验指导书Word格式文档下载.docx
《VF实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VF实验指导书Word格式文档下载.docx(43页珍藏版)》请在冰豆网上搜索。
价格
部
门
主要设备
备注
商标
016-1
车床
03/05/90
62044.61
21
.T.
从光华仪表厂租入
01/15/92
27132.73
037-2
磨床
07/21/90
241292.12
22
038-1
钻床
10/12/89
5275.00
23
.F.
97年12月封存
100-1
微机
08/12/97
8810.00
12
插入图片
101-1
复印机
06/01/92
10305.01
210-1
轿车
05/08/95
151000.00
11
利用表设计器再建立数据表“ZZ”,建完结构立即输入如下数据记录,并保存。
增值
2510.00
1000.00
1200.00
代码
办公室
设备科
一车间
二车间
三车间
⑵利用CREATEBMDM命令
建立BMDM.DBF结构(右图所示)
保存后再打开,利用菜单命令的“追
加方式”添加如下记录:
年月
费用
8911
2763.5
9112
3520.0
9206
6204.4
2850.0
⑶利用CREATETABLEDX(编
号C(5),年月C(4),费用N(6.1))命
令建立DX.DBF结构,保存后再
打开,利用窗口命令的APPEND
添加如下记录:
五、实验指导
⑴可以利用默认的工作目录,最好自己设一个工作目录,如:
SETDEFAULTTOA:
将实验结果保存在A:
盘上,以备后续实验使用。
⑵插入的商标图形可以查找一个合适.BMP图像如:
FOX.BMP,PRING.BMP等。
实验二:
表的修改与维护
1.熟练掌握表结构与表数据的修改、复制操作。
2.掌握数据表中、记录的浏览、定位、追加、删除和替换等基本操作。
1、表结构的修改有两种方法:
①利用表设计器对表结构进行修改。
②利用表向导修改表结构。
2、表数据的显示、查看和修改可以利用菜单实现,也可利用BROWSE、CHANGE、EDIT等窗口命令来实现。
3、记录指针的定位:
将记录指针指向某个记录,使之成为当前记录。
定位的方法有三种,绝对定位、相对定位和条件定位。
4、常用函数:
函数具有特定的功能,VFP提供200余种函数,熟记常用的34种函数。
打开SB.DBF进行如下操作:
①显示第3个记录开始的3个记录;
在命令窗口输入:
GO3
DISPLAYNEXT3
②显示21部门的设备或非主要设备;
在命令窗口输入:
DISPLAYFOR部门=“21”
③显示1992年启用的主要设备;
DISPLAYFORYEAR(启用日期)=1992AND主要设备
④确定表中的第4条记录为当前记录;
操作方法有如下两种:
a.在浏览窗口直接用鼠标单击第4条记录确定。
b.在命令窗口输入命令“GOTO4”确定。
⑤将SB.DBF复制为SB1.DBF;
操作方法为在命令窗口输入命令:
COPYTOSB1
⑥打开SB1.DBF将最后两个记录逻辑删除,微机价格改为6500;
a.打开表SB1,在浏览窗口用鼠标单击第6、7条记录旁的删除区(使其变黑)。
如图2-1所示。
选定菜单栏上“表”命令→”替换字段”,按提示将微机价格改为6500。
如图2-2所示
b.在命令窗口输入命令:
GOBOTTOM
SKIP-1
DELETENEXT2
在命令窗口输入命令:
“REPLALL价格WITH6500FOR名称=“微机”
⑦复制SB.DBF结构为SB2.DBF,且仅要前5个字段;
在命令窗口输入命令(SB已打开):
COPYSTRUTOSB2FIELDS编号,名称,启用日期,价格,部门
⑧从SB.DBF中复制来价格大于10000的记录;
在命令窗口输入命令:
USESB2
APPENDFROMSBFOR价格>
10000
⑨用ALTERTABLE命令将名称字段的宽度改为8;
ALTERTABLESBALTER名称C(8)
⑩删除名为启用日期字段。
打开表设计器→选中“启用日期”字段→点击“删除”按钮→点击“确定”按钮。
或ALTERTABLESBDROP启用日期
图1-2
图2-1
图2-2
⑷利用MODIFYPROJECTKCSY命令建立一个项目文件,将SB.DBF,DX.DBF,ZZ,DBF和BMDM.DBF加入自由表中并进行浏览操作。
选定“文件”菜单→选定“新建”命令→选定新建对话框中的“项目”选项按钮→选定“新建文件”按钮→使用创建窗口选定保存路径及输入项目文件名“KCSY”→在项目管理器窗口选定“数据”选项卡→点击“自由表”→点击“添加”按扭→分别选择数据表名SB、DX、ZZ、BMDM即可将其加入到项目文件KCSY的自由表中。
课外部分:
练习30个以上常用函数的应用。
实验三:
数据的查询
掌握在排序和索引的基础上进行各种方法的数据查询,包括顺序查询、索引查询、菜单查询、SELECT-SQL查询和使用查询设计器查询;
掌握数据库、视图、数据工作期的基本概念。
1、排序和索引:
排序是将表中的记录物理地按顺序重新排列,排序后将产生一个新表,原文件不变。
排序的命令是SORT。
索引是按某个索引关键字来建立记录的逻辑顺序,索引文件只包括关键字和记录号两个字段。
索引分为主索引、候选索引、唯一索引和普通索引,利用表设计器建立索引较为方便。
2、查询设计器和查询文件.QPR的使用:
查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,诸如浏览器、报表、表、标签等。
建立查询的方法很多,可以用CREATEQUERY命令打开查询设计器建立查询;
可以选择“文件”菜单下的“新建”,打开“新建”对话框,然后选择“查询”并单击“新建文件打开查询设计器建立查询;
如用户熟悉SQLSELECE,还可直接编辑.QPR文件建立查询。
3、数据工作期和视图文件.VUE的使用:
数据工作期是用来设置数据工作环境的交互操作窗口。
数据工作区窗口可用菜单操作方式或命令方式打开和关闭。
视图是操作表的一种手段,通过视图可以查询表,也可以更新表。
视图是根据表定义的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。
用户可以使用菜单操作或执行命令来建立视图文件。
4、数据库、关联和SQL视图的概念。
⑴在SB表中,以部门和价格为关键字升序排序,并要求新表只包含名称、启用日期、价格、部门4个字段。
在命令窗口输入以下命令序列:
clear
usesb
sorttosbpxon部门/A,价格/Afields名称,启用日期,价格,部门
usesbpx
list
运行后结果显示为:
图3-1
⑵用表设计器建立或修改SBPX表的索引,以名称、启用日期为关键字升序排序。
方法一:
在字段选项卡索引列的组合框中选定向上箭头为升序索引,向下箭头为降序索引,该行字段为索引关键字。
如图3-2所示。
图3-2表设计器的“字段”选项卡
方法二:
使用索引选项卡。
该选项卡中可键入关键字表达式,还可选择索引类型,字段选项卡中建立的索引也能在选项卡显示出来。
索引选项卡中索引名列下部的空白框用来直接键入新索引;
插入按钮用来在当前行前插入一个空行,以供键入新索引;
删除按钮则用于删除选定的索引,已建立好的索引如图3-3所示。
图3-3表设计器的“索引”选项卡
⑶查询:
分别用以下三种方法查询钻床的增值
①顺序查询法(s3-1.prg)②索引查询法(s3-2.prg)
CLOSEALLCLOSEALL
USEsbUSEsb
LOCATEFOR名称=”钻床”INDEXON名称TAGmc
SELECT2SEEK”钻床”
USEzzSELECT2
LOCATEFOR编号=sb.编号USEzz
?
编号,sb.名称,增值INDEXON编号TAGbh
SEEKsb.编号
?
FOUND(),RECNO()
编号,sb.名称,增值
③在数据工作期窗口建立关联后查询
◆打开数据工作期:
在窗口菜单中单击“数据工作期”;
◆打开查询的表:
在数据工作期窗口选定打开按钮→在对话框中选SB.DBF打开,同样打开ZZ.DBF;
◆建立关联:
选定表SB→选定关系按钮→在选定表ZZ→在出现的设置索引顺序对话框中选定ZZ:
编号选项并按确定按钮→在出现的表达式生成器的字段列表框中双击编号字段并按确定按钮→在数据工作期窗口选定一对多按钮→在一对多关系对话框中将子表ZZ移入选定别名列表框中→按确定按钮返回。
如下图所示:
图3-4在SB与ZZ间建立一对多关系
◆查询钻床增值:
在命令窗口键入如下命令
LISTFOR名称="
钻床"
FIELDS编号,名称,ZZ.增值
结果如下图所示:
图3-5
⑷利用查询设计器查询:
查询价格大于10000设备的大修费用。
◆打开查询设计器窗口:
选定“文件”下的打开命令→在文件类型组合框中选定查询(*.qpr)选项→在文件名文本框输入SBCX文件名→选“确定”按钮,即打开查询设计器窗口。
◆确定查询的表:
在打开对话框的列表框中选定SB.DBF→选定“确定”按钮→利用添加表将DX.DBF增入查询设计器。
(或通过“添加表或视图”对话框的“其他”按钮将DX增入)
◆设置联接条件:
在“联接条件”对话框中按需要选定联接条件,按“确定”按钮认可→关闭添加表或视图对话框回到查询设计器窗口。
◆确定查询内容:
在字段选项卡中选字段—SB.编号,SB.名称,SB.价格,DX.编号,DX.费用等5个字段移入“选定字段”列表框→选定筛选选项卡→给出筛选条件---SB.价格>
10000。
如图3-6所示:
图3-6
◆执行查询:
选定查询菜单的运行查询命令即出现如图3-7所示浏览窗口,其中显示了价格大于10000设备的大修费用;
在查询设计器窗口单击右键,选定快捷菜单的运行查询命令;
方法三:
选定程序菜单的运行命令→在对话框中选定查询文件→选定“运行”;
方法四:
在命令窗口输入命令“DOSBCX.QPR”
图3-7
◆保存文件:
选定“文件”菜单的保存命令→给出名字SBCX.QPR,或按CTRL+W保存查询设置。
◆确定查询去向:
查询菜单/查询去向/表/给名字CXB;
◆观察结果:
USECXB后LIST
⑸数据库:
建库并加入项目管理器
◆打开项目管理器KCSY,新建数据库SJK,加入SB,DX,ZZ,BMDB四个表;
◆给SB作编号主控索引,部门普通索引,DX和ZZ编号的普通索引,BMDM代码的候选索引,确定永久关系连线;
◆把新建的SBCX.QPR添加到项目管理器的“查询”中;
◆看项目管理器的结构。
打开数据库SJK,建立名为“新视图”的视图。
CREATESQLVIEW新视图ASSELECTSB.编号,SB.名称,ZZ.增值FROMSB,ZZWHERESB.编号=ZZ.编号
在项目管理器中浏览。
⑴在③题中建立一多关联是因为一种设备可能有多次增值;
⑵要在库中建永久关系,必先为各表作相应的索引,右击表,选“修改”进“表设计器”。
实验四:
数据的统计
熟练掌握各种统计命令。
二、知识要点:
VFP提供5种命令来支持统计功能。
①计数命令COUNT
格式:
COUNT[<
范围>
][FOR<
条件>
][WHILE<
][TO<
内存变量>
]
②求和命令SUM
格式:
SUM[<
数值型字段表达式表>
][<
][WHILE<
][TO<
内存变量表>
|ARRAY<
数组>
③求平均值命令AVERAGE
AVERAGE[<
数值表达式>
][<
④计算命令CALCULATE
CALCULATE<
表达式表>
[<
⑤汇总命令TOTAL
TOTALTO<
表文件名>
ON<
关键字段>
[FIELDS<
数值型字段表>
⑴对SB.DBF进行按部门汇总价格(s4-1.prg)。
CLOSEALL
USEsb
INDEXON部门TAGbm
TOTALON部门TObmjghzFIELDS价格
USEbmjdhz
SELECT2
USEbmdm
INDEXON代码TAGdm
SELECT1
SETRELATIONTO部门INTObmdm
BROWSEFIELDSbmdm.名称,价格,TITLE“部门价格汇总表”
执行后显示的汇总结果如下图所示:
图4-1
⑵按部门汇总设备的台数:
(s4-2.prg)
CLOSEALL
SELECTbmdm.名称,COUNT(SB.编号)as设备台数FROMSB,;
bmdmGROUPBYSB.部门WHEREsb.部门=bmdm.代码;
INTOTABLEbmsbts.dbf
USEBMSBTS
BROWSTITLE'
部门设备汇总表'
图4-2
先要理解⑵按部门汇总设备的台数:
(s4-2.prg)程序语句的意义。
实验五:
结构化程序设计
(一)
通过本实验掌握三种基本结构(顺序结构、分支结构和循环结构)的程序设计方法;
掌握程序文件的书写、保存和运行;
掌握简单程序框图(执行逻辑图)的画法,达到能编写、运行、调整简单程序的目的。
1、程序文件的建立与执行:
建立程序文件可以按以下步骤操作,使用命令MODIFYCOMMAND<
文件名>
打开文本编辑窗口;
在文本编辑窗口中输入程序内容;
按Ctrl+W保存程序文件。
执行程序文件可以用①命令方式:
DO<
;
②菜单方式:
从“程序”菜单中选择“运行”命令,打开“运行”对话框。
2、程序的控制结构:
VFP程序有3种基本控制结构,即:
顺序结构、分支结构与循环结构。
其中的分支结构有选择分支结构(IF-ELSE-ENDIF)、结构分支语句(DO-CASE-ENDCASE);
循环结构有条件循环(DOWHILE-ENDDO)、步长循环(FOR-ENDFOR)、扫描循环(SCAN-ENDSCAN)。
顺序结构按命令的书写顺序依次执行;
分支结构能根据指定条件的当前值在两条或多条程序路径中选择一条执行;
而循环结构则由指定条件的当前值来控制循环体中的语句序列是否要重复执行。
3、掌握命令文件的书写规则及各种范围语句的使用。
4、框图的基本画法。
⑵准备好软盘,保存编写的程序文件
⑶设软盘为缺省盘(SETDEFAULTTOA:
);
⑴编写可修改SB.DBF中价格和部门的程序-S5-1.PRG
操作方法如下:
在命令窗口输入命令modicomm.S5-1,在弹出的文本编辑窗口中输入以下s5-1.prg程序
*程序名:
S5-1.PRG
*功能:
能修改某设备的价格和部门。
CLEAR
USEsb
Sbbh=SPACE(5)
@4,10SAY“请输入设备编号:
”GETsbbh
READ
LOCATEFOR编号=sbbh
IFFOUND()
@6,20SAY“价格:
”GET价格
@8,20SAY“部门:
”GET部门
READ
DISPLAYFIELDS编号,名称,价格,部门
WAIT“以上是修改后的记录”
ELSE
@6,20SAY“无此设备!
”
ENDIF
USE
RETURN
输入完保存后(按CTRL+W)在命令窗口输入命令dos5-1运行。
⑵输入任意字符串,统计出其中的英文字母、空格、数字和其他字符的个数。
按⑴步骤输入以下s5-2.prg程序,保存后运行。
*程序名:
S5-2.PRG
*功能:
统计各类字符个数。
CLEAR
STORE0TOzm,kg,sz,qt
ACCEPT“请输入字符串:
”TOzfc&
&
输入字符串存入zfc变量中
FORi=1TOLEN(zfc)
zf=SUBSTR(zfc,i,1)
zfz=ASC(zf)
DOCASE
CASEzfz>
=48ANDZFZ<
=57
sz=sz+1
CASEzfz=32
kg=kg+1
=65ANDzfz<
=90ORzfz>
=97ANDzfz<
=122
zm=zm+1
OTHERWISE
qt=qt+1
ENDCASE
ENDFOR
”数字”,sz
”字母”,zm
”空格”,kg
”其它”,qt
⑶编写打印下图程序
S5-3
*功能:
打印五星塔
按⑴步骤输入以下s5-3.prg程序,保存后运行。
A=5
B=30
S=30
FORI=1TO9
FORJ=1TO2*I-1
@A,BSAY”★”
B=B+2
A=A+1
B=S-2*I
运行结果显示:
★
★★★
★★★★★
★★★★★★★
★★★★★★★★★
★★★★★★★★★★★
★★★★★★★★★★★★★
★★★★★★★★★★★★★★★
★★★★★★★★★★★★★★★★★
在⑵题中ASCII值:
A=65,Z=90,a=97,z=122,0=48,9=57;
实验六:
结构化程序设计
(二)
掌握VFP的3种基本控制结构;
进一步掌握程序的设计、编程、调试、运行;
学会编写简单的VFP程序;
灵活运用3种基本控制结构。
1、VFP中几条较为简单的语句为:
①清屏语句CLEAR
②内存变量接收语句
ACCEPT[指定提示信息]TO内存变量名
③内存变量输入语句
INPUT[指定提示信息]TO内存变量名
④输出语句