VFP程序设计实习报告
更新时间:2024-06-18 11:03:01 阅读量: 综合文库 文档下载
测绘程序设计
所在院系:测绘工程学院 学生姓名: 姜凤宇 学生学号: 0614112** 任课教师: 毛政利
一.系统技术及运行环境
1.Visual FoxPro 6.0简介
Visual FoxPro 6.0是计算机优秀的数据管理需要软件之一,正如其名称中的“Visual”一样,它采用了可视化、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了应用系统的开发过程,并提供了系统的模块性和紧凑型,是新一代的小型数据库管理系统的杰出代表,它以其强大的性能、完整而又丰富的工具、较高的处理速度、有好的界以及较完备的兼容性,备受广大用户的欢迎。面前,Visual FoxPro 6.0是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想的微机数据库管理系统。
2.系统开发及运行环境
该运行环境的规定是抱枕本需求说明的功能得到实际真正体现的基础。 (1)运行环境:Windows98或更高版本的操作系统 数据库系统:Microsoft Visual FoxPro 6.0 (2)开发环境:
开发工具:Microsoft Visual FoxPro 6.0 数据库系统:Microsoft Visual FoxPro 6.0
二.本组课题及任务分配
本组课题:毕业生管理系统 任务分配:
谷俊鹏:毕业生成绩信息表、表单、报表的制作 郭 森:毕业生学籍信息表、表单、报表的制作 郭 翔:毕业生欢迎界面、通道入口、主登录界面的制作 姜凤宇:毕业生基本信息的表、表单、报表制作
三.系统需求调查分析
1.需求分析
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计
算机的应用及普及到经济和社会生活的各个领域,使原本的旧的管理方法越来越不适应现在的社会发展。许多人还停留在以前的手工操作阶段,这大大的阻碍了人类经济的发展,为了适应下去年代社会人们高度强烈的时间观念,学校新新管理系统软件为学校办公带来了极大的方便。 (一)教育系统毕业生管理现状分析
学校工作流程分析:学校工作总体规划由教务人员在毕业生管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。当学生将要毕业时,教务管理人员要将毕业生的各类信息输入系统,这就是数据的录入。 (二)学校具体需求分析
毕业生:对自己各类信息的查询,包括基本信息、学籍信息、学习成绩等。
管理者或教师:输入并维护毕业生的各类信息及系统管理 通过研究调查,本系统需以下功能:
①综合毕业生基本信息、学籍信息、学习成绩等信息,包括:教师的录入、查询、维护、打印和学生的查询、打印及系统信息。
②方便用户了解和管理毕业生的全面动态信息。 ③数据查询时具备模糊查询功能。即可根据用户输入的不完整信息进行查询并显示查询结果。
④该系统通过数据库同意管理和组织数据,以增强数据的可靠性,也便于进行系统开发。
⑤重视用户的需求及要求。
⑥良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。
2.可行性分析
目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。
经济性:由于学校等中小型管理系统并不复杂,且Visual FoxPro 6.0本身要求的运行环境不高,所以一般的Windows98及以上的系统环境都可以使用。
实用性:本毕业生管理系统无太多复杂的操作要求,也没有过多花哨的装饰品,人性化的设计界面可以使操作者轻易运用自如。
四.系统设计
1.系统总体设计
毕业生管理系统 启动界面 通道入口 教师入口 学生入口 信息录入 信息查询 信息维护 打 印 系 统 基本信息查询 学籍信息查询 成绩信息查询 打 印 系 统 信息录入 信息查询 信息维护 毕业生基本信息录入 毕业生成绩信息录入 毕业生学籍信息录入 毕业生基本信息查询 毕业生学籍信息查询 毕业生成绩信息查询 毕业生基本信息维护 毕业生学籍信息维护 毕业生成绩信息维护 打印 系统 基本信息预览 成绩信息预览 学籍信息预览 关于 帮助 退出 返回主界面 2.系统详细设计
本系统为毕业生管理系统,进入该系统首先看到的是欢迎界面(即启动界面)该界面给人以舒适、友好的感觉,使用户心情舒畅。欢迎界面在10秒钟后会自动跳转到通道入口选择界面,在该界面有教师入口和学生入口两个通道,若单击教师入口将弹出教师入口登录界面,若单击学生入口则将弹出学生入口登录界面,若单击退出则退出毕业生管理系统。
若选择教师入口则进入毕业生管理系统中的教师界面,该界面中设置有菜单栏,有信息录入、信息查询、信息维护、打印、系统五个菜单项,在信息录入、信息查询、信息维护子菜单里分别包含基本信息、学籍信息和查询信息的相关操作,由于学生的基本信息属于个人保密信息,所以在设计时每个基本信息的操作都需输入用户名及密码才能进入,这极大地保护了学生的基本信息,防止了信息的泄露,避免了他人任意篡改和查询,在打印菜单项里包含基本信息预览、成绩信息预览、学籍信息预览以方便用户打印,在系统菜单项里包括关于、帮助、退出和返回主界面等信息,以方便用户了解本系统的相关内容。
若选择学生入口则进入学生界面,由于学生只能查询并且仅能查询自己的一切信息而不能对自己的信息进行修改,所以在该菜单下只有基本信息查询、学籍信息查询、成绩信息查询、打印和系统五个菜单项,每一个查询均要输入自己的学号和密码,防止浏览别人的信息,并且学生界面里不包含信息的录入与维护功能,其中基本信息查询、学籍信息查询、成绩信息查询可供学生及应聘公司查询使用,用户操作方便简单、界面友好,关于是有关本系统的技术环境及设计人员等信息,帮助能方便用户操作本系统,返回主界面则直接回到欢迎界面,退出则直接退出本系统。 3.数据库设计
根据系统分析该系统需使用5张数据表,他们分别是;基本信息表(毕业生基本信息表.dbf)、成绩信息表(学生成绩及表现.dbf)、学籍信息表(毕业生学籍.dbf)、密码表(教师密码表.dbf和学生密码表.dbf)。
用数据库对这5张表进行管理。对基本信息表按学号建立主索引,对成绩信
息表按学号建立主索引,对学籍信息表按学号建立主索引,对学生密码表按学号建立主索引,对经计算密码表按用户名建立主索引,并按学号建立个表间的一一对应关系。
这5张数据表的结构和部分数据如下表所示:
表1 毕业生基本信息表的结构
字段名 学号 姓名 学工号 性别 出生年月 民族 政治面貌 学历 语种 家庭住址 邮政编码 手机号码 Qq号码 毕业院校 所学专业 字段类型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 字段宽度 9 4 4 2 8 4 4 4 4 16 6 11 10 12 12 索引类型 主索引(↑) 无 无 无 无 无 无 无 无 无 无 无 无 无 无 表2 毕业生成绩信息表结构:
字段名 学号 密码 姓名 政治面貌 学业成绩 毕业去向 工作单位 工资待遇 学校评价
字段类型 字符型 字符型 字符型 字符型 字符型 字符型 字符型 数值型 备注型 字段宽度 10 12 8 10 10 10 20 11 4 索引类型 主索引(↑) 无 无 无 无 无 无 无 无 表3 毕业生学籍信息表结构 字段名 编号 姓名 班级 入学方式 字段类型 字符型 字符型 字符型 字符型 字段长度 10 10 10 10 小数点 —— —— —— —— 索引类型 主索引(↑) —— —— —— 家长姓名 家长联系方式 入学成绩 应试外语 外语水平 在校表现 就业去向 邮政编码 高中学校 字符型 字符型 数值型 字符型 字符型 备注型 字符型 字符型 字符型
10 15 15 10 10 4 30 10 20 —— —— 2 —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— 表4 教师密码表的结构:
字段名 用户名 密码 字段类型 字符型 字符型
字段宽度 6 3 索引类型 主索引(↑) 无 表5 教师密码表的部分数据:
用户名 密 码 01 2 02 2
03 2 04 2 05 2 表6 学生密码表的结构:
字段名 学号 密码 字段类型 字符型 字符型 字段宽度 9 3 索引类型 主索引(↑) 无 表7 学生密码表的部分数据:
学 号 061411201 061411202 061411203 061411204 062411101 062411102 062411103 062411104 063411101 063411102 063411103 063411104 密 码 1 1 1 1 1 1 1 1 1 1 1 1 五.系统实施
1.启动界面
实现功能:作为毕业生管理系统的欢迎界面
启动表单的信息
表单的属性如下: Auto Center: .T.--真 Caption: 启动表单 Font Name: 宋体
Font size: 9 Height: 550
Picture: c:\%user\\adminstrator\\ desktop\\课程设计\\hydrangeas. jpg
Show window: 2--作为顶层表单 Title bar: 0--关闭 Top: 0
Width: 781
Window state: 0--普通 表单控件属性设置: Auto Center: .T.--真 Back style:0--透明
Caption: 欢迎使用! Font Name: 宋体 Font size: 30
Fore color: 0,0,255 Height: 48
Left: 120
Top: 300 Width: 187
Auto Center: .T.--真 Back style:0--透明
Caption: 欢迎进入毕业生管理系统 Font Name: 微软雅黑 Font size: 40
Fore color: 0,0,255 Height: 96 Left: 96
Top: 300
Width: 1582Base class: line Border color:0,255,64 Bord width:8 Height :1 Left :36 Line slant:\\ Name :line 1 Top :180 Width :708
事件代码: 对象:form1 事件:init
this.timer1.interval=1000 public a as integer a=1
thisform.top=30 thisform.left=300 对象:timer 事件:timer
if thisform.label1.left=thisform.width thisform.label1.left=0 else
thisform.label1.left=thisform.label1.left+50 endif
i=int(rand()*255) j=int(rand()*255) k=int(rand()*255)
thisform.label2.forecolor=rgb(i,j,k) a=a+1
if a=10 then
do form 通道入口.scx release thisform endif
2.通道入口
实现功能:使不同身份的用户进入自己所需的界面。
Form1的属性如下:
AutoCenter=.T. Height=401
Picture= d:\\photos\\ getca4b53eg.jpg TitleBar=0-关闭 Width=550
“教师入口”的代码如下: do form 教师登录.scx release thisform “学生入口”的代码如下: do form 学生登录.scx
release thisform
“退出”按钮的Click事件代码如下: release thisform Label1的属性如下:
Caption=请选择通道入口 FontBold=.T. FontName=楷体 FontSize=50
Forecolor=203,53,10 Height=72 Left=0
Top=0 Width=564
3.主登录界面
实现功能:用于身份验证。
Form1的属性如下: Auto Center:.F.--假 Caption:学生登录 Font Name:宋体
Font size:9 Height:443 Left :-16 Picture:省略
Show window: 2--作为顶层表单 Title bar:0--关闭
Top:-2 Width:748
Window state:0--普通 “登录”按钮的属性如下: Caption=登录 FontSize=14 Height=36 Left=168 Top=360 Width=72
“登录”按钮的click事件代码如下: i=i+1
locate for alltrim(学生密码表.学号)==alltrim(thisform.txt学号.value) if found() AND alltrim(学生密码表.密码)==alltrim(thisform.txt密码.value) do 学生入口.mpr(教师入口.mpr) release thisform else
if i<3 then
=messagebox(\密码错误请重新输入!!!\警告\
thisform.txt密码.value=\
thisform.txt密码.setfocus else
=messagebox(\对不起,您是非法用户,系统将退出!!!\严重警告\ quit endif endif
“退出”按钮的代码如下:
Release Thisform
“返回主界面”按钮的代码如下: do form 启动.scx
release thisform
4.教师入口菜单
5.学生入口菜单
6.毕业生基本信息表单
毕业生信息录入系统登录界面
实现功能:验证教师登录,符合身份进行信息录入界面。
该登录界面的数据环境为:教师密码表 Form1的属性如下: Height=401
Picture= d:\\photos\\getca984wd0.jpg TitleBar=0-关闭 Width=556
Form1的Init事件代码如下: public a as integer public i as integer i=0
thisform.combo1.setfocus thisform.left=300 thisform.top=80
“登录”按钮的属性如下: Caption=登录 FontBold=.T. FontSize=20 Height=37 Left=84 Top=288 Width=97
“登录”按钮的click事件代码如下:
i=i+1
locate for alltrim(教师密码表.用户名)==alltrim(thisform.combo1.value)
if found() AND alltrim(教师密码表.密码)==alltrim(thisform.text1.value) a=recno()
do form 毕业生基本信息录入表单.scx
release thisform else
if i<3 then
=messagebox(\密码错误请重新输入!!!\警告\
thisform.text1.setfocus else
=messagebox(\对不起,您是非法用户,系统将退出!!!\严重警告\ quit endif endif
“退出”按钮的属性为: Caption=退出
FontBold=.T. FontBold=.T. FontSize=20 FontSize=20 Height=37 Forecolor=0,0,255 Left=84 Height=37 Top=348 Left=144 Width=97 Top=228
Width=97 “退出”按钮的Click事件代码如下:
release thisform Label5的属性如下: Label1的属性如下: Backstyle=0-透明 Backstyle=0-透明 Caption=该界面只允许管理员进入,
FontBold=.T. Caption=毕业生信息录入系统
FontBold=.T. FontSize=16 FontSize=30 Forecolor=255,0,0 Forecolor=128,0,64 Height=25 Height=36 Left=264 Left=96 Top=300 Top=36 Width=264 Width=384 Label6的属性如下: Label2的属性如下: Backstyle=0-透明 Backstyle=0-透明 Caption=其他用户不得入内!!!
FontBold=.T. Caption=登录界面
FontBold=.T. FontSize=16 FontSize=30 Forecolor=255,0,0 Forecolor=128,0,64 Height=25 Height=36 Left=264 Left=192 Top=336 Top=84 Width=252 Width=168 Combo1的属性如下: Label3的属性如下: BorderStyle=0-无
Height=24 Backstyle=0-透明
Left=264 Caption=用户名
FontBold=.T. RowSource=教师密码表.用户名 FontSize=20 RowSourceType=6-字段 Forecolor=0,0,255 Top=168 Height=36 Width=121 Left=144 Text1的属性如下: Top=168 Backstyle=0-透明 Width=97 Height=25
Left=264 Label4的属性如下:
Top=28 Backstyle=0-透明
Width=121 Caption=密码
毕业生基本信息录入:
实现功能:录入信息
该录入界面的数据环境为:毕业生基本信息表 Label1的属性如下: Backstyle=0-透明
Caption=毕业生基本信息录入 FontBold=.T. FontName=楷体 FontSize=35
Forecolor=0,128,0 Height=49 Left=96 Top=24 Width=444
Label2~Label16的属性如下: Backstyle=0-透明 Caption=各自的名称 FontName=宋体 FontSize=18 Forecolor=96,0,0 Height=25 Left=24
Text1~Text15的属性如下:
ControlSource=毕业生基本信息表.学号 ControlSource=毕业生基本信息表.姓名 ······
ControlSource=毕业生基本信息表.所学专业 Height=25
Width=96 Line1的属性如下:
BackColor=0,0,255 BorderWith=5 Top=12 Width=636 Line2的属性如下:
BackColor=0,0,255 BorderWith=5 Top=72 Width=636 Line3的属性如下:
BackColor=0,0,255 BorderWith=3 Top=348 Width=636 Line4的属性如下:
BackColor=0,0,255 BorderWith=3 Top=396 Width=636
“首记录”按钮的click事件代码如下: go top
thisform.refresh
“尾记录”按钮的click事件代码如下: go bottom
thisform.refresh
“上一条”按钮的click事件代码如下: skip -1
if bof() then
=messagebox(\已是首记录!!!!\警告\ go top endif
thisform.refresh
“下一条”按钮的click事件代码如下: Skip+1 if eof() then
=messagebox(\已是首记录!!!!\警告\ go bottom endif
thisform.refresh
“添加”按钮的click事件代码如下: go bottom append blank thisform.refresh
“删除”按钮的click事件代码如下: delete pack skip -1
thisform.refresh
“退出”按钮的click事件代码如下: Release thisform
毕业生基本信息查询登录界面(学生查询)
实现功能:学生身份验证。
该登录界面的数据环境为:学生密码表 Form1的属性如下: AutoCenter=.T. Height=364
Picture= d:\\photos\\getcai47gv9.jpg TitleBar=0-关闭 Width=510
WindowType=1-模式
Form1的Init事件代码如下: public a as integer a=0
public i as integer
i=0
thisform.text1.setfocus thisform.left=300 thisform.top=80
“登录”按钮的属性如下: Caption=登录 FontBold=.T. FontSize=20 Height=37 Left=132 Top=312 Width=97
“登录”按钮的click事件代码如下: i=i+1
locate for alltrim(学生密码表.学号)==alltrim (thisform.text1.value)
if found() AND alltrim(学生密码表.密码)== alltrim(thisform.text2.value) a=recno()
do form 毕业生基本信息表单.scx release thisform else
if i<3 then
=messagebox(\密码错误请重新输入!!!\警告\
thisform.text2.setfocus else
=messagebox(\对不起,您是非法用户,系统将退出!!!\严重警告\ quit endif endif
“退出”按钮的属性为: Caption=退出 FontBold=.T. FontSize=20 Height=37 Left=276 Top=312 Width=97
“退出”按钮的Click事件代码如下: release thisform Label1的属性如下: Backstyle=0-透明
Caption=毕业生基本信息查询 FontBold=.T. FontName=楷体 FontSize=30
Forecolor=203,53,10 Height=36 Left=72 Top=24 Width=372 Label2的属性如下: Backstyle=0-透明 Caption=登录界面 FontBold=.T. FontName=楷体 FontSize=30
Forecolor=203,53,10 Height=49 Left=180 Top=72 Width=180 Label3的属性如下: Backstyle=0-透明 Caption=学号: FontBold=.T. FontName=宋体 FontSize=30
Forecolor=165,75,3 Height=37 Left=108 Top=156 Width=120 Label4的属性如下: Backstyle=0-透明 Caption=密码: FontBold=.T. FontName=宋体 FontSize=30
Forecolor=165,75,3 Height=37 Left=108 Top=216 Width=132 Text1的属性如下: Backstyle=0-透明 Height=24 Left=252 Top=168 Width=121 Text2的属性如下: Backstyle=0-透明 Height=24 Left=252 Top=228 Width=121 Shape1的属性如下:
BackColor=255,0,255
Height=12 Left=0 Top=120 Width=564 Shape2的属性如下:
BackColor=255,0,255 Height=9 Left=0 Top=276 Width=576 Timer1的属性如下:
Height=25 Interval=80 Left=456
Top=72 Width=25
Timer1的Timer事件如下:
if thisform.label1.left<100
thisform.label1.left=thisform.width-2
else
thisform.label1.left=thisform.left-220
endif
if thisform.label4.left<200
thisform.label4.left=thisform.width-2
else
thisform.label4.left=thisform.left-120
endif
毕业生基本信息查询(学生查询):
实现功能:进行毕业生基本信息查询。
该查询界面的数据环境为:毕业生基本信息表 Label1的属性如下: Backstyle=0-透明
Caption=毕业生基本信息查询 FontBold=.T. FontName=楷体 FontSize=35
Forecolor=255,0,0 Height=48
Left=96 Top=12 Width=444
Label2~Label15的属性如下: Backstyle=0-透明 Caption=各自的名称 FontBold=.F. FontName=宋体 FontSize=18
Forecolor=128,0,0 Height=25 Left=48 Width=96
Text1~Text14的属性如下: Enabled=.F. Height=25 Width=96
Text1的Init代码如下:
Go a
Line1的属性如下:
BackColor=0,0,128 BorderWith=3 Top=72
Width=624
“退出”按钮的代码如下: Release Thisform “退出”按钮的属性如下: Caption=退出 FontBold=.T.
FontName=微软雅黑 FontSize=12
FontColor=0,64,0 Height=25 Left=564 Top=36 Width=49
毕业生基本信息查询登录界面(教师查询)
实现功能:教师身份验证。
该登录界面的数据环境为:教师密码表 Form1的属性如下:
AutoCenter=.T. Height=390
Picture= d:\\photos\\getcawlr2cw.jpg TitleBar=0-关闭 Width=550
WindowType=1-模式 Form1的Init事件代码如下:
public i as integer
i=0
thisform.text1.setfocus thisform.left=300 thisform.top=80 Label1的属性如下: Backstyle=0-透明
Caption=毕业生基本信息查询 FontBold=.T. FontName=楷体 FontSize=30
Forecolor=219,111,21 Height=37 Left=96 Top=24 Width=372 Label2的属性如下: Backstyle=0-透明 Caption=登录界面 FontBold=.T. FontName=楷体 FontSize=30
Forecolor=219,111,21 Height=37 Left=204 Top=72 Width=180
Label3的属性如下: Backstyle=0-透明 Caption=用户名 FontBold=.T. FontName=宋体 FontSize=23
Forecolor=255,255,0 Height=37 Left=36 Top=144 Width=97 Label4的属性如下: Backstyle=0-透明 Caption=密码 FontBold=.T. FontName=宋体 FontSize=23
Forecolor=255,255,0 Height=37 Left=36 Top=204 Width=97 Label5的属性如下: Backstyle=0-透明
Caption=请选择查询方式 FontBold=.T. FontName=宋体 FontSize=15 Forecolor=147,253,2 Height=24 Left=312 Top=144 Width=156 Text1的属性如下: Backstyle=0-透明 Height=24 Left=252 Top=168 Width=121 Text2的属性如下: Backstyle=0-透明 Height=24 Left=252 Top=228 Width=121
OptionGroup1的属性如下: Backstyle=0-透明 Height=48 Left=324 Top=180 Value=1 Width=120
Option1的属性如下: Backstyle=0-透明 Caption=单个浏览 FontBold=.T. FontName=宋体 FontSize=15
Forecolor=147,253,2 Height=20 Left=5 Top=5 Value=1 Width=115
Option2的属性如下: Backstyle=0-透明 Caption=全部浏览 FontBold=.T. FontName=宋体 FontSize=15
Forecolor=147,253,2 Height=20
Left=5 Top=28 Value=0 Width=115
“登录”按钮的属性如下: Caption=登录 FontBold=.T. FontSize=20 Height=37 Left=144 Top=336 Width=97
“登录”按钮的click事件代码如下: i=i+1
locate for alltrim(教师密码表.用户名)==alltrim(thisform.text1.value)
if found() AND alltrim(教师密码表.用户名)==alltrim(thisform.text2.value) if
thisform .optiongroup1.option1.value=1 then do form 毕业生基本信息表单-教师.scx endif if
thisform .optiongroup1.option2.value=1 then do form 毕业生基本信息表单-js.scx endif
release thisform
else
if i<3 then
=messagebox(\密码错误请重新输入!!!\警告\
thisform.text2.setfocus else
=messagebox(\对不起,您是非法用户,系统将退出!!!\严重警告\ quit endif endif
“退出”按钮的属性为: Caption=退出 FontBold=.T. FontSize=20 Height=37 Left=336 Top=336 Width=97
“退出”按钮的Click事件代码如下: release thisform Shape1的属性如下: BackColor=255,0,0 Height=0 Left=0 Top=120 Width=564
毕业生基本信息查询(教师单个查询)
实现功能:对单个学生信息进行查询。
该查询界面的数据环境为:毕业生基本信息表 “首记录”按钮的click事件代码如下: go top
thisform.refresh
“尾记录”按钮的click事件代码如下: go bottom
thisform.refresh
“上一条”按钮的click事件代码如下: skip -1
if bof() then
=messagebox(\已是首记录!!!!\警告\ go top endif
thisform.refresh
“下一条”按钮的click事件代码如下: Skip+1 if eof() then
=messagebox(\已是首记录!!!!\警告\实现功能:对全部学生基本信息进行浏览。
go bottom
endif
thisform.refresh
“退出”按钮的click事件代码如下: Release thisform
Label1的属性如下: Alignment=2-中央
BackColor=255,255,255
Caption=毕业生基本信息查询 FontBold=.T. FontName=楷体 FontSize=30
Forecolor=255,255,0 Height=38 Left=0 Top=0 Width=600
毕业生基本信息查询(教师全部查询)
该查询界面的数据环境为:毕业生基本信息表 Label1的属性如下: Alignment=2-中央
BackColor=128,255,255
Caption=毕业生基本信息查询 FontBold=.T. FontName=楷体 FontSize=40
Forecolor=0,0,160 Height=72 Left=0 Top=0 Width=840
Grid1的属性如下: BackColor=128,255,0 ColumnCount=15
Forecolor=64,0,64 “退出”按钮的属性如下 Height=360 Caption=退出 Left=0 FontBold=.T. RowHeight=25 FontSize=20 Top=72 Forecolor=0,0,0 Width=840 Height=36
Left=372 Header1的属性如下:
Top=444 Caption=各列的列标题
Width=97 Text1的属性如下:
ControlSource=毕业生基本信息表.学号 “退出”按钮的代码如下:
Release Thisform ControlSource=毕业生基本信息表.姓名
······
ControlSource=毕业生基本信息表.所学专业
毕业生基本信息维护系统登录界面:
实现功能:教师身份验证。
该登录界面的数据环境为:教师密码表 Form1的属性如下:
AutoCenter=.T. Height=350
Picture= g:\\课程设计\\getcac1ldkh.jpg TitleBar=0-关闭 Width=557
Form1的Init事件代码如下:
public i as integer i=0
thisform.text1.setfocus thisform.left=420
thisform.top=120 Label1的属性如下: Backstyle=0-透明
Caption=毕业生基本信息查询 FontBold=.T. FontName=楷体 FontSize=30
Forecolor=255,255,0 Height=48 Left=96 Top=24 Width=372
Label2的属性如下: Backstyle=0-透明 Caption=登录界面 FontBold=.T. FontName=楷体 FontSize=30
Forecolor=255,255,0 Height=49 Left=204 Top=72 Width=168
Label3的属性如下: Backstyle=0-透明 Caption=用户名 FontBold=.T. FontName=宋体 FontSize=25
Forecolor=0,255,255 Height=36 Left=144 Top=156 Width=97 Label4的属性如下: Backstyle=0-透明 Caption=密码 FontBold=.T. FontName=宋体 FontSize=25
Forecolor=0,255,255 Height=37 Left=144 Top=216 Width=97
“登录”按钮的属性如下: Caption=登录 FontBold=.T. FontName=楷体 FontSize=20 Height=37 Left=132 Top=300 Width=84
“登录”按钮的click事件代码如下:i=i+1
locate for alltrim(教师密码表.用户名)==alltrim(thisform.text1.value)
if found() AND alltrim(教师密码表.密码)==alltrim(thisform.text2.value) a=recno()
do form 毕业生基本信息维护表单(教师).scx
release thisform else
if i<3 then
=messagebox(\密码错误请重新输入!!!\警告\
thisform.text2.setfocus else
=messagebox(\对不起,您是非法用户,系统将退出!!!\严重警告\ quit endif endif
“退出”按钮的属性为: Caption=退出 FontBold=.T. FontName=楷体 FontSize=20 Height=37 Left=300 Top=300 Width=84
“退出”按钮的Click事件代码如下: release thisform Text1的属性如下: Backstyle=0-透明 Height=24 Left=252 Top=168 Width=121 Text2的属性如下: Backstyle=0-透明 Height=24 Left=252 Top=228 Width=121
毕业生基本信息维护系统:
实现功能:对毕业生基本信息进行维护。
该查询界面的数据环境为:毕业生基本信息表
Label1的属性如下: Alignment=2-中央
BackColor=128,255,255
Caption=毕业生基本信息查询 FontBold=.T. FontName=楷体 FontSize=40
Forecolor=0,0,160 Height=72 Left=0 Top=0 Width=840
“添加”按钮的代码如下:
go bottom append blank thisform.refresh
“修改”按钮的代码如下:
a=messagebox(\确定要修改吗?\提示\
if a=1
sele 毕业生基本信息表
replace 毕业生基本信息表.学号 with
thisform.text1.value
replace 毕业生基本信息表.姓名 with thisform.text2.value
replace 毕业生基本信息表.性别 with thisform.text3.value
replace 毕业生基本信息表.出生年月 with thisform.text4.value
replace 毕业生基本信息表.政治面貌 with thisform.text5.value
replace 毕业生基本信息表.家庭住址 with thisform.text6.value
replace 毕业生基本信息表.民族 with thisform.text7.value
replace 毕业生基本信息表.学工号 with thisform.text8.value
replace 毕业生基本信息表.学历 with thisform.text9.value
replace 毕业生基本信息表.语种 with thisform.text10.value
replace 毕业生基本信息表.邮政编码 with thisform.text11.value
replace 毕业生基本信息表.手机号码 with thisform.text12.value
replace 毕业生基本信息表.Qq号码
with thisform.text13.value
replace 毕业生基本信息表.毕业院校 with thisform.text14.value
replace 毕业生基本信息表.所学专业 with thisform.text15.value messagebox(\修改成功!!!!\提示\ endif thisform.refresh
“删除“按钮的代码如下:
=messagebox(\确定要删除吗???\提示\delete pack skip-1
thisform.refresh
“退出”按钮的代码如下: Release Thisform
7.毕业生成绩信息表单
实现功能:查询成绩信息。
学生成绩查询表单属性: Auto Center:.F.--假
Caption:学生成绩查询表单 Font Name:宋体
Font size:9 Height:443
Picture: (自定义)Show window:2--作为顶层
Title bar:0--关闭 Top:0
clear
if thisform.optiongroup1.option1.value=1 then
Width:631
Window state:0--普通 按钮属性: Button count:2(其他属性可根据需要自行设定)
表单控件代码如下: 对象:command1 过程:click
xuehao=\ \sele 学生成绩及表现
xuehao=allt(thisform.txt学号.value)
*set filter to
locate all for 学生成绩及表现.学号=xuehao if not found() *set filter to 学生成绩及表现.学号=allt(thisform.txt学号.value)
*else =messagebox(\查无此人!\错误\
endif else
xm=\ \sele 学生成绩及表现
xm=allt(thisform.txt姓名.value)
*set filter to
a=messagebox(\确定修改吗?\提示\ if a=1 sele 学生成绩及表现 repl 学生成绩及表现.学号 with thisform.txt学号2.value repl 学生成绩及表现.姓名 with thisform.txt姓名2.value repl 学生成绩及表现.政治面貌 with thisform.txt政治面貌.value repl 学生成绩及表现.学业成绩 with thisform.txt学业成绩.value repl 学生成绩及表现.工作单位 with thisform.txt工作单位.value repl 学生成绩及表现.毕业去向 with thisform.txt毕业去向.value repl 学生成绩及表现.学校评价 with thisform.txt学校评价.value repl 学生成绩及表现.工资待遇 with thisform.txt工资待遇.value messagebox(\修改成功!\ endif thisform.refresh
Command6的Click事件的代码如下:xuehao=thisform.txt学号2.value use 学生成绩及表现 exclusive
if messagebox(\你真的要删除记录吗?\删除提示\
locate for 学生成绩及表现.姓名=xm if not found() *set filter to 学生成绩及表现.学号=allt(thisform.txt学号.value)
*else =messagebox(\查无此人!\错误\
endif endif
thisform.refresh
Command2的Click 事件代码如下: clear
release thisform
Command5的Click事件的代码如下: delete from 学生成绩及表现 where 学号=xuehao
pack
messagebox(\删除成功\提示\else
thisform.refresh endif
thisform.refresh
Command7的Click事件的代码如下: do form 学生成绩添加表单 thisform.release
Option 1的Click事件的代码如下: if this.value=1 then
thisform.txt学号.enabled=.t. thisform.txt学号.setfocus thisform.txt姓名.enabled=.f. endif
Option 2的Click事件的代码如下: if this.value=1 then
thisform.txt姓名.enabled=.t. thisform.txt姓名.setfocus thisform.txt学号.enabled=.f. endif
Form1的Init事件的代码如下: thisform.top=80 thisform.left=300
学生成绩录入表单:
实现功能:录入学生成绩。
(表单本身的设置属性没有很大的差别!这里不再介绍,请参照前几个属性)
repl 学生成绩及表现.姓名 with Form 1
thisform.txt姓名.value Init
代码如下: repl 学生成绩及表现.政治面貌
with thisform.txt政治面貌.value thisform.top=80
repl 学生成绩及表现.学业成绩 thisform.left=300
with thisform.txt学业成绩.value Command1
repl 学生成绩及表现.工作单位 Click
代码如下: with thisform.txt工作单位.value
repl 学生成绩及表现.毕业去向 clear
if empty(thisform.txt学号.value) with thisform.txt毕业去向.value messagebox(\学号不能为空!\提示\ repl 学生成绩及表现.学校评价
with thisform.txt学校评价.value else
locate for alltrim(学生成绩及表现.学 repl 学生成绩及表现.工资待遇 号)==alltrim(thisform.txt学号.value) with val(thisform.txt工资待遇.value)
\ if found() messagebox(\ 添加成功!
a=messagebox(\该记录已存在! thisform.release \提示\ endif
else endif sele 学生成绩及表现 Command 2 的 Click 事件的代码如下: appe blan repl 学生成绩及表现.学号 with thisform.txt学号.value
release thisform clear
8.毕业生学籍信息表单
老师对学生的学籍查询:
实现功能:查询学生学籍。
“查询”的click事件代码: '\ if do form 老师查询结果浏thisform.optiongroup1.option1.value=1 览.scx then else locate for alltrim(毕业生学籍. =messagebox(\输入的班级学号)==alltrim(thisform.combo1.value) 不存在,请重新输入!!!\提示\ if found () thisform.text1.value=\ b=recno() thisform.text1.setfocus do form 学生查询结果浏 endif 览.scx endif endif “退出”的click事件代码: else Release thisform thisform.optiongroup1.option2.value=1 Form1的init事件的代码: then locate for alltrim(毕业生学thisform.text1.enabled=.f. 籍.班级)==alltrim(thisform.text1.value) public c if !eof() public b c=\* from 毕业生thisform.top=80 学籍 where 班级 = thisform.left=300
按学号查询的结果浏览:
实现功能:显示查询的结果。
“退出”的click事件代码:
Release thisform
按班级查询的结果浏览:
实现功能:显示查询的结果。
“关闭”的click事件代码: Release thisform
Form1的Init事件的代码:
thisform.grid1.recordsourcetype=4 thisform.grid1.recordsource=c thisform.grid1.refresh thisform.top=80 thisform.left=300
学生学籍查询
实现功能:学生查询自己的信息。
thisform.text1.setfocus “查询”的click事件代码:
a=a+1 else locate for alltrim(学生密码表.学 =messagebox(\对不起,您只能查自己的号)==alltrim(thisform.text1.value) 学籍!\严重警告\
quit if found () and alltrim(学生密码表.密
endif 码)==alltrim(thisform.text2.value)
b=recno() endif do form 学生查询结果浏览.scx “关闭”的click事件代码: release thisform Release thisform else Form1的init事件的代码: if a<3 then thisform.text1.setfocus
public a as integer =messagebox(\学号或密码错误,请重新
a =0 输入!\警告\
thisform.text1.value=\public b as integer thisform.text2.value=\thisform.top=80 thisform.refresh thisform.left=300
学生查询结果浏览:
实现功能:查询结果浏览。
“退出”的click事件 代码: Release thisform
Form1 的init事件的代码: go b
thisform.top=80 thisform.left=300
(老师)学籍录入
实现功能:对学生学籍进行录入。
程序设计实习报告
“增加”的click事件代码:
if((alltrim(thisform.text1.value)==\xt7.value)==\
=messagebox(\学号、姓名、班级必须填充!!!\提示\ else
locate all for alltrim(thisform.text1.value)== alltrim(毕业生学籍.学号) if !eof()
=messagebox(\此学号已经存在,请重新输入!\提示\ thisform.text1.value=\ thisform.text1.setfocus else
sele 毕业生学籍 append blank
replace 学号 with alltrim(thisform.text1. value) replace 姓名 with alltrim(thisform.text6. value) replace 班级 with alltrim(thisform.text7. value) replace 入学方式 with alltrim(thisform. text2.value) replace 入学成绩 with val(thisform. text8.value) replace 高中学校 with alltrim(thisform. text9.value) replace 家长姓名 with alltrim(thisform. text3.value)
replace 家长联系方式 with alltrim (thisform.text10.value) replace 应试外语 with alltrim(thisform.text4.value) replace 外语水平 with alltrim(thisform.text11.value) replace 就业去向 with alltrim(thisform.text12.value) replace 邮政编码 with alltrim(thisform.text5.value) replace 在校表现 with alltrim(thisform.edit1.value) messagebox(\修改成功\提示\ endif endif
thisform.refresh
“下一个”的click事件代码: thisform.text1.value=\thisform.text2.value=\thisform.text3.value=\thisform.text4.value=\thisform.text5.value=\thisform.text6.value=\thisform.text7.value=\thisform.text8.value=\thisform.text9.value=\thisform.text10.value=\thisform.text11.value=\thisform.text12.value=\thisform.edit1.value=\
程序设计实习报告
thisform.refresh
“返回”的click事件代码: Release thisform
Form1的init事件的代码: thisform.top=80 thisform.left=300
(老师)学籍维护:
实现功能:对学生学籍进行维护。
“第一个“的click 事件代码: go top
thisform.refresh this.enabled=.f.
thisform.command2.enabled=.f. thisform.command1.enabled=.t. thisform.command4.enabled=.t. thisform.command5.enabled=.t. thisform.command6.enabled=.t. thisform.command7.enabled=.t. thisform.command8.enabled=.t. “上一个“的click 事件代码: skip -1
thisform.command5.enabled=.t. thisform.command6.enabled=.t. thisform.command7.enabled=.t. thisform.command8.enabled=.t. thisform.command3.enabled=.t. thisform.command4.enabled=.t.
thisform.command1.enabled=.t. if bof( )
messagebox(\已经到第一个!\thisform.command2.enabled=.f. thisform.command3.enabled=.f. endif
thisform.refresh
“下一个“的click 事件代码: skip
thisform.command2.enabled=.t. thisform.command3.enabled=.t. thisform.command4.enabled=.t. thisform.command5.enabled=.t. thisform.command6.enabled=.t. thisform.command7.enabled=.t. thisform.command8.enabled=.t. if eof( )
messagebox(\已经到最后一条!\thisform.command1.enabled=.f.
程序设计实习报告
thisform.command4.enabled=.f. endif
thisform.refresh
“最后一个“的click 事件代码: go bottom
this.enabled=.f. thisform.command1.enabled=.f. thisform.command3.enabled=.t. thisform.command2.enabled=.t. thisform.refresh
“修改“的click 事件代码:
a=messagebox(\确定修改吗?\提示\
if a=1
sele 毕业生学籍
repl 毕业生学籍.学号 with thisform. text1.value repl 毕业生学籍.姓名 with thisform. text2.value repl 毕业生学籍.班级 with thisform. text3.value
repl 毕业生学籍.入学成绩 with thisform. text4.value repl 毕业生学籍.入学方式 with thisform. text5.value repl 毕业生学籍.邮政编码 with thisform. text6.value repl 毕业生学籍.家长姓名 with thisform. text10.value repl 毕业生学籍.在校表现 with thisform. edit1.value repl 毕业生学籍.就业去向 with thisform. text12.value repl 毕业生学籍.家长联系方式 with thisform.text11.value messagebox(\修改成功!\endif
thisform.refresh
“删除“的click 事件代码: xuehao=thisform.text1.value use 毕业生学籍 exclusive
if messagebox(\你真的要删除记录吗?\删除提示\ delete from 毕业生学籍 where 学号=xuehao pack
messagebox(\删除成功\提示\else
thisform.refresh endif
thisform.refresh
thisform.command1.enabled=.t. thisform.command4.enabled=.t. “添加“的click 事件代码: do form 学生学籍录入.scx “退出“的click 事件代码: Release thisform
Form1 的init事件的代码: thisform.top=80 thisform.left=300
9.关于界面
实现功能:本系统的相关介绍。
程序设计实习报告
关于界面只包含表单控件属性,未涉及代码的添加,这里不再详细叙述 10.帮助界面
实现功能:帮助用户更好的使用该系统。
Form1的属性如下: AutoCenter=.T. BackColor=0,255,128 Caption=帮助
程序设计实习报告
Height=304 Width=55
Label1的属性如下: AutoSize=.T. BackStyle=0
Caption=若有疑问请联系:13243170116郭先生 FontSize=20 ForeColor=0,0,0 Height=33 Left=15 Top=60 Width=467
11.主程序 set talk off
close all clear all
set sysmenu off set sysmenu to
set defa to sys(5)+sys(2003)+'\\' open database 毕业生管理
_screen.windowstate=2 _screen.minbutton=.F. _screen.visible=.F.
_screen.caption=\毕业生管理系统\do form 启动.scx read event return quit
备注:毕业生学籍的相关表单以及毕业生成绩的相关表单与毕业生基本信息的相关表单的属性基本一样。请读者在看毕业生学籍的相关表单以及毕业生成绩的相关表单的属性时参考着毕业生基本信息的相关表单的属性。
程序设计实习报告
六.设计体会
通过这次数据库应用系统开发实践,我们对数据库应用系统开发有了更深、更具体的认识,也有了很多体会。一是开发数据库应用系统前的系统规划是十分重要的,在开发前所做的设计方案往往会对最终结果产生很大的影响,认真细致的规划可以节省大量的时间。二是应从数据入手进行数据库应用系统程序的设计,因为数据库应用系统在很大程度上是依赖于所管理的数据。另外,建议程序设计开始时就要使用“项目管理器”它可以使数据库应用系统程序某些组件的设计、修改和运行变得方便易行。
作为小组的成员,积极配合其他成员,互相协作和帮助来完成一个工作或与才是这次作业的根本目的吧。每个人都很累,做表单、做菜单、表、主程序等。总之,每个人都很累,但大家都很耐心。
过程中,做的也不是很顺利,其中也遇到了许多问题,通过反反复复的看书,并且向同学请教,把相关的知识复习了一遍,这也是一种很大的收获。至少我们在做的过程中学会了思考,就像在做这毕业生信息管理系统的时候,从建表、导入数据、查询、插入、编写代码、设计主程序、生成可执行文件到最后的连编成狐狸头,说实话难啊。由于我们这个是毕业生信息管理系统,毕业生的信息保密性显得尤为重要,因此我们设置了多个登陆界面。在菜单中设置了维护、查询、录入和打印子菜单,这保证了系统的完整与协调。尤其是在做表单时各种代码很麻烦,还有就是最后检查的时候还有一些小毛病,这不得不是我们反复检查,看来数据库设计系统也不是那么简单的一件事。
所以,我们以后一定得加强这方面知识的巩固和学习,多与同学交流,多向老师请教,同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题、思考问题进而解决问题。
最后,感谢四位老师在这三个星期的教导与帮助,让我们在迷惑中走出来,让我们从这次实习中学到了更多的知识,除了在课堂上讲的知识外,更了解了许多编程的小知识和小常识,衷心感谢老师的谆谆教诲!
程序设计实习报告
附录:
参考书目
《数据库VisualFoxPro实训教程》
主编:王趾成 科学出版社 2005.03
《VisualFoxPro程序设计》
主编:李明龙 人民邮电出版社 2005.01
《中文VisualFoxPro精彩编程五十例》
编著:王彬华 李建华 电子科技大学出版社 2004.4
《VisualFoxPro数据库开发入门与范例解析》
编著:郭胜 夏邦贵 北京机械工业出版社 2004.1
《VisualFoxPro数据库系统开发案例精选》
编著:周桓 徐薇 人民邮电出版社 2006.8
《VisualFoxPro课程设计》
编著:黄明、梁旭、石虎 电子工业出版社2006.6 《VisualFoxPro课程设计》
编著:张跃平 清华大学出版社 2004.3
《VisualFoxPro及其应用程序设计》
主编:谭浩强、梁静毅 清华大学出版社 2010.3
《VisualFoxPro数据库系统开发应用教程》
编著:李军、王钢、王桂荣 清华大学出版社、北方交通大学出版社 2004.1
《VisualFoxPro应用基础与面向对象程序设计教程(第三版)》 编著:李雁翎 高等教育出版社 2008.06
正在阅读:
VFP程序设计实习报告06-18
打好安全生产百日攻坚战讲话11-26
考核干部年度总结2022年8篇04-04
基于解码矩阵的网络视频监控系统设计06-06
工程造价管理-第4章设计阶段05-12
北京市海淀区2018届九年级上学期期末考试生物试题(附答案)$82083303-14
高技术局部战争题目 一、选择题(请选出你认为最合适的1个答案) 1.高12-16
病句的辨析与修改20例06-28
团务知识竞赛参考题10-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 实习报告
- 程序设计
- VFP
- 关于加快推进“三旧”改造工作的意见穗府〔2009〕56号
- 2011年高考必备语文常见易错字大全(1000词)
- 新版人教版小学四年级数学下册全套教案 第二学期全册表格式教学
- 一年级下册综合实践活动教案
- EMC存储最佳实践培训手册
- 班会素材
- 近6年高考物理真题分项版精解精析《相互作用》
- 中北大学物理性污染控制考试试题1 (2)
- 基于SSH电子商城毕业论文 - 图文
- 浅谈成都富士康集团流水线管理1
- 《诗经》两首练习及答案详解
- 纠正措施的七步法
- 六年阅读练习题-给自然段分层和概括自然段段意
- 提高输配电线路的功率因数对节能降损的效益
- 中医基础理论第七、八章 病机习题集
- 知识产权法试题及答案
- 钢箱梁焊接作业指导书
- 浅析现代化小型农田水利的运行及管护
- 开题报告(新) - 图文
- 四年级奥数 - 加法原理2