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

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

Top