VFP原理上机资料.docx
《VFP原理上机资料.docx》由会员分享,可在线阅读,更多相关《VFP原理上机资料.docx(45页珍藏版)》请在冰豆网上搜索。
VFP原理上机资料
实验一VisualFoxpro基础知识
一、实验项目:
VisualFoxpro基础知识
二、实验目的:
1、了解VFP的安装过程
2、熟练掌握VFP的启动与退出方法
3、练掌握VFP操作界面
4、掌握VisualFoxPro3种操作方式(菜单操作方式、命令操作方式、程序工作方式)
5、了解VFP命令的语法规则
6、熟练掌握项目管理器的使用
7、了解VFP文件类型,熟练掌握前10种文件类型
三、实验平台:
VFP6.0WindowsXP
四、实验内容及要求:
1、VFP的启动与退出
2、熟悉VFP用户界面
3、掌握命令窗口的使用,利用?
|?
?
显示命令区分命令窗口与主显示窗口
4、了解VisualFoxPro状态栏操作提示
5、创建项目文件——工资管理.PJX
6、设定默认工作路径
7、独立完成上述内容,并提交书面实验报告。
五、实验步骤及结果:
1、①启动:
开始|程序|Microsoftvisualfoxpro6.0
②退出:
文件|退出;或单击VFP主窗口右上角的关闭按钮
2、VFP用户界面
3、①在命令窗口中输入一条命令,VFP
即刻执行该命令,并在主窗口显示命
令的执行结果,然后返回命令窗口,
等待用户的下一条命令
②?
在显示表达式内容之前,先
发送出一个回车换行符;而?
?
则不发出回车换行符,从光标当
前位置开始输出
4、①当选择了某一项菜单选项时,就会在状态栏显示该选项的功能,使用户能及时了解所选命令的作用。
例如:
文件|打开|工资表,dbf
②VFP命令执行后,系统在状态栏向用户反馈有关执行情况。
例如:
输入命令list
③左格表示当前是否处于插入方式,显示空白,否则显示OVR,有Insert键控制
中格表示小键盘是否处于数字方式,显示Num,或为空白,由numLock键控制
右格表示键盘是否处于大写字母方式,显示Caps,或为空白,由CapsLock键控制
5、文件|新建,打开“新建”对话框;项目|新建文件,VFP将弹出一个标准的“创建”对话框;在“项目文件”的文本框中输入文件名“工资管理.PJX”,在“保存在(I)”处选择保存新项目的文件夹,在“保存类型”的列表中选择“项目(*.pjx)”类型,单击“保存”按钮,显示“项目管理器”窗口。
6、工具|选项|文件位置|默认目录|修改|使用默认目录|在文本框内输入“E:
\VFP”|确定
实验二VisualFoxPro语言基础
一、实验项目:
VisualFoxpro基础知识
二、实验目的:
1、熟练掌握8种数据类型
2、熟练掌握常量与变量
3、掌握内存变量的基本操作
4、了解数组及应用
5、熟练掌握函数及应用
6、熟练掌握表达式及基本运算关
三、实验平台:
VFP6.0,WindowsXP
四、实验内容及要求:
1、练习6种常量的赋值,区分各自的规定
2、练习内存变量赋值,分清格式1与格式2的区别
3、显示内存变量
4、内存变量文件的建立
5、内存变量的清除
6、内存变量的恢复
7、分别定义一维数组X,二维数组A
8、给数组A赋值,修改其中A(5)的值
9、练习函数命令
10、练习算术表达式,将数学公式P(1+R)n描述成vfp接收的算术表达式。
11、练习字符表达式:
五、实验步骤及结果:
1.
2.输入命令:
s=’vfp’
Store2*4ton1,n2,n3
格式1每次只能给一个内存变量赋值。
格式2可以同时给多个内存变量赋相同的值,各内存变量之间用逗号分隔。
3.输入命令:
s=’vfp’
?
’s=’,s
store2*4ton1,n2,n3
?
n1
?
?
n2
?
?
n3
Listmemolike?
?
Dispmemolike*
4.输入命令:
s='vfp'
store2*4ton1,n2,n3
store5tom1,m2
savetoa1&&保存全部内存变量
savetoa2allliken?
&&保存以n开头的内存变量
savetoa3allexcen?
&&保存除以n开头以外内存变量
5.输入命令:
store8toa,a1,a2
store22tob,b1,b2
listmemolike?
?
relea,b
listmemolike?
?
relealllikea?
listmemolike?
?
relealllikeb?
listmemolike?
?
6.输入命令:
restfroma2
dispmemolike*
restfroma3
dispmemolike*
restfroma2addi
dispmemolike*
7.输入命令:
dimex(3),a(2,3)
8.输入命令:
dimea(2,3)
a(5)=0
dispmemolikea?
9.
10.①②P*(1+R)^2
11.
实验三表的基本操作
一、实验项目:
表的基本操作
二、实验目的:
1、熟练掌握表结构的设计、建立、打开与关闭
2、熟练掌握表的显示(显示表记录与表结构)
3、熟练掌握记录的定位与记录指针,利用工作表函数加深理解
4、熟练掌握表的修改(修改表结构与修改表记录)
5、熟练掌握表记录的插入、删除和恢复
6、熟练掌握表的复制(复制表结构和复制表记录)
7、熟练掌握表记录的过滤和字段筛选
8、掌握数据库的创建
三、实验平台:
VFP6.0,WindowsXP
四、实验内容及要求:
1、建立表结构
●设置默认工作路径
●建立表结构:
txl.dbf表结构如下:
●
表结构建完,直接输入第一条数据表数据输入
●表文件的打开、关闭
2、在浏览窗口追加记录
●追加新记录:
仅添加一条记录(只输入第二条)
●追加方式:
连续追加记录(输入所有记录)
3、在浏览窗口中删除记录:
练习逻辑删除与物理删除
4、显示表结构
5、显示表记录
●显示所有记录
●显示从第3条到第5条记录
●显示所有性别为女的记录
●显示前5条记录。
●显示记录号为奇数的记录。
●显示汉族男学生的记录。
●显示湖北或湖南学生的姓名、性别、年龄以及简历
6、记录定位,结合工作表函数练习
●记录指针定位到第一条,并显示出记录指针
●记录指针定位到表最末尾,并显示出记录指针
●将记录指针定位到第4条记录,并显示出记录指针
●假设表中只有10条记录:
作以下练习,体会eof()、与bof()函数。
?
RECN(),BOF()
SKIP–1
?
BOF(),RECN()
SKIP9
?
RECN(),EOF()
SKIP
?
RECN(),EOF()
7、表结构的修改
●在txl.dbf表中增加“简历”(备注型),“照片”(通用型)字段
●练习通用型、备注型子段数据的输入
8、表数据的修改
●在浏览窗口修改表记录
●用REPLACE命令成批替换修改记录
USEGZ
REPLALL基本工资WITH基本工资+100
LIST
REPLALL基本工资WITH基本工资+100;
应发工资WITH应发工资+100;
实发工资WITH实发工资+100
●体会ALL的作用
9、单个记录与数组间的数据传递
1)将记录传送到数组或内存变量
2)将数组或内存变量的数据传送到记录
3)成批记录与数组间的数据传送
10、练习表记录的插入
●分别在TXL表中第三条记录前、第六条记录后插入一条记录,在表末尾插入一空白记录
11、表记录的逻辑删除
●删除第一条记录,删除所有性别为男的记录
12、记录恢复命令
●恢复被删除的第一条记录,恢复所有被删除的记录
13、记录物理删除
●将作删除标记的记录彻底删除,清除表中所有记录
14、追加新记录
●用INSERT-SQL命令直接输入一条记录到表中
●用append命令追加表记录、追加一条空记录
●APPEFROM命令将不同班级的数据和并到一个表中
15、表的复制
●备份表结构
●利用txl表结构,复制出一个只有学号、姓名的表结构
16、利用命令复制表记录(COPYFILE和COPYTO)
●将txl表中性别为女的记录复制到一个新表中
17、表记录的过滤和字段过滤
●过滤所有年龄已满20岁的记录
●设置只显示学号、姓名、性别字段
18、建立一个xjgl项目文件,在xjgl项目文件中建立一个名为“学生成绩管理.DBC”的数据库
●在“学生成绩管理.DBC”成绩管理数据库中建立“学生成绩表.dbf
●将txl.dbf添加到该数据库中
五、实验步骤及结果
1.①启动VFP,“工具”|选项|“文件位置”选项卡|“默认目录”|修改|“使用默认目录”复选框|在文本框内输入“H:
\VFP”|确定
②文件|新建,在出现的“新建”对话框中选择“表”,将表命名为“txl.dbf”保存于“H:
/VFP”,输入表结构,输入第一条数据后关闭表,关闭VFP
③启动VFP,文件|打开|txl.dbf|确定|窗口|数据工作期|关闭
2.①显示|浏览|表|追加新记录|输入第二条记录
②显示|浏览|显示|追加方式|输入剩余数据
3.显示|浏览,单击第一条数据前的矩形框,矩形框变成黑色,逻辑删除选定数据
显示|浏览,单击要删除数据前的矩形框,矩形框变成黑色,表|彻底删除,物理删除记录
4.输入命令“liststru”
5.①输入命令“list”
②输入命令:
disp③输入命令:
listfor性别=”女”
3
Listnext3
④输入命令:
disp⑤输入命令:
listformod(recno(),2)=1
1
listnext5
⑥输入命令:
listfor民族=”汉”
⑦输入命令:
list姓名,性别,年龄,
简历for籍贯=’湖南’or‘湖北’
6.①打开表tlx。
Dbf,记录指针自动定位到第一条记录
②输入命令:
gobott
显示|浏览
③输入命令:
go4
④输入命令:
?
RECN(),BOF()
SKIP–1
?
BOF(),RECN()
SKIP9
?
RECN(),EOF()
SKIP
?
RECN(),EOF()
7.①输入命令:
moidstru;修改表结构,单击“确定”,单击“是”
②显示|浏览,双击“memo”,在空白对话框中输入简历内容,关闭对话框。
输入数据后“memo”会变为“Memo”
显示|浏览,双击“gen”,出现通用型字段编辑器;将图片粘贴,关闭对话框。
输入数据后,“gen”会变为“Gen”
8.①显示|浏览,右键单击要修改内容所在的方框,修改数据
②输入命令:
replall基本工资with基本工资+100
replall应发工资with基本工资+补助工资
replall实发工资with应发工资-扣款
list
9.①输入命令:
scatmemvtoa1
Listmemolikea1
②输入命令:
go4
scattoamemo
dispmemolikea?
a(4)=100
gatherfroma
display
③输入命令:
copytoarraa1
Dispmemolikea1
10.输入命令:
3
Insertbeforeblank
6
Insert
Gobott
Insert
List
11.显示|浏览,单击记录左侧的矩形区域,区域变黑
12.再次单击记录左侧的矩形区域,区域变白
13.显示|浏览,单击搜有记录左侧的矩形区域,区域变黑,表|彻底删除
14.①输入命令:
insert出现对话框,直接输入数据
②输入命令:
append出现对话框,直接输入数据
15.①输入命令:
USEh:
\vfp\表1.dbfEXCLUSIVE
copystrutoh:
\vfp\0901.dbf
dispstru
②输入命令:
USEh:
\vfp\0901通讯录.dbfEXCLUSIVE
copystrutotxl01.dbf
usetxl01.dbf
dispstru
copystrutotxl02.dbffiel姓名,学号
usetxl02.dbf
dispstru
16.
17.①
②
18.①文件|新建|项目|新建;在“创建”的对话框中“项目文件”中输入xjg1,确定后
在如图的[项目文件-xjg1]中选择[数据库]—[新建]:
在出现的对话框中输入数据库名“学生成绩管理.dbc”然后在如图的[数据设计器]中点击[新建]—[创建]对话框中输入表名“学生成绩表.dbf”
②点击添加图标出现下图第二个图的对话框,选择表名为“txl.dbf”即可。
实验四表的高级操作
一、实验项目:
表的高级操作
二、实验目的:
1、熟练掌握分类排序
2、熟练掌握索引及操作,分清单索引与复合索引
3、熟练掌握主控索引文件的作用
4、熟练掌握查询操作,分清顺序查询与索引查询
5、熟练掌握工作区的概念及关联操作
6、熟练掌握表的统计与计算
7、熟练掌握SELECT-SQL查询与操作
三、实验平台:
VFP6.0,WindowsXP
四、实验内容及要求:
1、分类排序练习
1)对工资表中记录先按基本工资从小到大,再按补助工资从大到小排序
2)对工资表中实发工资大于1400的人,按应发工资从小到大排序,但不保留以“S”和“K”音开头的字段
3)对PZK按科目代号升序,再按金额降序排列
4)对PZK按方向降序,再按金额升序
2、单索引练习
1)对PZK按金额建立独立(单)索引,并只保留“科目代号=102”的记录
2)对pzk按科目代号建立“唯一性”索引
3)建立按姓名升序的单索引文件gzxm.IDX
4)建立按基本工资降序排列的单索引文件个gzjbgz.IDX
3、建立复合索引
1)对GZ表建立以姓名为关键字的复合索引,索引标识gz1
2)对GZ表建立以基本工资为关键字的唯一索引GZ2
3)对GZ表中基本工资字段按降序索引GZ3
4)以方向和科目代号为关键字段对PZK建立复合索引
4、打开索引文件
1)打开工资表中按姓名建立的单索引
2)将工资表建立的单索引文件都打开
5、设置主控索引
1)比较GZ按基本工资建立索引后GOTOP和GO1的区别
2)指定gz.CDX的索引标识gz2为主拉索引
3)改变GZ表主控索引(GZ1、GZ3见例4.2.5~7)
4)取消上例主控索引文件及主控索引
6、索引文件的重建或更新
●观察打开索引前对表数据修改,和打开索引后修改表数据有何区别
7、删除索引及索引标识
1)删除单索引文件
2)删除复合索引表识
8、顺序查询
1)查找GZ表中姓“王”的记录,并显示。
2)在txl表中查询年龄小于20岁的女生
3)在在txl表中查询籍贯是湖南的党员男生
9、按索引快速定位
●Find练习
1)按姓名查找记录
2)按基本工资查找记录
3)查找的条件来自字符型内存变量
●Seek练习
1)按姓名查找记录
2)查找方向为借方,科目代号为102的记录
3)查找显示GZ表中基本工资为1400的所有记录
10、多工作区操作
1)设置的一对一关系,从cjb和txl的中显示学号,姓名各科成绩,通讯地址。
2)用命令设置bmdm与sb的多一关系:
11、数据工作期与视图
1)打开GZ.DBF,为GZ设置包括编号、姓名等字段,并以编号大于“02”为条件设置过滤器,浏览数据。
12、表的统计与计算
2)对学生表,分别统计男女生的人数。
3)对学生表,求全体学生的平均年龄。
4)在DX.dbf中按设备的编号来汇总大修费用,试写出命令序列。
5)对txl表,进行如下操作:
(1)求vfp成绩的均方差。
(2)求最年轻学生的出生日期。
13、SQL查询
●基本查询
1)列出gz表中所有数据
2):
查找gz的所有记录
3)将所有的学生vfp成绩四舍五入,只显示学号、姓名和成绩。
4)求gz表中基本工资的平均值
●带条件查询
1)求01部门的平均工资
2)查询所得税
3)查询并计算所得税的平均值
●多表查询
1)查找学生学习成绩与基本情况
2)查询txl和cjb不及格同学基本情况、各科成绩
●查询结果处理
1)查询cjb中vfp成绩,由高到低排列
2)将查询结果由高到低排序
3)将查询结果由高到低排序到cxjg.dbf文件
4)分别统计男女人数
5)按部门汇总工资,在屏幕显示TOSCRE
6)在cjb中查找总分大于250的记录
五、实验步骤及结果:
1.①输入命令:
USEh:
\vfp\工资表.dbfEXCLUSIVE
sorttogz01on基本工资,补助工资/D
USEh:
\vfp\gz01.dbfEXCLUSIVE
list
②输入命令:
USEh:
\vfp\工资表.dbfEXCLUSIVE
sorttogz03on应发工资for实发工资>1400fielexce实*,扣*,税*
③输入命令:
USEh:
\vfp\记账凭证.dbfEXCLUSIVE
sorton科目代号,金额/Dtojzpz01
usejzpz01
list
④输入命令:
USEh:
\vfp\记账凭证.dbfEXCLUSIVE
sorttojzpz02on方向/D,金额
usejzpz02
list
2.①输入命令:
USEh:
\vfp\记账凭证.dbfEXCLUSIVE
indeon金额tojzpz01
indeon金额tojzpz02for科目代号=“102”
②输入命令:
USEh:
\vfp\记账凭证.dbfEXCLUSIVE
indeon科目代号tojzpz03uniq
③输入命令:
USEh:
\vfp\工资表.dbfEXCLUSIVE
indeon姓名togzxm
④输入命令:
USEh:
\vfp\工资表.dbfEXCLUSIVE
indeon-基本工资togzjbgz
3.①输入命令:
USEh:
\vfp\工资表.dbfEXCLUSIVE
indeon姓名taggz1
②输入命令:
USEh:
\vfp\工资表.dbfEXCLUSIVE
Indeon基本工资taggz2uniq
③输入命令:
USEh:
\vfp\工资表.dbfEXCLUSIVE
INDEON基本工资TAGgz3DESC
④输入命令:
USEh:
\vfp\记账凭证.dbfEXCLUSIVE
indeon方向+科目代号tagjzpz04
4.①输入命令:
USEj:
\vfp\工资表.dbfEXCLUSIVE
indeon姓名taggz01
list
5.①输入命令:
indeon基本工资taggz02uniq
gotop
disp
go1
disp
②输入命令:
USEj:
\vfp\工资表.dbfEXCLUSIVE
setordertotaggz02
list
③输入命令:
USEj:
\vfp\工资表.dbfEXCLUSIVE
list
setordeto1
list
setordeto3
list
④输入命令:
setordeto&&取消主控索引文件及主控索引
list&&记录按物理顺序显示
6.USEj:
\vfp\工资表.dbfEXCLUSIVE&&原始数据
List
BROW&&修改第六条记录的姓名
LIST&&数据没有更新
USEgzINDEgzxm
LIST&&数据没有更新
REIN&&重检索引后,数据就会更新
LIST
7.①输入命令
Use工资表
indeon编号tobhidx
list
MODIFYSTRUCTURE
closeall
delefilebhidx
use工资表
MODIFYSTRUCTURE
②输入命令:
USEGZ
DELETAGGZ1
8.①
②输入命令:
locaforyear(date())-year(年龄)<20and性别='女'
③输入命令:
locafor'湖南'$通讯地址and性别='男'
9.①
②
③
④
⑤输入命令:
usedbf\jzpz
Setordetotagjzpz03
List
Seek“借”+”101”
?
found(),recn(),eof()
disp
⑥输入命令:
usedbf\工资表
Setordetotaggz03
List
Seek1400
Dispwhil基本工资=1400
10.①输入命令:
sele1
usedbf\txl
setordetoxh
sele2
usedbf\cjb
setrelato学号intotxl
browfielcjb.学号,cjb.姓名,cjb.vfp,cjb.电子商务,;
②输入命令:
SELECT2
USEdbf\bmdm&&打开子表
INDEXON代码TAGdm&&子表用代码字段建立索引
select1
USEdbf\Sb&&打开父表
SETRELATOsb.部门INTObmdm&&对子表设置多一关系
BROWFIELSB.编号,SB.名称,SB.部门,BMDM.代码,BMDM.名称
11.
12.①
②输入命令:
usedbf\dx
totaon编号tojghZfiel费用&&按编号汇总费用,写入新表jghz.dbf
usedbf\JghZ
BROWSEFIELDS编号,费用titl’大修费用汇总表’
③输入命令:
Calcmax(年龄)tox2
?
x1,x2
13.①输入命令:
Select*fromdbf\工资表
输入命令:
seledis