VFP实验指导一

更新时间:2024-07-03 23:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Visual FoxPro 程序设计上机指导与习题

Visual FoxPro上机实验指导

Visual FoxPro程序设计是一门实践性非常强的课程,除了要求掌握Visual FoxPro程序设计的方法外,还必须具备一定的应用开发能力和较强的动手能力,只有这样才能真正解决所遇到的实际问题。因此学习Visual FoxPro程序设计,上机实验就显得十分重要。

为了方便读者上机练习,根据教材不同章节的教学内容,本部分设计了15个上机实验,具有较强的针对性和实用性。通过上机实验操作,对于熟悉Visual FoxPro系统的功能,提高数据库应用开发水平,增强动手操作能力无疑具有十分重要的作用。每个实验安排2机时,读者可以根据实际情况从每个实验中选择部分内容作为上机练习。

实验一VFP的工作方式、辅助设计工具

【实验目的】了解VFP的基本操作

1.掌握VFP的打开方法、界面组成 2.掌握VFP的基本界面、对话框操作

3.掌握VFP的工作方式,包括VFP命令的格式与特点,两类工作方式 4.了解VFP的辅助设计工具(向导、设计器、项目管理器) 【实验内容】

1. Visual FoxPro系统的启动与退出。

2.了解VFP的界面组成(标题栏、菜单栏、工具栏、命令窗口、主窗口),查看每个菜单项的内容。

3.熟悉命令方式操作:在命令窗口中输入如下命令,查看命令运行结果:creat project sb

4. 打开项目管理器,单击每个选项卡所包含的内容,了解项目管理器的作用,再执行

close all命令,查看运行结果

5.利用向导方式创建一个表,了解向导的使用。 6.利用向导方式创建一个表单,熟悉对话框的使用。 【实验素材】 【重点难点】

1. 熟练VFP界面操作,掌握各对话框的使用。 2. 理解交互操作方式。

【讲解内容】

1.使用向导创建表和表单的各个步骤中,对话框的使用。 2.交互操作方式和命令的基本操作。

【实验步骤】

1.启动Visual FoxPro系统

方法1:在Windows桌面单击:开始→程序→Microsoft Visual Studio6.0→Visual FoxPro

1

Visual FoxPro 程序设计上机指导与习题

选项。

方法2: 双击桌面上建立的Visual FoxPro 6.0系统的快捷方式图标。

方法3: 单击“开始”按钮,选择“运行”选项,运行Visual FoxPro 6.0系统的启动程序vfp6.exe。

2.启动Visual FoxPro以后,对出现的命令窗口调整其大小和位置。当该窗口没有出现时,可按复合键Ctrl+F2调出命令窗口。

3.设置默认路径。单击“工具”菜单的“选项”菜单项,打开“选项”对话框,选中“文件位置”选项卡,设置“默认目录”的值。例如要对D盘进行操作,则输入D:\\。

4.进入命令窗口,输入命令完成表达式的计算,然后按表1.1的第一列的命令依次输入命令,将命令结果填入表格第二列,结合命令前后的相关内容写出命令功能。 注意:输入命令时所有运算符均应在英文状态下输入。 5.退出Visual FoxPro系统

方法1:在Visual FoxPro“文件”菜单项下,选择“退出”菜单项。 方法2:在Visual FoxPro命令窗口输入QUIT命令并回车。 方法3:单击Visual FoxPro主窗口右上角的“关闭”按钮。

方法4:单击Visual FoxPro主窗口左上角控制菜单中的“关闭”选项。 方法5:同时按Alt+F4键。

2

Visual FoxPro 程序设计上机指导与习题

实验二 表的建立与修改

【实验目的】:掌握表的基本操作。

1.掌握默认目录的设置。 2.会使用表设计器新建表。 3.掌握表结构和表中数据的修改。 4.掌握表中数据的添加方法。 5.掌握表中数据的删除操作。 【实验内容】

1.设置默认目录为D盘根目录:

命令方式:在命令窗口中输入 set default to d:\\

菜单方式:“工具”——“选项”——“文件位置”——“默认目录”

2.建立表文件rsda.dbf,其中照片字段的数据由大家自行在windows下选择两个图标分别输入,然后关闭该表。表结构与数据如下所示:

表2-1 rsda.dbf表结构: 字段名 编号 姓名 性别 工作时间 职称 简历 照片 表2-2 rsda.dbf表中数据 01001 02001 03001 05002 04002 04001 02002 韩伟东 刘巧玲 王伟东 苗莉 林文灵 江瑞青 贾贵红 男 女 男 女 男 男 女 1985-09-04 1993-09-07 1988-07-05 1963-07-01 1963-09-02 1984-06-03 1988-09-06 类型 C C C D C M G 宽度 5 8 2 8 8 4 4 毕业于山东大学电子工程系 喜欢唱歌跳舞 副教授 教授 教授 主治医师 01002 03002 张小鹏 宋绍明 男 1995-09-08 男 1996-03-09 讲师

3.重新打开表文件rsda.dbf(use rsda、菜单方式),将“姓名”字段宽度设置为10;在”

3

Visual FoxPro 程序设计上机指导与习题

性别“字段后添加新字段:出生年月 日期型,然后再将新字段删除;将姓名字段调整到最前面。

4.在浏览窗口修改表中数据。将姓名字段为“江瑞青”的记录,添加“简历”,内容为“2000年被评为副教授”,更换照片字段中的内容。然后关闭该表。 5.打开表rsda.dbf,在表中添加数据。

表2-3 03003 05001 绍林文贺 马超频 女 男 1996-05-10 1996-12-11 副教授 6.将所有性别为“女”的记录逻辑删除。

7.用建立如下表rsgz,rsbm,rsgl以供以后使用。表结构及数据分别如下所示

表2-4 rsgz表结构

字段名 编号 姓名 基本工资 职务补贴 社会保险 公积金 应发工资 实发工资 01001 02001 05002 04002 04001 13001 02002 01002 03002 03003 05001

字段类型 C C N N N N N N 字段宽度 5 8 8 8 8 8 9 9 表2-5 rsgz表数据 小数位数 2 2 2 2 2 2 922.00 713.52 570.00 397.00 875.00 688.00 韩伟东 782.00 260.00 112.00 96.48 刘巧玲 420.00 150.00 95.00 苗莉 78.00 695.00 180.00 102.00 85.00 林文灵 950.00 320.00 122.00 110.50 1270.00 1037.50 江瑞青 960.00 320.00 131.00 125.00 1280.00 1024.00 王伟东 690.00 250.00 110.00 97.89 贾贵红 680.00 190.00 108.00 97.50 张小鹏 630.00 190.00 102.00 87.90 宋绍明 670.00 190.00 105.00 94.80 绍林文贺 850.00 940.00 732.11 870.00 664.50 820.00 630.10 860.00 660.20 250.00 115.00 120.00 1100.00 865.00 马超频 650.00 190.00 122.00 115.00 840.00 603.00 4

Visual FoxPro 程序设计上机指导与习题

表2-6 rsbm表结构

字段名 部门名 部门负责人 办公室电话 机关 总务 计算机系 数学系 电子工程系 字段名 编号 部门名 姓名 性别 出生日期 文化程度 职务 婚否 01001 机关 02001 总务 03001 计算机系 04001 数学系 字段类型 C C C 马文胜 刘天明 宋豪杰 张文凯 李超群 字段类型 C C C C D C C T 韩伟东 刘巧玲 王伟东 姜瑞青 男 女 男 男 男 女 男 女 女 男 男 字段宽度 10 8 7 表2-7 rsbm表数据 2017382 2017856 2016543 2012976 2019305 表2-8 rsgl表结构

字段宽度 5 10 8 2 8 4 8 1 表2-9 rsgl表数据 19601010 大专 19750802 高中 19610807 硕士 19550602 博士 19700810 硕士 19450902 中专 19700103 硕士 19660504 博士 19650308 本科 19720305 本科 19430803 本科 副处长 T 工人 教师 教师 教师 教师 教师 医师 科长 教师 F T T F F F T F T 05001 电子工程系 马超频 05002 电子工程系 苗莉 03002 计算机系 03003 计算机系 02002 总务 01002 机关 04002 数学系 【实验素材】 【重点难点】

教务员 T 宋绍明 绍林文贺 贾贵红 张小鹏 林文灵 5

Visual FoxPro 程序设计上机指导与习题

1. 默认目录的作用和设置。 2. 字段类型的选取。

3. 日期型,备注型,通用型字段数据输入的注意事项。 4. 表中数据的添加方法。 5. 表中数据删除两个步骤的区别。 【讲解内容】

1. 设置默认目录的用处和方法。 2. 通用型和备注型字段数据的操作。

3. 表的打开和浏览的区别,窗口操作和命令的对应关系。 4. 表结构修改和表数据修改的一般步骤。 5. 表中数据添加的一般步骤。

图2-1

【实验步骤】

1. 设置默认目录为D盘根目录:

命令方式:在命令窗口中输入set default to d:\\vfptest 菜单方式:“工具”——“选项”——“文件位置”——“默认目录”

2. 选择“文件”菜单中的“新建”菜单项,在“新建”对话框中选取“表”单选项(图2-1),然后点击“新建文件”按钮。在弹出的“创建”对话框中,输入表文件名rsda,并选择保存路径,按“保存”,出现如图2-2所示的“表设计器”。

3. 在出现的表设计器中,根据表2-1设计的表结构,输入各字段名、类型、宽度与小数位数,如图2-3所示。点击“确定”,弹出对话框,如图2-4所示,单击“是”按钮,即可输入学生记录信息。记录输入完毕,用Ctrl+W存盘退出,此时完成了表2-2 rsda的建立与数据输入工作。结果如图2-5 图2-2

6

Visual FoxPro 程序设计上机指导与习题

图2-3

图2-4

图2-5

3. 对表student.dbf的任何操作必须首先打开该表,可在命令窗口输入命令:use rsda,或

者使用菜单“文件-打开”选择相应的文件进行打开操作,在命令窗口中输入“browse”命令或者使用菜单“显示-浏览rsda”浏览表中数据,使用菜单“显示-表设计器”打开表rsda的表结构,如图2-3,将“姓名”字段宽度设置为10;在”性别“字段后添加新字段:出生年月 日期型,通过拖动将姓名字段调整到最前面,点击出生年月字段,选择右侧的删除。结果如图2-6,然后点击确定。

7

Visual FoxPro 程序设计上机指导与习题

图2-6

图2-7

4. 使用菜单“显示-浏览”浏览表rsda,如图2-5,

找到姓名字段为“江瑞青”的记录,双击“简历”字段,在图2-7中添加内容“2000年被评为副教授”,更换照片字段中的内容,然后关闭该表。

5. 打开表rsda.dbf,在表中添加数据如表2-3。结果如下图2-8

图2-8

6. 将所有性别为“女”的记录前边使用左键点中打上删除标记,效果如图2-9

7.用以上方法建立rsgz,rsbm,rsgl三个表。

8

Visual FoxPro 程序设计上机指导与习题

图2-9

9

Visual FoxPro 程序设计上机指导与习题

实验三 常量、变量、运算符、表达式

【实验目的】

1.掌握常用的5种类型常量的表示方法 2.掌握变量的类型和赋值

3.掌握变量、表达式值的显示和清除 4.了解常见的5种运算符,掌握其运算 【实验内容】

1.在命令窗口中依次执行以下命令,查看运行结果:

?-100.2 ?”25fgh%&$” ?{^2004-01-03} set strictdate to 0 ?{01/03/04} ? .t.

2.在命令窗口中依次执行以下命令并观察每个命令的执行结果

(1) x1=8*4

x2=”pqr” xy=.t.

xz={^2004-01-01} list memory like x? release x1,x2 list memory like x?

(2)表达式”abcd”$”ad” or (1.1+2)^3>66的运算结果 3.定义一个二维数组 a(2,3),分别给数组的每个元素赋值为

1 “2” 3 4 {^1999-09-09} -3.4 执行以下命令查看运行结果是否一样 ?a(2,2) ?a(5)

4..依次执行以下命令,并观察运行结果

use rsda ?姓名

5..依次执行以下命令,并观察执行结果

?3>4

10

Visual FoxPro 程序设计上机指导与习题

?”abcd”>”ad” set excat off ?”abcdef”=”abc” ?”abcdef”= =”abd” set exact on ?”abcdef”=”abc” ?”abcdef”= =”abc”

6.依次执行以下命令,并观察执行结果

?not (5>6)

? not (5>6) and “abc”>”ad” or $100<$200【实验素材】 表rsda.dbf 【重点难点】

1. 日期型常量的表示方法。 2. 变量的赋值方法。

3. 字段变量的意义及表示方法。 4. 通配符的使用。

5. 字符型数据之间的关系运算。 6. 各种运算之间的优先关系。 【讲解内容】

1. 常量表示应该注意的问题。 2. 变量的赋值方法。 3. 字段变量的使用。 4. 关系运算。

11

Visual FoxPro 程序设计上机指导与习题

实验四 函数、命令子句

【实验目的】掌握常用函数和命令子句的使用

1. 掌握常用数值型函数的使用。 2. 掌握常用字符处理函数的使用。 3. 掌握常用日期处理函数的使用。 4. 掌握命令子句的书写规则和使用。 【实验内容】

1.依次输入以下命令并观察各个命令的执行结果

string1=“abd” string2=”ab” ?len(string1) ?alltrim(string1) ?at(string1,string2)

2.依次输入以下命令并观察各个命令的执行结果

use rsda

list for substr(职称,3,4)=”教授” list for right(职称,4)=”教授” list for “东”$姓名

3.列出rsgl表中从第3条到第5条记录

4.从rsgz表中查找出基本工资大于600并且编号的第1位为0的满足条件的记录

5.从rsgl表中查找出满足条件的记录:计算机系的性别为男,并且只显示编号、姓名两个字段

6.课后练习题第5题

【说明】请实验老师检查实验结果 【实验素材】 表rsda.dbf、sp.dbf 【重点难点】

1. SUBSTR、AT、LEFT、RIGHT、STR等字符处理函数的使用。 2. 日期处理函数的使用。 3. VFP命令常用子句的使用。 4. 命令子句和函数的综合使用。 【讲解内容】

1. 主要函数的使用要点。

2. 函数和命令子句的综合应用(结合实验题)。 【实验步骤】

12

Visual FoxPro 程序设计上机指导与习题

3.在命令窗口中执行以下命令

use rsgl go 3 list next(3)

4. 在命令窗口中执行以下命令

use rsgz

list for 基本工资>600 and left(编号,1)=\5. 在命令窗口中执行以下命令

use rsgl list

list for 部门名=\计算机系\性别=\男\编号,姓名 6在命令窗口中执行以下命令 (1) use sp list

list record 5 (2) go 3 list next(5) (3) go 3 list next(3) (4) list

list for 数量<5 fields 货号,品名,生产单位 (5) clear list

list for 进口=.T. or year(开单日期)=1995 (6) clear list

list for left(生产单位,4)=\上海\(7) clear list

13

Visual FoxPro 程序设计上机指导与习题

list for (单价>4000 and 进口=.T.)or(单价>5000 and 进口=.F.) (8) clear list

list 货号,品名,单价*0.9,开单日期 for year(开单日期)=1995 (9) clear list

list for 单价<2000 or (单价>5000 and 进口=.T.) (10) Clear list go 3

list for 进口=.F. rest (11) clear list

list for right(货号,3)=\(12) clear list

list for left(货号,1)=\货号,2,1)=\(13) clear list

list for 单价>3000

14

Visual FoxPro 程序设计上机指导与习题

实验五 表的维护命令

【实验目的】掌握表的维护命令

1. 掌握表与表结构的复制。 2. 掌握记录指针的定位、移动。

3. 掌握记录的插入、追加与删除、恢复。 4. 掌握表数据的替换 【实验内容】

1.对表rsgz表按如下要求进行操作,将操作后的新表结构显示出来

(1)复制rsgz表的结构为rsgz1,将复制后的新表的结构显示出来 (2)复制一个仅有编号、姓名、应发工资3个字段的表结构rsgz2 (3)将rsgz 复制为表rsgz3

(4)复制一个仅有编号、姓名、应发工资3个字段的表rsgz4

(5)将从第3个记录到第8个记录中应发工资小于900元的记录复制到表rsgz5中 2.将表rsda记录指针移动到第三条上,显示记录号。然后向后相对移动2位,显示记录号。 3.对表rsda按如下进行操作

(1)在第3条记录之前插入一条新记录,内容为:“06001”,“张文”,“女” (2)将表中所有性别为女的记录做上删除标记 (3)将编号为“06001”的记录恢复删除标记

4.打开表rsgz,把其中应发工资的值用基本工资+职务补贴添上; 实发工资的值用应发工资-社会保险-公积金 【说明】请实验老师检查实验结果 【实验素材】

表rsda.dbf,rsgz.dbf 【重点难点】

1. 表的复制操作。 2. 表数据的添加。 3. 替换命令REPLACE。 【讲解内容】

1. 表的维护命令以及对应的界面操作。 【实验步骤】

1. 在命令窗口中键入如下命令 (1) use rsgz

copy structure to rsgz1

15

Visual FoxPro 程序设计上机指导与习题

modify structure (2) use rsgz

copy structure to rsgz2 fields 编号,姓名,应发工资 use rsgz2 modify structure (3) use rsgz copy to rsgz3 use rsgz3 (4) use rsgz

copy to rsgz4 fields 编号,姓名,应发工资 use rsgz4 browse (5) use rsgz go 3 ?recno()

copy to rsgz5 for 应发工资<900 next 5 use rsgz5 browse use rsgz browse

2. 在命令窗口中键入如下命令 use rsgz ?recno() go 3 ?recno() skip 2 ?recno()

3. 在命令窗口中键入如下命令 (1) go 3

insert before

在弹出的窗口中添入内容“06001”,“张文”,“女”

16

Visual FoxPro 程序设计上机指导与习题

Browse (2) use rsda

delete for 性别=\女\browse (3) use rsda browse

recall for 编号=\

4. 在命令窗口中键入如下命令 use rsgz browse

replace 应发工资 with 基本工资+职务补贴 replace 实发工资 with 应发工资-社会保险-公积金

17

Visual FoxPro 程序设计上机指导与习题

实验六 排序与索引

【实验目的】

1. 熟练使用排序命令 2. 熟练的建立索引和使用索引 【实验内容】

1.对表rsda.dbf 按照编号排序,排序后的结果放在表bh.dbf中。

2.对表rsda.dbf 先按照性别升序排列,如果性别相同再按工作时间降序排列,排序后的结果放在表xbsj.dbf中。

3.分别用命令方式和菜单方式给表rsda.dbf建立如下索引

①对表rsda.dbf按编号升序建立候选索引,索引标识为bh。

②为表rsda.dbf建立结构化的复合索引,要求先按照性别升序排列,如果性别相同再按工作时间升序排列,索引标识为xbcsrq。

4.为表rsgz.dbf建立非结构化的复合索引,要求先按照姓名升序排列,如果姓名相同再按职务补贴升序排列,索引标识为xbbt,索引文件名为rs.cdx。 5.确定xbcsrq为主控索引。

【实验素材】

表rsda.dbf,rsgz.dbf 【重点难点】

1. 排序命令的使用. 2. 索引关键字的设定. 3. 主控索引的设定. 【讲解内容】

1. 使用命令建立索引,重点是索引关键字的设定方法. 2. 主控索引的设定以及意义. 【实验步骤】 1. use rsda BROWSE

sort to bh on 编号 use bh BROWSE browse 2.

18

Visual FoxPro 程序设计上机指导与习题

use rsda list

sort to xbsj on 性别,工作时间/D use xbsj list 3. (1) clear use rsda

index on 编号 tag bh candidate (2) clear

index on 性别-DTOS(工作时间) tag xbcsrq 4. use rsgz list

index on 姓名+str(职务补贴,5,2) tag xbbt of rs list 5. clear list

set order to Tag xbcsrq

19

Visual FoxPro 程序设计上机指导与习题

实验七 查询命令、数据工作期

【实验目的】

1. 熟练的使用顺序查询和索引查询命令 2. 熟悉多区操作

3. 学会使用数据工作期工具 【实验内容】

1.用命令方式在不同的工作区打开rsda .dbf 、rsgz.dbf、 rsgl.dbf、rsbm .dbf四个表。

2.用数据工作期工具在不同的工作区打开rsda .dbf 、rsgz.dbf、 rsgl.dbf、rsbm .dbf四个表。并试在数据工作期中修改表的属性和建立实验七中要求的结构化复合索引。 3.在表rsda.dbf中定位所有职称为副教授的记录。

4.在表rsda.dbf中定位所有性别为男并且工作日期在90年以后的记录。 5.利用索引查询的方式定位所有职称为教授的记录。 【实验素材】

表rada.dbf,rsgz.dbf,rsgl.dbf,rsbm.dbf 【重点难点】

1. 查询命令的使用.

2. 工作区的选择和在任意工作区打开表. 3. 数据工作期窗口的使用. 【讲解内容】

1. 索引查询命令使用的注意事项. 2. 工作区的选择. 3. 数据工作期的使用 【实验步骤】 1. select 1 use rsda select 2 use rsgz select 3 use rsgl select 4 use rsbm

20

Visual FoxPro 程序设计上机指导与习题

2.

(1)选择窗口菜单的数据工作期命令,屏幕出现数据工作期窗口。

(2)在数据工作期窗口中选定“打开”按钮-在对话框中选定rsda.dbf,选定“确定”按钮返回数据工作期。以同样的方法打开rsgz.dbf、 rsgl.dbf、rsbm .dbf三个表。

3. SELECT 1 list

locate for 职称=\副教授\dislay continue display continue display ?recno()

21

Visual FoxPro 程序设计上机指导与习题

4 clear list go 1

locate for 性别=\男\工作时间)>1990 display continue display continue display continue display ?recno() 5. clear list

index on 职称 tag zc seek \教授\?found() display

22

Visual FoxPro 程序设计上机指导与习题

实验八 表的关联、统计命令

【实验目的】

1. 熟练的在数据工作期建立关联。 2. 会使用命令建立关联. 3. 会多表操作.

4. 能熟练的使用average, sum, count, total等命令,处理表中数据。 【实验内容】

1.在表rsda dbf与rsgz .dbf之间分别用命令方式和菜单方式建立关联。

2.求出rsgz .dbf 中计算机系所有职工的月基本工资平均值及全年实发工资之和并显示。 3.试统计男职工且职称是教授的人数。 4.试统计表rsgl.dbf中各部门人数。 【实验素材】

表rsda.dbf,rsgz.dbf,rsgl.dbf 【重点难点】

1. 使用数据工作期建立表间临时关系 2. 建立关联命令的使用 3. 关联关键字的选取. 4. 求和求平均值命令的用 5. 分类汇总命令的使用 【讲解内容】

1. 关联关键字的选取 2. total命令的使用 【实验步骤】 1.

(1)命令方式 select 1 use rsda list

index on 编号 tag bh additive select 2 use rsgz list

index on 编号 tag bh additive set relation to rsgz.编号 into rsda

打开数据工作期窗口即可查看关联 (2)菜单方式

23

Visual FoxPro 程序设计上机指导与习题

(i)选择窗口菜单的数据工作期命令,屏幕出现数据工作期窗口。

(ii)在数据工作期窗口中选定“打开”按钮-在对话框中选定rsda.dbf,选定“确定”按钮返回数据工作期。以同样的方法打开rsgz.dbf表。

(iii)首先为rsda,rsgz两个表中的编号建立索引,然后选择rsda为父表,点击关系,然后再点击rsgz,在出现的窗体中选择rsgz中的建立在编号的索引,在出现的窗体左下部中双击编号字段,点击确定,完成表的关联。

24

Visual FoxPro 程序设计上机指导与习题

(iv)效果如图

2. clear select 1 use rsgz list

index on 编号 tag bh addi select 2 use rsgl list

index on 编号 tag bh addi

set relation to rsgl.编号 into rsgz additive

list rsgl.部门名,rsgl.姓名,rsgz.基本工资,rsgz.实发工资 for rsgl.部门名=\计算机\average rsgz.基本工资 for rsgl.部门名=\计算机\sum rsgz.实发工资*12 for rsgl.部门名=\计算机\close all clear 3. use rsda list

count for 性别=\男\职称=\教授\?jsj

25

Visual FoxPro 程序设计上机指导与习题

实验九 SQL语句、查询设计器的使用

【实验目的】

1.熟练的使用查询设计器对单表或多表进行查询。

2.了解SQL语句的用法,并能使用SQL语句实现简单的查询。 【实验内容】分别用SQL语句和查询设计器实现下列查询

1.从表rsgl.dbf中查找包含编号、部门名、姓名、性别,1960年1月1日以后出生的人员。

2.找出实发工资在1000元以上的职工所在的部门。

3.使用表rsgl.dbf和rsgz.dbf建立查询,要求查询结果包含编号、姓名、职务、应发工资、实发工资,并以实发工资排序。

4.查询职工中相同职称职工的平均基本工资,结果按平均基本工资升序排列。 【实验素材】

表rsgl.dbf,rsgz.dbf 【重点难点】

1. 多表查询,表间关系的设定. 2. 查询设计器6个选项卡的使用. 3. 查询输出的设定. 【讲解内容】

1. 多表查询时,表间关系的设定. 2. 查询表达式的设定. 3. 输出去向,图形输出的设定.

26

Visual FoxPro 程序设计上机指导与习题

实验十 数据库、数据词典、视图的建立

【实验目的】

1. 掌握数据库的建立及其对数据库表的添加删除等操作。 2. 掌握永久关系的建立 3. 掌握如何在数据库中建立视图 4. 了解数据词典包括的内容 【实验内容】

1.利用数据词典设置表rsda .dbf中性别字段只允许输入“男”或“女”,如果输入错误,系统将提示“性别只能是男或女”。性别字段默认值为“男”。

2.将rsda .dbf 、rsgz.dbf、 rsgl.dbf、rsbm .dbf四个表加入数据库rsgl.dbc中,并在四个表之间建立相应的永久关系。

3.利用数据库rsgl.dbc建立视图,建立一个本地视图,要求视图中包含rsgl.编号、rsgl.部门名、rsgl.姓名、rsda.职称、rsgz.基本工资字段,视图中只包含基本工资超过650元的记录。 【实验素材】

表rsda .dbf 、rsgz.dbf、 rsgl.dbf、rsbm .dbf,数据库rsgl.dbc 【重点难点】

1. 数据库中表的添加新建删除等操作. 2. 数据库表之间永久关系的操作. 3. 数据库中视图的操作. 【讲解内容】

视图的建立过程

27

Visual FoxPro 程序设计上机指导与习题

实验十一 程序的建立、运行,程序文件中专用命令

【实验目的】

掌握程序的建立、保存、运行的方法。掌握顺序执行语句的编写 【实验内容】

1.打开VFP,新建一个程序文件excercise1.prg,并保存。 2.打开程序文件excercise1.prg,编写代码,要求完成以下功能:

输出字符“中华人民共和国”,同行输出字符“烟台师范学院”,换行输出“现代教育技术教学部”

3.打开程序文件excercise1.prg,添加代码,要求完成以下功能:

(1)利用accept输入命令输入一个字符串,并将输入的字符串存入变量icode中。 (2)利用input输入命令输入一个字符串,并将输入的字符串存入变量icode1中。 (3)利用input输入命令输入一个数值,并将输入的字符串存入变量value1中。 (4)将icode、icode1、value1输出到屏幕上,要求输出到同一行。

4.建立程序文件excercise2.PRG,完成以下功能:

清屏,在屏幕上输出“请输入长方形的长:” “请输入长方形的宽:”,并将用户输入的长、宽输入到变量chang,kuan中。利用长方形的周长、面积公式求出周长、面积。并以“长方形的周长是XXX米”、“长方形的面积是XXX平方米”的形式显示出来。

5.新建程序excercise3.prg。编写代码,要求完成以下功能:

在屏幕上输出:“请输入您的用户名:”,同时可以将用户名输入,并存储于变量username中, 在屏幕上输出:“请输入您的年龄:”,同时可以将用户输入的数字存储于变量userage中。在屏幕上输出:“欢迎您,XXX,您是XXXX年出生的”,其中第一个XXX代表用户输入的用户名,第二个XXXX代表当前年减用户输入的年龄得到的出生年。

6.建立一个程序文件excercise2.prg,完成以下功能:

关闭信息显示开关,关闭安全开关,清屏。打开人事档案表:RSDA.dbf。显示:“请输入您想查找的人的姓名”,并将用户输入的姓名保存于变量username中(利用input命令或accept命令)。在表中查找记录(利用LOCATE命令),并显示记录。暂停操作。打开安全开关,打开信息显示开关。 【重点难点】

1. 重点:

a) 分别用命令和用菜单建立程序的方法 b) 程序的书写格式

c) 程序中的各输入输出命令以及程序专用命令 2. 难点:

28

Visual FoxPro 程序设计上机指导与习题

a) 比较wait、input、accept三条语句的异同。 b) input语句中

【讲解内容】

(1)语句:?|?? <表达式> ;比较?和??的区别 (2)wait、accept、input ;讲解各语句适用的范围

(3)@<行,列> [say <表达式1>] [get <变量名>] [default <表达式2>] ;强调变量的特殊性,要么要具有初值,要么要必须用default子句赋值

29

Visual FoxPro 程序设计上机指导与习题

实验十二 分支、循环结构程序设计

【实验目的】

掌握分支、循环结构程序的设计思路、设计方法 【实验内容】

1.打开VFP,新建一个程序文件excercise4.prg,并保存。 2.打开程序文件excercise4.prg,编写代码,要求完成以下功能:

利用Wait命令输入一个字符到变量yn中,判断yn的值,如果yn=’y’,则输出字符串“感谢您对我们的支持!!!”,否则输出“谢谢合作,再见!!!”

3.建立程序文件excercise5.PRG,完成以下功能:

清屏,在屏幕上输出“请输入第一个数:” “请输入第二个数:”,并将两个数保存到变量a、b中,将a、b按照大小顺序显示出来。

4.新建程序excercise6.prg。编写代码,要求完成以下功能:

给与用户提示:输入三个数,将这三个数按照从达到小的顺序依次列出(同一行)。

5.建立一个程序文件excercise7.prg,完成以下功能:

输入三角形的三个边长A、B、C,若A、B、C能构成三角形,则计算出三角形面积;否则提示“不能构成三角形!”。若构成的三角形为直角三角形,也给出“构成直角三角形”的提示。

6.建立一个程序文件excercise8.prg,完成以下功能:

编程序由键盘输入一个数,利用IIF( )函数求出该数所对应的函数F(X) 的值。其中:F(X)=X (X<0), F(X)=2*X (02).

7.建立一个程序文件excercise9.prg,利用case语句完成以上功能。 8.建立一个程序文件excercise10.prg,完成功能:

某班学生计算机考试成绩已登记到COMPUTER.DBF自由表的成绩(N型)字段中,另有评估(C型)字段。编程序将每个学生的计算机成绩进行评估,评估分为:“优秀”(90-100)、“良好”(80-89)、“中等”(70-79)、“及格”(60-69)、“不及格”(0-59)五个等级,并将评估结果写到评估字段中。

9.建立一个程序文件excercise11.prg,完成功能:

分别利用while循环、for循环求出1至100以内的和,并显示结果。利用input命令输入一个整数,分别利用while循环、for循环求出它的阶乘,并将结果输出。

10.建立一个程序文件excercise12.prg,完成功能:

用试探法求解百鸡问题,“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一,百钱百鸡,问鸡翁、母、雏各几何?” 【重点难点】

30

Visual FoxPro 程序设计上机指导与习题

1. 重点

1. if 语句和iif()函数之间的相互转化 2. if语句的嵌套与case多分之语句的相互转化 3. while循环和for循环之间的相互转化 2. 难点

利用vfp解决各种实际问题的方法,尤其是在解决问题过程中所涉及到的算法。例如:判断构成(直角)三角形的条件的抽象;用试探法解决百钱百鸡问题等。

【讲解内容】

(1) (2) (3)

分支语句 循环语句 算法的抽象方法

31

Visual FoxPro 程序设计上机指导与习题

实验十三 子程序、自定义函数、过程、变量作用域

【实验目的】

1. 掌握子程序、函数、过程的定义方法与使用 2. 掌握各种变量的作用域与使用方法 【实验内容】

1.新建程序excercise13.prg。编写代码,定义三个变量A、B、C,分别赋值1,2,3。输出A、B、C。调用程序excercise14.prg。重新输出A、B、C。保存程序。新建程序excercise14.prg编写代码,对A、B、C重新赋值4,5,6,并用”?”输出。观察后程序对前程序的变量影响。

2.修改程序excercise13.prg中的代码,将A声明为全局型内存变量,B声明为局部性内存变量。修改程序excercise14.prg中的代码,将C声明为隐蔽性内存变量。其他代码保持不变。观察输出结果有何不同,总结结论。

3.建立一个程序文件excercise15.prg,完成以下功能:

输入两个数(最好是有正负号)到内存变量A、B中。利用do?with?语句调用子程序excercise16.prg。求出A、B两个数的绝对值,利用变量C先后保存并输出。编写相应的excercise16.prg,完成接收参数功能,和求出接受参数的绝对值并返回的功能。

4.将上题分别利用过程和自定义函数完成功能。 【重点难点】

1. 重点

(1)多模块层次的理解 (2)子程序和自定义函数的调用 2. 难点

(1)子程序和自定义函数的建立 (2)变量的作用域

【讲解内容】

1. 子程序和自定义函数的异同

2. 子程序和自定义函数的建立和调用的实例 3. 变量的作用域的实例

32

Visual FoxPro 程序设计上机指导与习题

实验十四 面向对象程序设计,表单概念及基本操作

【实验目的】

1.掌握表单的概念,表单的属性设置与基本操作。 2.掌握messagebox()的适用于各种参数的使用。 【实验内容】

1.在命令窗口中输入命令,试验messagebox()的各种形式的弹出窗口。 2.新建表单文件form1.scx,保存。将表单form1属性设置如下: 表单背景色:RGB(120,11,231),运行,察看结果。 表单属性:autocenter设置为.T.,运行,察看结果。

分别设置属性:caption“现代教育技术教学部”,maxbutton:enabled=.F.,width=200,height=200,运行,察看结果。

3.新建表单文件form2.scx,保存。双击表单,弹出代码录入窗口,在对象:form1;过程:click代码录入窗口中录入:messagebox(“你好!欢迎来到表单世界!!!”)。运行,察看结果。

4.新建表单文件form3.scx,保存。双击表单,弹出代码录入窗口,在对象:form1;过程:click代码录入窗口中录入代码,要求运行是双击表单时,弹出对话框,框中有两个按钮“是”“否”,要求对话框单击“是”时,表单背景色变为红色,否则变为蓝色。运行,察看结果。 【重点难点】

1. 重点

(1)用命令和菜单建立表单的方法

(2)表单设计器、属性窗口、控件工具栏以及代码编写窗口的使用方法 (3)事件的选择 2. 难点

(1) messagebox()函数中各参数的意义

(2) 选择相应的事件编写代码来完成既定工作的方法 【讲解内容】

1.messagebox()函数 2.Rgb()函数 3.Click()事件

33

Visual FoxPro 程序设计上机指导与习题

实验十五 表单的常用控件的应用

【实验目的】

1.掌握标签、文本框、命令按钮、编辑框、单选按钮、复选框等常用控件的添加及控件的属性设置、事件与方法程序的设置方法及数据环境的设置。

2.了解图形、线条、形状、微调按钮、命令按钮组、计时器、ActiveX控件的重要属性。 【实验内容】

1.新建一个表单form16-1,在控件工具栏中找到上面所述各控件,逐个添加后注意观察各个控件的形态。

2.新建一个表单form16-2,分别添加图形、线条、形状控件,分别做如下属性调整: (1)选中已添加图形控件,调整其picture属性使该控件中显示一个图片(可以选c:\\program files\\Microsoft visual studio\\common.\\graphics中任意图片)。

(2)选中已添加的线条控件,分别调整其Width、Height属性,使其成为水平线和垂直线。 (3)选中已添加形状控件,调整其Curvature属性,分别将其值设置为:0, 50,98,99,观察其形状的变化;在Curvature属性值为99时,调整其Width、Height属性分别使其成为圆和椭圆。

3.新建一个表单form16-4,界面如下所示:

(1)在数据环境中打开表rsda .dbf,修改相应的属性值并编写适当的代码使得各个控件的功能得以实现。

(2)下图为其中的一个效果图:

34

Visual FoxPro 程序设计上机指导与习题

4.新建一个表单form16-3,添加ActiveX控件,使其中显示艺术字:“自制电子表”,然后再添加一个标签,其Caption属性为:“自制电子表”,最后添加一个计时器控件,做如下调整:

(1)选中已添加计时器控件,调整其Interval属性为:1000。 (2)编写代码实现:在标签中模拟电子表的显示状况。 【重点难点】

1.重点

(1) 文本框、编辑框的使用方法及异同 (2) 命令按钮组和命令按钮的使用方法及异同 (3) 计时器的重要属性和事件 2.难点

(1) 计时器和ActiveX控件的使用 (2) 数据环境的使用方法

【讲解内容】

1. 各种控件的特性、重要属性 2. 电子时钟和艺术字的处理方法 3. 数据环境的使用

35

Visual FoxPro 程序设计上机指导与习题

实验十六 表单综合练习

【实验目的】

通过本实验,提高学生综合运用已掌握的表单基本知识和基本操作,解决实际问题的能力。 【实验内容】

1.建立一个表单,包括两个按钮,其中一个为“显示”按钮,另一个为“退出”按钮,一个文本框,要求如下:

单击“显示”按钮,在文本框中依次显示系统日期和时间。 单击“退出”按钮,则退出程序的运行返回编辑状态。

2.建立一个表单,包括两个按钮,其中一个为“显示”按钮,另一个为“退出”按钮,一个文本框,要求如下:

按住“显示”按钮,在文本框中显示“新年好!”,松开“显示”按钮,则在文本框中显示“Happy New Year!”。

单击“退出”按钮,则退出程序的运行返回编辑状态。

3. 建立一个能够查询人事档案的表单,标题为“人事档案”,使之可以显 示编辑数据表rsda.dbf中各记录的编号,姓名,性别三个字段,界面如下:

其中有三个标签,三个文本框,一个命令按钮组,一个命令按钮,作用如图所示,试编程实现各个部分的功能。 运行样式如下图:

4.建立一个登陆界面表单,其中有两个标签,两个文本框,两个命令按钮。界面如下:

36

Visual FoxPro 程序设计上机指导与习题

当输入的帐号和密码均正确时则出现“登陆成功”警示框,否则则出现“你不是合法用户”警示框。

帐号和密码分别为“abc”和“123” (也可以自定)。 当输入正确的账号和密码时,运行样式如下所示:

【重点难点】

1. 重点

1) time()函数和date()函数 2) 命令按钮组

3) 登陆界面的制作,密码的处理方法 2.

难点:

37

Visual FoxPro 程序设计上机指导与习题

1) 命令按钮组控件的重要属性 2) 警示框

【讲解内容】

1. 2.

界面布局的调整方法和通常原则 命令按钮组和警示框的重要属性和实例

38

本文来源:https://www.bwwdw.com/article/r6k.html

Top