《VFP》实验报告.docx
《《VFP》实验报告.docx》由会员分享,可在线阅读,更多相关《《VFP》实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
![《VFP》实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/2/712841d5-f941-4cc2-8348-4274efe2a9d2/712841d5-f941-4cc2-8348-4274efe2a9d21.gif)
《VFP》实验报告
《VisualFoxpro》实验报告
(2010-2011学年第二学期文科类)
院系:
班级:
学号:
姓名:
教师:
信息工程学院
2011.2.18
实验一VFP环境的熟悉、函数及表达式的使用(2学时)
一、实验目的
1、熟悉VFP集成环境,初步VFP集成环境的使用
2、掌握常量、变量及数组的概念及定义。
3、掌握函数和表达式,能求出各表达式的值。
二、实验内容和步骤
(一)VFP环境熟悉
1.启动VFP
启动方法:
开始→所在程序→MicrosoftVisualFoxpro6.0→MicrosoftVisualFoxpro6.0。
或桌面有相应的快捷方式,可通过快捷方式来启动.
2.熟悉VFP集成环境
(1)熟悉菜单的操作:
文件的新建、保存、打开;复制与粘贴等
(2)熟悉工具栏的操作:
1)工具栏的显示与隐藏,如显示或隐藏“常用”工具栏(
2)了解“常用”工具栏的构成。
(3)命令操作
1)通过“窗口”菜单项或工具栏工具隐藏或显示命令窗口,并调整命令窗口的大小和位置调整到合适的状态。
2)在命令窗口输入以下命令,执行并观察结果
a=3
b=4
?
a+b
(4)VFP配置
1)通过菜单“工具”→“选项”打开“选项”对话窗口,观察内容及含义。
2)在E盘建立一文件夹“实验一”,将“选项”对话窗口中“文件位置”下的“默认目录”设为“E:
\实验一”(理解此设置的含义),并保存设置(以后各个实验可依次建立“实验二”、”实验三”,……等文件夹,并将“默认目录”设为相应的文件夹)。
(二)函数及表达式的应用(此部分需将命令或结果填写到相应位置)
1、变量操作
1)分别将1、2赋给内存变量x1、x2,命令为:
2)显示x1+x2的值,命令为:
3)显示所有内存变量,命令为:
4)显示变量名以x开头的内存变量,命令为:
5)清除内存变量x1、x2,命令为:
6)清除所有内存变量,命令为:
2、定义一个含4个元素的一维数组“MA”,将“1”---“4”四个整数依次赋给各数组元素;显示数组中的值是否正确,并将该数组信息保存到以自己姓名为文件名的内存变量文件中,然后清除内存变量。
写出各步操作的命令:
3、计算下列各表达式的值,若结果为字符串,计算出它的长度,并分析原因:
①“1234”=“123”结果:
②“江西”+“庐山”-“风光”结果:
,长度(注意字符串中的空格符)
③“ABCD”>“ABYZ”结果:
④“12”$“123456”结果:
⑤{01/09/1999}+5结果:
(注意日期格式,需进行日期格式的设置)
⑥{01/02/1998:
10:
20}+100结果:
⑦{^2004-02-19}-date()结果:
⑧{11/08/1999:
10:
20}-300结果:
⑨.NOT.(5>3.AND.7<89).AND.(15>26.OR.4*5<10)结果:
4、上机测试以下函数的值:
(1)ROUND(12567.895,-2)结果:
(2)MOD(10,4)结果:
(3)AT(“3”,“7654321”)结果:
(4)SUBSTR(“20000125”,5,2)结果:
(5)LEFT(“ABCDEFG”,3)结果:
(6)STUFF(“1234567”,2,3,”ABCD”)结果:
(7)STR(123.456,8,2)、STR(123.456,8)结果:
、
(8)CTOD(“01/01/1999”)结果:
(9)UPPER(”aBcdE”)结果:
(10)DTOC(DATE(),1)结果:
(11)IIF(x>=0,x,-x)(x=-3)结果:
注意:
完成以上内容后,请将文件以“实验一内容”为文件名另存到E盘“实验一”文件夹中,再将“实验一”文件夹提交到作业系统中。
实验二:
表的基本操作(2学时)
一、实验目的:
1、熟练掌握表的创建,数据的录入操作。
2、熟悉表结构的修改
3、学会使用菜单方式完成记录的添加、更新、删除等工作
二、实验地点器材:
实验室,Pentium以上PC兼容微机,每人一台
三、实验内容:
在E盘建立文件夹“实验二”,并将VFP默认目录设为该文件夹,然后完成以下内容
(一)自由表的建立与修改
1.建立如下结构的自由表
CJ(姓名C10,学号 C4,班级 C4,性别 C2,数学 N5.1,英语 N5.1,计算机 N5.1)
2.输入以下记录条记录,
班级
学号
姓名
性别
数学
英语
计算机
一班
1001
赵勇
男
85
76
83
二班
2004
刘文红
女
88
79
77
四班
4023
赵卫东
男
76
65
85
三班
3029
林克
男
90
90
84
一班
1045
王好为
男
68
87
73
四班
4037
张耀华
女
84
69
90
二班
2011
吴林
女
91
78
69
3.修改表的结构:
在姓名字段后插入字段:
简历 M,相片 G;
4.为每个人输入简历(内容自定)和相片(自定)
(二)表的基本操作
对数据表CJ.DBF进行如下操作:
1)关闭所有打开的表,再打开CJ表。
2)显示每个人的姓名及各科成绩。
3)显示所有的三门课成绩都在80以上的记录;
4)在表末尾追加如下记录:
二班
2012
刘小兵
男
83
76
74
5)逻辑删除女生记录;
6)恢复所有被逻辑删除的记录。
7)物理删除“王好为”这条记录。
8)修改CJ.DBF表结构,添加2个字段:
总分 N5.1 平均分 N5.1
注意:
完成以上内容后,请将“实验二”文件夹提交到作业系统中。
实验三:
数据库的管理操作(2学时)
一、实验目的:
1、掌握数据库表完整性约束含义与设置
2、掌握索引的设置与应用
3、掌握多重工作区与表的关联
二、实验地点器材:
实验室,Pentium以上PC兼容微机,每人一台
三、实验内容:
在E盘建立文件夹“实验三”,并将VFP默认目录设为该文件夹,然后完成以下内容
(一)数据库和数据库表(此部分有提问的将答案填写到各题下面的空白位置)
1.建立数据库stud
2.在数据库stud中建立表cj(注意自由表设计器窗口与数据库表的区别):
CJ(班级 C4,学号 C4,姓名C10,性别 C2,数学 N5.1,英语 N5.1,计算机 N5.1)
3.修改CJ表的结构,要求如下:
(1)要求学号中只能出现数字,不允许输入其它字符(设置输入掩码)
(2)要求成绩只能在0-100之间,否则不允许输入(设置字段有效性规则)
(3)班级的默认值设为“三班”
4.输入如下记录,能否输入成功,为什么?
应如何改?
一班
AB11
王飞
男
80
75
69
5.输入如下记录,能否输入成功,为什么?
应如何改?
二班
2012
汪鹏
男
105
78
70
6.输入如下记录,观察表中该记录在字段“班级”上的值是什么?
为什么?
3012
陈红
女
90
80
65
(二)索引操作(此部分需将命令填写到各题下面的空白位置)
1.将学号设为主索引,再输入如下记录,能否输入成功,为什么?
应如何改?
三班
3012
董李
女
70
76
69
2.建立按姓名升序排列的单索引文件XM;
3.在非结构复合索引文件CJCDX.CDX中按英语成绩的降序建立索引english的普通索引。
4.打开上面建立的三个索引文件(结构复合索引文件、非结构复合索引文件和单索引文件)。
5.将english索引设为主索引,浏览记录,观察记录显示的顺序。
(三)多重工作区与表的关联(此部分需将命令或答案填写到各题下面的空白位置)
1.在数据库stud中建立表:
DA(姓名C10,学号 C4,班级 C4,性别 C2,出生日期 D,总成绩N5.1)
将学号设为主索引,并将CJ中记录追加到DA中(同名字段数据追加)。
2.在1号工作区打开表CJ,在2号工作区打开表DA,并浏览各表信息。
3.根据“学号”建立从DA表至CJ表的永久关联,更新规则为“级联”,删除规则为“限制”,插入规则为“限制”。
4.更改DA表中陈红的学号,观察CJ表中学号是否更改,为什么?
反之,更改CJ表中陈红的学号,观察DA表中学号是否更改。
5.删除DA表中陈红这条记录,观察是否删除成功,为什么?
应如何进行操作?
6.在CJ表中插入以下记录,观察是否插入成功,为什么?
应如何进行操作?
四班
4001
钱江
90
70
76
89
7.先以DA表为父表建立与CJ表的临时关联,然后DA以姓名为“汪鹏”的记录为当前记录,观察CJ表的当前记录是哪条?
为什么?
8.将CJ表中每个人的各科成绩和填到DA表的总成绩字段中
注意:
完成以上内容后,请将文件以“实验三内容”为文件名另存到E盘“实验三”文件夹中,再将“实验三”文件夹提交到作业系统中。
实验四:
视图、查询(2学时)
一、实验目的:
1、学会使用向导创建视图、查询
2、学会使用设计器创建视图、查询
二、实验地点器材:
实验室,Pentium以上PC兼容微机,每人一台
三、实验内容:
在E盘建立文件夹“实验四”,将下面三个表复制到该文件夹中,并将VFP默认目录设为该文件夹,然后建立一个数据库“图书销售系统.DBC”,将给定的三个表加入到该数据库中:
分店(分店号C4,分店名C10,分店位置C20,雇员数N2)
图书(图书号C4,图书名C20,作者C8,出版社C20,单价N6,2,入库量N4)
销售(分店号C4,图书号C4,销售量N4)
(一)建立下列查询文件,运行并定制查询结果的输出格式(查询文件名为“qx.qpr”,“x”为各小题的题号,如第
(1)题的查询文件名为“q1.qpr“)
(1)查询雇员人数不足10人的分店的详细信息。
(2)查询“电子出版社”和“财经出版社”出版的所有图书的书名、作者及单价。
(3)查询“东城分店”所经营的图书的书号和销售量。
(4)查询销售“电子出版社”出版的、作者为“李远江”的图书的分店编号和销售量。
(5)查询不在“B001”分店销售的图书书名、作者和出版社。
(6)查询“东城分店”销售的图书的书名、作者和单价。
(7)查询单价在16元以下或26元(含26元)以上的图书在各分店的销售情况。
(8)查询书名的前两个字为“电脑”的图书在各分店的销售量,且将查询结果保存到表temp中。
二.建立下列视图并浏览
(1)建立包括所有分店的店名、位置和雇员数的视图V1,要求通过V1能更新分店的雇员数。
(2)建立包括入库量在100~200之间的图书的书名、出版社、单价和入库量的视图V2,要求通过V1能更新图书的单价和入库量。
(3)建立包括实行九折优惠后,价格低于20元的图书信息的视图V3。
(4)建立包括“西城分店”销售的图书的书名、出版社和销售量的视图V4。
(5)建立包括“B002”分店销售的“电子出版社”出版的图书书名、作者和单价的视图V5。
注意:
完成以上内容后,将“实验四”文件夹提交到作业系统中。
实验五:
SQL语句(4学时)
一、实验目的:
1、了解结构化查询语句SQL的基本功能
2、会使用SQL语句完成简单的记录查询
3、会使用SQL完成条件、连接、统计等复合查询
4、全使用SQL完成记录的添加、删除和更新、表结构的创建和修改
二、实验地点器材:
实验室,Pentium以上PC兼容微机,每人一台
三、实验内容:
给定基本表“分店”、“图书”、“销售”:
分店(分店号C4,分店名C10,分店位置C20,雇员数N2)
图书(图书号C4,图书名C20,作者C8,出版社C20,单价N6,2,入库量N4)
销售(分店号C4,图书号C4,销售量N4)
在E盘建立文件夹“实验四”,将上面三个表复制到该文件夹中,并将VFP默认目录设为该文件夹,实验时需将各题命令填写到相应的空白位置。
(一)试用SQL语句完成如下基本查询:
(1)查询雇员人数不足10人的分店的店名、位置和雇员数。
。
SQL语句:
(2)查询在基本表“图书”中出现的不同的出版社名。
SQL语句:
(3)查询“电子出版社”和“财经出版社”出版的所有图书的书名、作者及单价。
SQL语句:
(4)查询实行九折优惠后,价格低于20元的图书信息。
SQL语句:
(5)查询书名的前三个字为“计算机”的图书信息。
SQL语句:
(6)查询书名中含有“电脑”两个字的图书信息。
SQL语句:
(7)查询在“B001”分店销售的图书书名、销售量。
SQL语句:
(8)查询在各分店销售情况,含分店名、图书名、销售量。
SQL语句:
(9)查询不销售“财经出版社”出版的图书的分店名及其所在位置。
SQL语句:
(10)查询不在“B001”分店销售的图书书名、作者和出版社。
SQL语句:
(11)查询“B002”分店销售的“电子出版社”出版的图书书名、作者和单价。
SQL语句:
(12)查询“东城分店”销售的图书的书名、作者和单价。
SQL语句:
(13)查询至少在“东城分店”或“西城分店”一家分店中销售的图书书号。
SQL语句:
(14)查询既不在“东城分店”也不在“西城分店”销售的图书号。
SQL语句:
(15)查询在“东城分店”和“西城分店”两家分店都销售的图书的图书号。
SQL语句:
(16)查询单价的比所有“财经出版社”出版的图书的单价都高的其它出版社出版的图书信息
SQL语句:
(二)试用SQL语句完成如下统计:
(1)查询所有分店的雇员人数之和。
SQL语句:
(2)查询雇员人数最少的分店店名及其所在的位置。
SQL语句:
(3)在基本表“图书”中统计图书的种类数。
SQL语句:
(4)统计已销售的图书的种类数。
SQL语句:
(5)查询每个分店经销的图书种类数,并按类数降序排列输出。
SQL语句:
(6)查询总销售量高于200的分店编号及其总销售量。
SQL语句:
(7)查询总销售量最高的分店编号及其总销售量。
SQL语句:
(8)查询“电子出版社”出版的价格最高的图书的书名、作者和单价。
SQL语句:
(9)查询每个出版社出版的图书的平均价格,并存入一个基本表BRANCH中。
SQL语句:
(三)用SQL语句完成如下表的操作:
1.在分店表中插入记录:
(”B005”“城郊书店”,“长江路34号”,17)
2.定义一3个元素的一维数组S,它三个元素值分别为:
”B005”、“T001”、32,将数组内容作为记录值插入销售表中。
3.将分店号为“B003“的分店的雇员增加3人
4.将销售表中“B002”分店销售的“T001“图书记录删除。
注意:
完成以上内容后,请将文件以“实验五内容”为文件名另存到E盘“实验五”文件夹中,再将“实验五”文件夹提交到作业系统中。
实验六:
程序设计(4学时)
一、实验目的:
熟悉程序控制的选择结构、循环结构,并能熟练编制程序;掌握子程序的设计
二、实验地点器材:
实验室,Pentium以上PC兼容微机,每人一台
三、实验内容:
已知基本表有:
BJ(班级名C8,班号N2,学生数N3)
XS(学号N4,姓名C6,性别C2,民族C6,政治面目C4,来源地区C8,数学N3,英语N3政治N3,总分N3)
在E盘建立文件夹“实验六”,将上面二个表复制到该文件夹中,并将VFP默认目录设为该文件夹,实验时需将程序保存在“实验六”文件夹中,程序保存时要求各题程序名要与括号内给定名字一致
1.编写程序,求1—100间所有偶数之和(proc1.prg)。
2.按姓名查询学生的信息。
要求输入姓名,若找到显示该生信息,否则显示“查无此人”提示信息,在查完一人后询问是否再继续查找其它人,若输入‘Y’或‘y’,继续查找下一人,若输入‘N’或‘n’结束查找,按其它键不反应(proc2.prg)。
3.学生学号前两位是所在班号,编写程序:
给“计算机”班的少数民族学生的政治加5分,但最多不超过100分,并重新计算总分,最后生成XS1.DBF,其中只包括少数民族学生且按政治降序排列(proc3.prg)。
4.请编写程序,功能是:
对各个班按总分计算表XS.DBF中最高分、最低分、平均分,并把结果存放到统计表TJCJ.DBF中(含班号、最高分、最低分和平均分四个字段)。
表XS.DBF中学号的前二位是班码(proc4.prg)。
5.由于操作错误,BJ表存在重复记录。
请编写程序,其功能是在重复记录中只保留一条,而逻辑删除其它记录。
将保留的记录(未加删除标记的记录)复制到结构相同的表BJ2.DBF中,并按照班号升序存储(proc5.prg)。
6.编写一密码验证程序,若输入的密码正确(设为’ABC’),显示“欢迎你使用本系统”,且按任意键结束,若输入的密码错误,显示“你输入的密码错误,请重新输入!
”,若错误超过3次,则显示“你无权使用本系统!
”,按任意键结束(proc6.prg)。
7.编写一个过程文件和一个程序文件,其中过程文件包含三个过程:
(1)计算圆的面积
(2)计算球的体积
(3)计算圆的周长
运行程序文件程序,出现如下用户界面,由用户选择某项,提示输入半径,然后调用相应的过程,完成相应功能(proc7.prg)。
1.计算圆的面积
2.计算球的体积
3.计算圆的周长
请选择:
注意:
完成以上内容后,请将“实验六”文件夹提交到作业系统中。
实验七:
表单设计(6学时)
实验目的:
1、“表单设计器”的使用;
2、常用控件的使用;
3、表单数据环境的设计
实验地点器材:
实验室,Pentium以上PC兼容微机,每人一台
实验内容:
有数据表:
档案表:
xsda.dbf(学号、姓名、班级、性别、年龄、民族、特长、奖学金、照片)
成绩表:
xscj.dbf(学号、姓名、班级、英语、政治、数学、体育)
在E盘建立文件夹“实验七”,将上面二个表复制到该文件夹中,并将VFP默认目录设为该文件夹,然后完成以下内容:
(一)创建一数据库stud,并将上述两表添加到该数据库中。
(二)创建下面各题目要求的表单,表单的名称要求与各题规定的名字一致
1.创建一表单宽400,高300的form1,要求表单运行时在主窗口内居中(Autocenter)、边框风格为固定对话框(BorderStyle))、无最大化按钮(MaxButton)、无最小化按钮(MinButton)、不可移动(Movable)、图标设为“01.ico”(Icon)、显示的图像设为“02.jpg”(Picture);且当单击表单时标题为当前日期、双击时标题为当前时间、右击时标题为当前日期和时间,编写相应的事件代码,运行表单观察是否满足设计要求。
2.创建如下表单form2,当单击“计算”时,第3个文本框显示第1与第2个文本框中的数字和。
要求第3个文本框只读。
3.创建如下表单form3,完成登录验证功能。
要求当输入用户名(以“user1“为例)和密码(以“123456”为例)都正确时将执行表单form2,否则要求重新输入,输入密码时要求显示“*”。
4..建立一表单form4,用来浏览xscj表中的记录,并添加一命令按钮组,含五个命令按钮,分别用来完成:
到第一条记录、前一条记录、下一条记录、最后一条记录和关闭表单,若已是第一条记录,则“第一条记录”、“前一条记录”不可用,若已是最后一条记录,则“下一条记录”、“最后一条记录”不可用;若按回车键浏览下一条记录(default),按ESC键退出表单(cancel)
Commandgroup1.Click:
5.创建如下表单Form5,表单中包含一个编辑框Edit1、两个命令按钮Command1(查找)和Command2(替换)、两个文本框Text1(输入要查找内容)和Text2(输入要替换后的内容),单击Command1时,在Edit1中查找Text1中的内容,并选择它,单击Command2时,用Text2中内容替换Edit1中已选择的内容。
写出Commadn1和Command2的click事件代码(8分
6.创建如下的表单form6,将选择的城市(Optiongroup1)和爱好(Check1-4)分别显示在文本框text1和text2中
7.按下图设计一个表单form7。
要求表单运行时,LIST1列表框显示xsda表的所有字段名,单击“>”按钮(Command1)时,LIST1中选择的字段加入到LIST2中,单击“<”按钮(Command2)时,LIST2中选择的字段加入到LIST1中。
8.创建如下的表单form8,通过左边的选择完成对编辑框中的文本进行字体(Combo1)、字号(combo2)、粗体(Check1)、斜体(Check2)和字体颜色(Optiongroup1)的设置,
9.设计如下表单Form9:
通过选项组、命令按钮和微调框改变形状的类型、边框颜色(调用getcolor()函数)和粗度
10.设计如下欢迎表单Form10,要求红色欢迎文本从左向右循环滚动。
注意:
完成以上内容后,将“实验七”文件夹提交到作业系统中。
实验八:
菜单、报表设计(2学时)
一、实验目的:
(1)掌握报表创、修改及使用
(2)掌握标签创建、修改及使用
(3)掌握菜单创建、修改及使用
二、实验地点器材:
实验室,Pentium以上PC兼容微机,每人一台
三、实验内容:
已知一项目中以有下列内容:
数据表:
bj.dbf(班级名,班级编号)
xsda.dbf(学号、姓名、班级编号、性别、年龄、民族、特长、奖学金、照片)
xscj.dbf(学号、姓名、班级编号、英语、政治、数学、体育)
表单:
editda.scx:
档案输入、修改等
editcj.scx:
档案输入、修改等
editbj.scx:
班级输入、修改等
seekda.scx:
根据不同条件查询档案信息
seekcj.scx:
根据不同条件查询成绩
在E盘建立文件夹“实验八”,并将VFP默认目录设为该文件夹,然后将上述项目相关的所有文件复制到“实验八”文件中,打开该项目文件,在项目管理器中完成以下内容:
(一)菜单的创建
1.设计结构如下表的一下拉菜单menu1,并指定任务
系统菜单结构一览表
主菜单标题
子菜单标题
菜单项任务
数据管理
班级管理
班级输入、修改等
档案管理(A)CTRL+A
档案输入、修改等
数据查询
档案查询
根据不同条件查询档案信息
成绩查询
根据不同条件查询成绩
打印输出
档