foxpro编程范例推荐word版 12页.docx
- 文档编号:797383
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:10
- 大小:19.21KB
foxpro编程范例推荐word版 12页.docx
《foxpro编程范例推荐word版 12页.docx》由会员分享,可在线阅读,更多相关《foxpro编程范例推荐word版 12页.docx(10页珍藏版)》请在冰豆网上搜索。
foxpro编程范例推荐word版12页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
foxpro编程范例
篇一:
VisualFoxpro编程实例
实验五VisualFoxpro编程实践
一.实验目的与要求
掌握利用VisualFoxpro编制开发自己的应用程序的实践知识,并学会在程序调试中自行发现问题和修改程序代码,最终完成应用程序的无错运行。
二.相关知识
利用VisualFoxpro自行开发编制应用程序的步骤:
1.设置好系统的工作环境(尤其注意工作目录的默认设置)。
2.如果是初次进行,应当先建立一个项目,为该项目命名,激活项目管理器。
如果是接着上次的工作进行,则打开上次工作的本项目,同样也激活项目管理器。
3.在项目管理器的“数据”?
“数据库”下面创建一个数据库,并命名(如已创建,则跳过本步骤)。
4.在项目管理器的“数据”?
“数据库”?
“表”下面进行数据表的创建或修改工作,并输入少量的正确数据以便将来的运行调试(如果已经创建了数据表,则跳过本步骤)。
5.在项目管理器的“文档”下面创建该应用程序所用到的所有表单,设计好各表单的界面并为表单里的控件填写程序代码.(注意为表单添加各自的数据环境,否则会出错!
)6.试运行各表单,发现问题后重新修改有问题的表单的代码,反复调试和修改直至最后能无错运行。
7.将应用程序打包发布或制作成安装文件。
三.实验内容与步骤
本次实验以一个简单的学生成绩管理系统为例。
首先,对该系统作一个简单的介绍:
该应用系统为完成学生信息和成绩的管理系统,主要有以下几个应用模块:
(1)用户登录管理:
系统具有管理员功能,只有取得管理员权限的人才能使用本系统。
(2)数据添加功能:
对学生基本信息、教师基本信息、班级信息、课程信息、学生成
绩信息进行添加录入。
(3)数据查询功能:
对上述信息的基本查询。
(4)数据修改功能:
对上述信息可进行修改工作。
(5)统计操作:
可分别按个人成绩、单科成绩统计出最高成绩、最低成绩和平均成绩
等。
(6)打印功能:
对上述信息可进行打印。
实验步骤如下:
1.数据库设计:
首先设置好系统的运行环境和工作目录,然后建立项目,为项目命名为“学生成绩管理系统”,激活项目管理器,并在在项目管理器的“数据”?
“数据库”下面创建一个数据库,命名为“学生成绩管理”,在“数据库”的“表”下面创建以下各数据表:
(1)
(2)
(3)
(4)
(5)(6)
创建好以上数据表以后,应该向每个表中添加适量合法数据以便后面的测试。
2.表单设计2.1登录模块
功能描述:
实现只有指定的用户才能访问系统的功能。
并且,只有身份为“管理员”的用户才可以调用修改模块修改数据。
界面设计:
表单名称:
login文件名:
login.scx数据环境:
user.dbf对象设置:
函数与方法声明:
(1)Command1中的Click事件
功能:
完成在登录时对输入的用户名和密码的检验,如果数据表user中存在输入的用户名和密码信息,则调用主窗口(如果是管理员则不但调用主窗口,还允许执行主窗口的修改功能),否则提示输入错误。
程序清单:
privatekl,yh,st
st='密码不正确,请重新输入!
'useuser
kl=alltrim(thisform.text1.value)yh=alltrim(bo1.value)
*将用户输入的用户名和密码的值分别保存在yh和kl变量中locateforalltrim(bo1.value)==alltrim(user.用户名)*在user表中查找是否有与yh和kl匹配的记录iffound()andalltrim(user.密码)==kl
*正确的用户名和密码thisform.visible=.f.closetablesalldoformmain.scxifyh=='admin'
*如果是超级用户管理员,则允许他使用main表单中的第三组按钮(即修改模块)main.optiongroup1.option3.enabled=.t.endif
this.parent.text1.value=''else
*错误的用户名和密码,系统给出提示,延迟2秒waitwindowsttimeout2thisform.text1.value=''thisform.text1.setfocusendif
(2)Command2中的Click事件功能:
退出学生成绩管理系统程序清单:
cleareventsquit
(3)Form1的Destroy事件
功能:
意外关闭程序窗口时的处理程序清单:
clearevents
2.2主界面模块
功能描述:
主要是提供本系统各功能模块的入口.界面设计:
表单名称:
main文件名:
main.scx数据环境:
无
对象设置:
函数与方法声明:
(1)Optiongroup1中的IntelactiveChange事件:
功能:
根据Optiongroup1中的选择单击按钮,调用各重要功能模块.程序清单:
docase
casethis.value=1doform添加casethis.value=2doform查询casethis.value=3doform修改casethis.value=4doform统计casethis.value=5doform打印casethis.value=6thisform.releasequitendcase
(2)Optiongroup1中的每一个Option的Click事件:
功能:
与
(1)中不同,
(1)是指在Optiongroup中的各个Option切换时才触发的程序,仅这样还不够,还要编写每个Option被单击时触发的程序才完整。
程序清单:
对应Optiongroup1.Option1的Click事件:
doform添加……(其余类推)2.3数据添加模块
功能描述:
用户通过5个不同的页面来完成对学生信息表、教师信息表、班级表、课程表和成绩表的数据添加操作。
界面设计:
篇二:
VisualFoxPro程序设计基础实例
VisualFoxPro程序设计基础实例
▲表文件CJ.DBF情况:
学生成绩数据库的表文件cj.dbf结构为:
字段名字段类型宽度小数位
学号字符型6
姓名字符型10
英语数值型62
高等数学数值型62
计算机应用数值型62
总分数值型72
平均分数值型62
建立表文件cj.dbf结构显示如下:
输入一些学生成绩。
例2-1计算表CJ.DBF中的平均分和总分的程序
settalkoff
CLOSEALL
USEc:
\000\CJ
REPLACEALL总分WITH英语+数学+计算机应用
REPLACEALL平均分WITH总分/3
LIST
执行结果为:
例2-2统计成绩表CJ.DBF中平均分大于90分的所有学生数目。
SETTALKOFF
CLEAR
USEc:
\000\CJ
M=0
SCANFOR平均分>90
DISPLAY
M=M+1
ENDSCAN
?
"总数为:
",M
USE
RETURN
执行结果:
例2-3统计成绩表CJ.DBF中所有英语大于等于75分的学生数目。
SETTALKOFF
USEC:
\000\CJ
MCOUNT=0
FORREC=1TORECCOUNT()&&RECCOUNT()为该库中的记录数
GOREC
IF英语<75
LOOP
ENDIF
DISPLAY
MCOUNT=MCOUNT+1
ENDFOR
?
"英语成绩不小于75分的总数为:
",MCOUNT
USE
RETURN
执行结果:
例2-4显示表CJ.DBF中英语成绩小于90分的学生。
SETTALKOFF
CLEAR
USECJ
DOWHILE.T.(**或DOWHILE.NOT.EOF())
IF英语>=90
SKIP(或**LOOP)
ENDIF
DISPLAY
WAIT"按任一键继续显示.…"
SKIP
ENDDO
USE
RETURN
执行结果:
例2-5对成绩表CJ.DBF查询,若首记录的平均分数大于60分,则显示及格;成绩不及格”否则显示不及格。
SETTALKOFF
CLEAR
USEC:
\000\CJ
IF平均分>60
?
姓名+"成绩及格"
ELSE
?
姓名+"成绩不及格"
ENDIF
USE
RETURN
执行结果如下:
例2-6对成绩表CJ.DBF查询,根据该学生的平均分进行分类:
优秀90<=平均分
优良80<=平均分<90
良好70<=平均分<80
及格60<=平均分<70
不及格平均分<60
程序为:
SETTALKOFF
CLEAR
USEC:
\000\CJ
DOCASE
CASE平均分>=90
?
姓名+":
成绩优秀"
CASE平均分>=80
?
姓名+":
成绩优良"
CASE平均分>=70
?
姓名+":
成绩良好"
CASE平均分>=60
?
姓名+":
成绩及格"
OTHERWISE
?
姓名+":
成绩不及格"
ENDCASE
USE
RETURN
执行结果如下:
例2-7设计5乘5的乘法表
settalkoff
clear
x=1
dowhilex<=5
y=1
dowhiley<=x
s=x*y
?
?
str(y,1)+"*"+str(x,1)+"="+str(s,2)+""
y=y+1
enddo
?
x=x+1
enddo
执行结果:
例2-8DOCASE……ENDCASE命令的嵌套用法.
SETTAlKOFF
CLEAR
?
"1…………录入"
?
"2………查询"
?
"3…………修改"
?
"4…………打印"
ACCEPT"输入选择(0-4):
"TOMSELECT
DOCASE
CASEMSELECT="l"
DOAPP&&录入程序
CASEMSELECT="2"
DOQUER&&查询程序
CASEMSElECT="3"
DOMOD&&修改程序
CASEMSELECT="4"
CLEAR
?
"1--打印A类表"
?
"2--打印B类表"
?
"3--打印C类表"
ACCEPT"输入选择(1-3):
"TOMY
DOCASE
CASEMY="1"
DOPRINTA
CASEMY="2"
DOPRINTB
CASEMY="3"
DOPRINTC
ENDCASE
例2-9显示成绩库CJ.DBF中记录号为偶数的前三个学生记录。
SETTALKOFF
篇三:
VisualFoxpro软件编程习题(重要典型例题)
1.先用赋值语句分别为变量X、Y、Z赋初值为200、300、400,然后要求输出:
①[(X-2Y)/(2-Z)]*Y
②Y>100或Y<0
③
50 2.按照以下表结构,建立三个表。 3.统计职工表的职工总人数以及男、女职工的人数。 USE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- foxpro编程范例推荐word版 12页 foxpro 编程 范例 推荐 word 12