VFP程序设计基础实验指导书.docx
- 文档编号:5310443
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:77
- 大小:499.67KB
VFP程序设计基础实验指导书.docx
《VFP程序设计基础实验指导书.docx》由会员分享,可在线阅读,更多相关《VFP程序设计基础实验指导书.docx(77页珍藏版)》请在冰点文库上搜索。
VFP程序设计基础实验指导书
——
陕西电子科技职业学院
实
验
手
册
VFP程序设计基础
姓名:
班级:
专业:
指导老师:
计算机实验中心编
二〇一一年十二月
前言
学习数据库程序设计,上机实训是十分重要的环节。
为了方便读者上机练习,本实训指导书设计了13个实训。
这些实训和课堂教学紧密配合,通过有针对性的上机实训,可以更好地熟悉VisualFoxPro的功能,掌握VisualFoxPro程序设计的方法,并培养一定的应用开发能力。
建议每个实训安排2机时左右,也可以根据实际情况从每个实训中选择部分内容上机练习。
为了达到理想的实训效果,请务必做到以下几点:
1、实训前认真准备,要根据实训目的和实训内容,复习好实训中可能要用到的命令,想好编程的思路,做到胸有成竹,提高上机效率。
2、实训过程中积极思考,要深入分析命令、程序的执行结果以及各种屏幕信息的含义、出现的原因并提出解决办法。
3、实训后认真总结,要总结本次实训有哪些收获,还存在哪些问题,并完成实训指导书要求填写的内容。
程序设计和应用开发能力的提高需要不断的上机实践和长期的经验积累,在上机过程中会碰到各种各样的问题,分析问题和解决问题的过程就是经验积累的过程。
只要按照上面3点要求去做,在学完本课程后就一定会有很大的收获,计算机应用能力就会有很大提高。
2011年12月
【实训1】熟悉VFP环境
实训目的:
1.熟悉VFP系统的操作环境。
2.掌握VFP系统的启动和退出方法。
3.掌握MSDN帮助文件的使用方法。
实训内容:
1.VFP系统的启动
(1)点击“开始”菜单中的“程序”选项。
(2)找到VisualFoxPro6.0的快捷方式来启动VFP。
注:
VisualFoxPro6.0的可执行文件为vfp6.exe,其所在目录随安装的位置的不同而不同,一般为:
“C:
\ProgramFiles\MicrosoftVisualStudio\Vfp98\VFP6.EXE"。
2.在桌面上建立vfp6.exe的快捷方式
(1)首先找到VFP的可执行文件vfp6.exe,依次打开C:
\ProgramFiles\MicrosoftVisualStudio\Vfp98文件夹,找到VFP的可执行文件为vfp6.exe。
(根据具体实训环境的不同,该文件的位置可能不同)
(2)选中vfp6.exe文件。
(3)右键拖动vfp6.exe文件到桌面空白处,在弹出的快捷菜单中选择“在当前位置创建快捷方式”菜单项,即可在桌面上建立vfp6.exe的快捷方式。
双击刚刚建好的快捷方式也可以启动vfp环境。
3.退出VFP(以下方法并列)
方法1:
在“命令”窗口中,输入命令“quit”。
方法2:
直接按Alt+F4。
方法3:
在“文件”菜单中,选择“退出”命令。
方法4:
双击主窗口左上角的控制菜单框。
方法5:
在主窗口控制菜单中,选择“关闭”。
4.认识VFP界面
(1)在vfp主窗口中依次找到标题栏、菜单栏、工具栏、状态栏的位置。
(2)“常用”工具栏的关闭。
①单击“显示”菜单中的“工具栏”菜单项。
②在弹出的窗口中,找到“工具栏”列表框中的“常用”项,鼠标单击去掉“常用”工具栏前面的选中标记。
③单击“确定”按钮,即可关闭“常用”工具栏。
(3)“常用”工具栏的显示。
①单击“显示”菜单中的“工具栏”菜单项。
②在弹出的窗口中,找到“工具栏”列表框中的“常用”项,鼠标单击选中“常用”工具栏前面的选中标记。
③单击“确定”按钮,即可显示“常用”工具栏。
注:
其他工具栏的显示与关闭与上面的方法相同,请读者自己练习。
(3)命令窗口显示与关闭。
方法1:
单击“窗口”菜单中的”命令窗口”菜单项来显示命令窗口,再次单击“窗口”菜单中的”命令窗口”菜单项可关闭命令窗口。
方法2:
CTRL+F2(显示命令窗口)/CTRL+F4(关闭命令窗口)
5.利用MSDN帮助文件查找要解决的问题
(1)进入帮助系统有三种方法。
方法1:
在命令窗口中,输入“help”命令后,回车。
方法2:
调用“帮助”菜单。
方法3:
在VFP窗口中的任一位置选中需要获得帮助的内容,按“F1”功能键。
(2)选择“活动子集”为“VisualFoxpro文档”,保证用户查看到的是关于vfp的帮助内容。
(3)选中“搜索”标签,输入要搜索的关键字。
例如输入“系统容量”四个字,单击“列出主题”按钮列出符合条件的主题。
(4)用鼠标双击找到的主题,在右边的窗口部分即可看到要查找主题的相关内容。
(当然用户也可以在“目录”选项卡下以目录的形式来浏览vfp的帮助内容。
)
注:
帮助文件的位置:
通常情况下,VFP6的MSDN帮助文件位置在c:
\programfiles\MicrosoftVisualstudio\msdn98\98vs\2502,文件名为foxhelp.chm。
(5)请学生找到所在的实训环境下,VFP6的MSDN帮助文件foxhelp.chm的存放位置。
【实训2】项目管理器的基本操作
实训目的:
1.掌握工作目录的设置方法。
2.掌握项目管理器的基本操作。
3.掌握如何建立表文件及备注和通用字段内容的输入方法。
实训内容:
1.设置D:
\VFPLX文件夹为工作目录(两种方法)
首先在D盘新建立一个名为VFPLX的文件夹。
方法1:
菜单方法
(1)依次单击“工具”菜单中的“选项”菜单项。
(2)单击选中”文件位置”选项卡中的“默认目录”项。
(3)单击“修改”按钮,在弹出的“更改文件位置”对话框中,选中“使用默认目录”选项。
(4)在“定位默认目录”下面的文本框输入新的工作目录文件夹路径,单击“确定”按钮。
例如输入:
D:
\VFPLX。
方法2:
命令操作的格式为:
setdefaultto目录名
(1)在命令窗口中输入:
setdefaulttoD:
\VFPLX
(2)回车执行上面的命令即可。
注意:
要设置为工作目录的文件夹必须已经存在,否则,不能设置成功。
在vfp环境下,一旦设置了工作目录后,用户使用VFP工作过程中所产生的文件默认都会存到已经设置好的工作目录下,不会与vfp系统文件混在一起,方便管理与查找。
2.项目管理器的基本操作
(1)建立项目文件
①单击“文件”菜单中的“新建”菜单项,在弹出的窗口中选择文件类别为“项目”。
②单击“新建文件”按钮。
③在弹出的创建窗口中输入项目文件名。
例如输入:
XM1(注意项目文件的扩展名为.PJX)。
④单击“保存”按钮,便建立了名为XM1的项目文件,同时打开了项目管理器窗口。
(2)建立数据库文件
①在项目管理器中,单击选中“数据”选项卡下面的“数据库”类别。
②单击“新建”按钮,单击“新建数据库”按钮。
③输入文件名:
如“教工”(注意数据库文件的扩展名为.dbc)。
④单击“保存”按钮,便建立了名为“教工”的数据库,同时打开了数据库设计器窗口。
⑤单击数据库设计器窗口右上角的“x”形图标按钮来关闭设计器。
(3)关闭项目文件
单击项目管理器右上角的“x”(关闭按钮)。
(4)打开项目文件。
①单击“文件”菜单中的“打开”菜单项。
选择文件类型为“项目”,选中要打开的项目文件XM1.PJX,单击“确定”。
(5)建立表文件
①单击“数据库”左边的“+”,就会列出刚刚建好的“教工”数据库。
②单击“教工”左边的“+”,选中“表”。
(选自由表,可建立自由表)
③单击“新建”/单击“新建表”按钮(此时建立的是数据库表)。
④输入文件名:
如“zgda”(注意表文件的扩展名为.dbf)。
⑤单击“保存”按钮,便打开了表设计器窗口。
⑥输入表的结构(如下表所示)后,单击“确定”按钮。
字段
字段名
类型
宽度
1
编号
字符型
4
2
姓名
字符型
6
3
性别
字符型
2
4
年龄
数值型
2
5
职称
字符型
6
6
工作时间
日期型
8
7
婚否
逻辑型
1
8
简历
备注型
4
9
照片
通用型
4
⑦系统提示是否现在“输入记录”,选择“是”,并在全屏幕编辑窗口中输入下列记录。
编号
姓名
性别
年龄
职称
工作时间
婚否
简历
照片
1
张黎黎
女
26
助教
05/24/99
.T.
memo
Gen
2
李艳
女
30
助教
09/24/99
.T.
memo
Gen
3
刘强
男
38
讲师
12/24/95
.T.
memo
Gen
4
王秋燕
女
45
讲师
10/09/93
.T.
memo
Gen
5
姜丽萍
女
45
讲师
10/09/93
.T.
memo
Gen
6
陈丽丽
女
38
讲师
09/27/95
.T.
memo
Gen
7
刘刚
男
50
副教授
06/28/88
.T.
memo
Gen
8
王良
男
39
讲师
08/09/95
.T.
memo
Gen
注意:
1.备注字段的输入方法:
双击相应记录的备注字段(简历),打开备注字段的输入窗口,既可输入文本内容。
2.通用字段的输入方法:
(1)双击相应记录的通用字段(照片字段),打开通用字段的输入窗口。
(2)单击“编辑”菜单中的“插入对象”命令。
(3)选择“对象类型”为“MicrosoftWord图片”,即可打开Word程序。
(4)在Word程序依次单击插入/图片/剪贴画/选择一个剪贴画插入。
(5)关闭Word程序,回到vfp,即可看到插入的图片,关闭通用字段的输入窗口。
(6)已经插入内容的备注字段和通用字段的外表分别显示为Memo和Gen,第一个字母大写;没有插入内容的备注字段和通用字段的外表分别显示为memo和gen。
小结:
建立表文件的过程分2步。
首先建立表结构,即定义表的列数及每一列的数据类型、宽度等;再输入记录信息,即决定表有多少行的数据。
(6)修改表文件的结构
1在项目管理器中,选中zgda.dbf表。
2单击“修改”按钮,即可打开表设计器,对表的结构进行修改。
(可增加、插入、删除字段、改变字段的位置)
3在表设计器的字段选项卡上的字段列表中最后一个字段后面单击鼠标来增加一个备注型字段,输入字段名为“备注”,选择字段类型为“备注型”。
4删除“工作时间”字段:
选中“工作时间”字段,单击“删除”按钮。
5改变字段的位置(顺序):
拖动字段名前的移动按钮到目标位置松开鼠标即可。
注:
可以在命令窗口中输入:
modifystructure命令,来修改表文件的结构,但必须先打开zgda表。
(7)浏览表的内容(记录)
①在项目管理器中,选中zgda.dbf表。
②单击“浏览”按钮,即可打开浏览窗口对表的记录进行修改。
(8)移去一个(表)文件
①在项目管理器中,选中要移去:
如zgda.dbf表。
②单击“移去”按钮,单击“移去”按钮,仅仅是将表从项目管理器中移去,不删除该表文件;(单击“删除”按钮,是将表从项目管理器中移去,同时删除该表文件)。
注:
如果是数据库表,移去后该表变为自由表。
(9)在项目中添加已有的文件
①在项目管理器中,选中要添加的文件类型:
如选中“自由表”类别。
②单击“添加”按钮,选择要添加的表文件,如:
刚刚移去的zgda.dbf
③单击“确定”,即可添加到项目中。
(10)项目管理器展开与折叠、选项卡拖离和顶层显示操作
①展开与折叠:
单击“其他”选项卡右边的“向上箭头”图标,即可折叠项目管理器窗口,同时“向上箭头”图标变成“向下箭头”图标;单击“其他”选项卡右边的“向下箭头”图标,即可展开项目管理器窗口,
②选项卡的拖离:
在“折叠”状态下,拖动相应的“选项卡”到新的位置松开鼠标即可。
③选项卡的顶层显示:
单击拖离后的选项卡上的“图钉”图标即可使该选项卡变成“顶层显示”状态,不被其他的“选项卡”所遮盖。
【实训3】数据类型与常用函数的用法
实训目的:
1.熟练掌握各种数据类型常量的表示方法。
2.熟练掌握常用函数的用法。
相关知识:
1.常量的表示方法
数值型(N):
直接由数字或+、-、小数点构成,无定界符号。
字符型(C):
(1)由字符、汉字组成,需加定界符(单引号、双引号、中括号)。
(2)如’沈阳’、”沈阳”、[沈阳]。
(3)同一定界符不能嵌套,如:
“AB”CD””,但‘AB”CD”’是合法的。
日期型(D):
用{}定界。
如:
{^2005-08-30}或CTOD(“01/08/30”)。
日期时间型(T):
用{}定界。
如:
{^2005-08-3011:
15:
30A}
逻辑型(L):
用.定界。
如用.t.或.Y.表示逻辑真,用.F.或.N.表示逻辑假。
货币型(Y):
用$符号开头,后跟数字。
如:
$90。
2.函数的学习要点
(1)函数名是什么?
(2)该函数有几个参数、参数的数据类型是什么?
(3)该函数的功能是什么?
(4)返回值的数据类型是什么?
对于任何的一个函数,只要注意以上4点,应用起来就不成问题!
实训内容:
在窗口中输入下列函数表达式,回车运行后分析运行结果,具体练习过程中请查阅帮助文件以了解下述函数的具体用法。
1.sign()函数功能:
当指定数值表达式的值为正、负或0时,分别返回1、-1或0
?
sign(0)&&0
?
sign(-8)&&-1
2.平方根函数sqrt():
返回指定数值表达式的平方根
?
sqrt(9)&&3(参数不能为负数)
3.圆周率函数pi():
返回圆周率常数
?
pi()&&3.14
setdecimalsto4&&指定数值型数据显示的小数位数为4位,系统默认为2位
?
pi()&&3.1416
4.取整函数int()、floor()、ceiling()
?
int(12.56)&&12
?
int(-12.56)&&-12
?
int(.56)&&0注:
int()函数返回值为参数的整数部分。
?
floor(-4.5)&&-5
?
floor(3.5)&&3
注:
floor()函数返回值为小于或者等于参数值的最大的整数。
?
ceiling(-4.5)&&-4
?
ceiling(3.5)&&4
注:
ceiling()函数返回值为大于或者等于参数值的最小的整数。
5.四舍五入函数Round()
?
Round(7556.5678,2)&&7556.57
?
Round(7556.5678,0)&&7557
?
Round(7556.81,-2)&&7600
?
Round(7556.5678,-1)&&7560
注:
第二个参数为负数时,表示对相应的整数位进行四舍五入
6.最值函数max()、min()
?
max(10,20,30,25)&&30
?
max(10,20)&&20
?
max("a","ab")&&ab
?
max($10,$20)&&$20
?
max({^2005-4-16},{^2004-4-16})&&{^2005-4-16}
注:
参数至少有二个,参数可以是字符型、数值型、货币型、日期型;将上面的max改写成min后运行并分析运行结果。
7.求字符串长度函数len()
?
len("abcde")&&5
?
len("*")&&1*为空格字符
?
len("中国")&&4一个汉字占2个宽度
?
len("")&&0空字符串长度为0
8.大小写转换函数
?
lower("AbCd12OK")&&abcd12ok
?
upper("AbCd12OK")&&ABCD12OK
注:
只转换字符串中的大小写,其他字符不变。
9.空格字符生成函数
?
"a"+space(3)+"b"&&a***b*为空格字符
?
len(space(3)+space
(2))&&5+为字符连接运算符
?
len(space(3)-space
(2))&&5-为字符连接运算符
10.删除空格字符函数
?
trim("abcd***")+"ef"&&abcdef*为空格字符
?
trim("abc*d*****")+"ef"&&abc*def*为空格字符
?
ltrim("*ab*")+"ef"&&ab*ef*为空格字符
?
alltrim("*ab*")+"ef"&&abef*为空格字符
11.取子串函数
?
left("abcdef",2)&&ab
?
left("abcdef",100)&&abcdef
?
right("abcdef",3)&&def
?
substr("abcdef",2,3)&&bcd
?
substr("abcdef",3)&&cdef
?
substr("中华人民共和国",5,4)&&人民
12.occurs()函数
?
occurs("ab","cabkabk")&&2串ab在串cabkabk中出现了2次
?
occurs("ab","ckk")&&0串ab在串ckk中出现了0次
13、at()函数
?
at("ab","ccabkabk",1)&&3串ab在串cabkabk中第1次出现的起始位置是3
?
at("ab","ccabkabk",2)&&6串ab在串cabkabk中第1次出现的起始位置是6
14.子串替换函数
?
stuff("abcdef",2,4,"ok")&&abokef替换串abcdef第2个位置开始的4个字符,用串ok来替换
?
stuff("abcdef",2,0,"ok")&&abokcdef相当于插入ok
?
stuff("abcdef",2,4,"")&&af相当于删除bcde
15.日期函数
?
date()&&返回系统日期
setcenturyon&&用4位数字显示年份
?
date()
setdatetoansi&&设置日期的显示格式为ansi
?
date()
?
time()&&以字符串形式返回系统当前时间
?
datetime()&&返回系统日期和时间
?
year({^2004-04-16})&&2004返回日期中的年份数值
?
month({^2004-04-16})&&4返回日期中的月份数值
?
day({^2004-04-16})&&16
?
hour(datetime())&&分别显示当前系统时间的小时数
?
minute(datetime())&&分别显示当前系统时间的分钟数
?
sec(datetime())&&分别显示当前系统时间的秒数
16.转换函数
?
str(123.5678,8,2)&&**123.57*为空格
?
str(123.5678,6,3)&&123.57
?
val("123.45")+100&&223.45
?
val("12a3.45")&&12
?
val("a1212a3.45")&&0第1个字符不是数字也不是+-号,返回0
setdatetousa&&设置日期的显示格式为美国日期格式
?
ctod("04-16-05")&&{^2005-4-16}
?
ctod("04-16-05")+1&&{^2005-4-17}
?
dtoc(date())&&将系统日期转换为字符格式
17.宏替换函数
x="123"
?
&x+100&&223&&相当于?
123+100
?
x+"100"&&123100
18.iif()函数
x=100
?
iif(x>100,x-50,x+50)&&150
?
iif(x<0,-1,iif(x=0,0,1))&&1
19.数据类型测试函数type()、vartype()
?
type("123")&&N
?
type("04/06/09")&&N
?
type("time()")&&C
?
vartype(123)&&N
?
vartype(“123”)&&C
?
vartype($123)&&Y
?
vartype(Datetime())&&T
?
vartype({^2005-04-19})&&D
?
vartype(3>5)&&L
思考题:
如何用IIF()函数实现SIGN()的功能?
(提示:
IIF(X>0,1,IIF(x=0,0,-1)))
20.测试函数bof()、eof()、recno()
usezgda
?
bof()&&.f.
?
recno()&&1刚刚打开的表,指针指向首记录
skip–1&&指针向上移动一条记录
?
bof()&&.t.
?
recno()&&1表可访问的最小记录号为1
gobottom&&指针指向尾记录
?
eof()&&.f.
?
recno()&&8假设表中只有8条记录,指针指向首记录
skip&&指针向下移动一条记录
?
eof()&&.t.
?
recno()&&9表可访问的最大记录号为记录总数+1,假设表中只有8条记录
?
reccount()&&8假设表中只有8条记录
21.信息窗口函数MessageBox()
格式:
MESSAGEBOX(信息文本,[,对话框类型数值[,标题栏文本]])
例子:
MESSAGEBOX(“您好,VFP!
”,64,“提示信息”)
【实训4】运算符与表达式
实训目的:
1.掌握各种类型表达式的书写方法。
2.掌握运算符的优先级别。
实训内容:
依次在命令窗口中输入下列表达式,回车运行来输出表达式的值,并分析运行结果。
1.数值表达式
?
-3**2&&9负号的运算级别高于乘方
?
(3+4)/2^2+int(12.5)&&13.75
相关知识:
(1)书写数值表达式,乘号一定不能省略。
(2)数值表达式是由算术运算符和数值型常数、变量、函数组成,运算结果为数值型数据。
算术运算符为:
+-*/%^()。
(3)算术运算符的优先次序由高到低依次为:
括号、负号、乘方、乘除、模运算(取余)、加减,同级运算从左到右依次进行。
2.字符表达式
?
“abc**”+”*cd*”&&abc***cd**为空格,+号为字符串完全连接运算
?
“abc**”-”*cd*”&&abc*cd****为空格,-号为字符串不完全连接运算
相关知识:
(1)字符表达式是由字符运算符和字符型常数(即用定界符括起来的字符串)、变量、函数组成,运算结果是字符型数据或逻辑值。
(2)二种字符串运算符,优先级别相同。
(3)完全连接是指两个字符串合并,即包括空格在内的字符串中所有字符相加。
不完全连接运算是将串1尾部的空格移到串2的尾部后,再连接。
3.关系表达式
setcollateto“machine”&&设置数据的比较序列为机内码方式
?
8>100&&.f.
?
“8”>”100”&&.t.
?
{^2004-5-19}>{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 程序设计 基础 实验 指导书