- 相关推荐
delphi+access网络考试系统[开题报告+论文+源代码+答辩ppt+
中文摘要
网络考试系统为教师实施计算机网络考试提供可能的便捷的手段,其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。利用DELPHI 6.0软件及其提供的各种面向对象的开发工具,建立完整性强、安全性好的数据库,开发出功能完备,易使用的应用程序。经过调试、编译与实现,该程序界面友好、程序设计风格朴素,使用起来美观大方、方便易用。尤其是系统的“机器自动分配”的功能极大的减轻工作人员的工作量,并以快速、准确等优点取代人工操作,提高了网络化考试的工作效率。
关键词 : DELPHI 6.0 信息管理系统 数据库 模块 网络考试系统

引 言 1
1 Delphi语言概述 2
1.1 Delphi简介 2
1.2 数据库系统简介 2
1.3 本应用软件的基本介绍 3
2 本应用程序的构成和开发步骤 4
2.1 可行性研究 4
2.1.1 经济可行性 4
2.1.2 时间可行性 4
2.1.3 技术可行性 4
2.1.4 社会可行性 5
2.2 数据库的建立和连接 5
2.3 系统的总体设计 5
2.4 系统的详细设计 7
3 本程序的技术实现及具体功能 13
3.1 登录的界面与程序设计实现 13
3.2 系统维护界面与代码设计实现及功能 13
3.3 考员管理界面与代码设计实现14,
3.4 考试管理界面与代码设计15
3.5 统计报表界面设计与代码设计 16
3.6 主界面与代码设计 17
结 论 21
致 谢 22
参 考 文 献 23
引 言
随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。以前开发Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。现在不同了,即使你没有接受过严格的程序设计训练,使用Delphi编程语言也一样能够开发出功能强大、适合自己特殊需求的应用程序了。Delphi编程语言继承了其他语言易学易用的特点,特别适合于初学者学习Windows系统编程。 网络考试系统采用计算机网络化考试使用c/s方式,以建立服务器,然后多个client接入的方式进行考试的一种计算机应用技术的创新,在计算机还未普及之前学生考试都是由工作人员人工安排,如试卷的打印分发,批阅等来操作的.现在一般的高校计算机房完全有能力进行网络化考试的物质条件,所以有必要开发一套网络考试系统,方便学校的教师的日常工作,减轻教师负担.网络考试系统管理都采用计算机智能化管理,采用计算机作为工具的实用的计算机智能化管理程序来帮助前台管理员进行更有效的试卷生成,试卷自动批改,学生成绩统计等工作。网络考试系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 Delphi编程语言开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
因为本人能力有限,加上时间紧迫,所以设计出来的本系统可能功能比较简单,这些都有待于我在以后的工作学习中进一步改进。
Delphi简介
1.1 Delphi简介
Delphi是Inprise公司出品的一个优秀的可视化程序开发工具软件,它短小精悍,但功能却可以与庞大的visual c++媲美。它易学易用,如同VB,因而被称为“第四代编程语言”。
从1995年推出Delphi1.0至今已经经历了7个版本,Delphi7.0运行在win9x或winme,win2000,winxp,windowsNT等操作系统下,是一个32位的应用程序开发工具。这里把“VB”比作是傻瓜相机,Delphi是带有自动功能的专业相机。前些年,软件界流行一句话叫“真正的程序员用VC,聪明的程序员用Delphi”。也有的把Delphi称作VB杀手。
1.2 数据库系统简介
数据库系统是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这些数据为多个应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。
数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。
1.3 本应用软件的基本介绍
本应用软件先是打开一个启动窗口,就可以进入应用程序的主窗口了。主界面是一个图型界面窗口,整个平台显示采用人性化方式,首先开启考试系统服务器,然后可以非常方便的系统维护,考员管理,考试管理,统计报表,等后期工作,如生成准考证,打印准考证,考场机器分配等管理日常经营的基本情况,通过各种条件查询出考员的基本信息,以及打印出查询出的基本信息,总之一切考试基本信息都会显示在系统平台上,大大提高了考试管理人员的工作效率。
本应用程序的构成和开发步骤
下面从软件工程的角度介绍本程序的基本开发步骤。Delphi 应用程序一般包含以下三个基本部分: 应用程序运行的接口:负责系统整体环境的设置,运行状态的监视,应用程序的启动等。 应用程序的主体:主要完成用户的业务逻辑功能,如准考证生成,准考证打印,考场安排,成绩统计,成绩打印等信息.
应用程序的辅助部分:协助程序主体完成的一些工作。 下面从软件工程的角度描述本程序的开发生命周期,开发过程和组织过程。
2.1 可行性研究
任何一个系统或一项工程,在建立之前,必须首选进行可行性分析,可行性分析包括两层含义,一是可能性,二是必要性。可能性指开发信息系统的条件是否具备,必要性是指客观上是否真正需要,通过可行性研究,可避免盲目投资,减少政治性要的损失。下面从四方面来讨论:
2.1.1 经济可行性
主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利。本系统所需的软硬件成本比较低,投资小,具有一定的通过性,因此 ,在经济上是可行的。
2.1.2 时间可行性
主要包括系统在目前环境下能否正常运行,运行后所引起的各方面,以及这些变化对社会或人的因素所产生的影响。本系统对人事的管理比较全面,可长期使用。
2.1.3 技术可行性
利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中需要考虑的一个问题。关系型数据库的高速发展使管理信息系统具备了良好的开发环境。本系统使用的Delphi 普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的。
2.1.4 社会可行性
人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要。开发本系统的目标不仅是提高工作效率,减轻劳动强度,而且减少出错率,具有很好的社会意义。
2.2 数据库的建立和连接
这个程序采用的数据库是Microsoft Access2000,Delphi作为数据库的前台开发工具,必须与后台数据库进行连接,这样才能控制和进行操作数据库,数据库的连接方式有两种,ODBC和ADO。
ODBC是数据库的通用接口,其缺点是效率低;专用接口调用直接速度快,但是通用性差,如果用ODBC连接数据库一般要两个步骤:1.要创建数据源;2.创建描述文件。数据库的建立则时在access2000中建立的,在这里你可以设置数据库的密码,对数据库进行保护。在创建数据源时可以通过BDE administrator进行创建,也可以通过系统控制面板中的ODBC数据源进行建立。而描述文件则可以在Delphi的主程序中用Database Profile中进行建立,之后进行数据库的连接。接下来的工作是建表。同样建表的过程也不是唯一的,但是最终实现的结果是唯一的。你可以通过Access进行建表,也可以通过在 Visual Basic 主程序中建表,也可以通过powerdesigner进行可视化的建立,不过用这种方法,在导入的时候要把数据库要先断开,否则数据库的数据容易丢失。建表的过程注意规范化命名规则,如表的字段名等等。同时也要注意表的字段长度和可否为空。因为以后要设计到主键,外键的问题。如果字段名不同,同一字段长度不同则主键和外键将会连接不上。可见建表时应做好全局的打算。我在程序开发的初期,同样犯了这个错误,导致数据库出错,有时还要向表中新加入字段。导致数据窗口不好用的连锁反映。
2.3 系统的总体设计
这个管理系统从4月1日开始着手设计开发,经过一段时间的分析,并根据对影音店光盘管理的具体要求及需要本软件实现的功能,将本软件分为4个大的模块,分别是:第一部分:系统维护;第二部分:考员管理;第三部分:考试管理; 第四部分:统计报表。
程序流程图如下:
系统的详细设计
进入Access后要做的第一件事就是建立一个数据库。Access提供了6种用构造数据库系统的对象,根据本课题的需要,在这里选择一个空的数据库,命名建立了一个数据库名称为“bysj”,网络考试系统。并在此数据库下创建了六个表,用于存放原始数据。它只是存放数据,对其中数据的修改要通过对应的窗体来完成。创建各表的具体结构如下:
3 本程序的技术实现及具体功能
登录的界面与程序设计实现
代码设计:
unit Unlogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, jpeg;
type
TLoginfrm = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Bevel2: TBevel;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Loginfrm: TLoginfrm;
implementation
uses Undm, Unmain;
{$R *.dfm}
procedure TLoginfrm.Button1Click(Sender: TObject);
begin
if edit1.Text='' then
begin
application.MessageBox('您没有输入登录名,请输入你的登录名!!','系统警告',MB_ok+MB_Iconstop);
exit;
end;
if edit2.Text='' then
begin
application.MessageBox('您没有输入口令,请输入你的口令!!','系统警告',MB_ok+MB_Iconstop);
exit;
end;
if datamodule1.CDSManerge.Locate('姓名',edit1.Text,[]) then
begin
if datamodule1.CDSManerge.FieldByName('口令').AsString=edit2.Text then
begin
if datamodule1.CDSManerge.Fields[2].Value=2 then
begin
mainfrm.n1.Enabled:=false;
mainfrm.toolbutton1.Enabled:=false;
mainfrm.toolbutton3.Enabled:=false;
end;
close;
end
else
application.MessageBox('你输入的口令有误,请重新输入!','系统警告',mb_ok+mb_iconstop);
end
else
application.MessageBox('你输入的姓名有误,请重新输入!','系统警告',mb_ok+mb_iconstop);
end;
procedure TLoginfrm.Button2Click(Sender: TObject);
begin
application.Terminate;
end;
end.
系统维护界面与代码设计实现及功能
权限管理界面
代码设计:
unit Unmanerge;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, DB, Mask,
ExtCtrls;
type
TOperatorfrm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
BitBtn1: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
BitBtn2: TBitBtn;
TabSheet2: TTabSheet;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Panel1: TPanel;
Label5: TLabel;
DBEdit1: TDBEdit;
DataSource1: TDataSource;
Label6: TLabel;
DBEdit2: TDBEdit;
Label7: TLabel;
DBEdit3: TDBEdit;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
GroupBox2: TGroupBox;
Label8: TLabel;
Label9: TLabel;
BitBtn5: TBitBtn;
TabSheet3: TTabSheet;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
DataSource2: TDataSource;
Panel2: TPanel;
GroupBox3: TGroupBox;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Operatorfrm: TOperatorfrm;
implementation
uses Undm;
{$R *.dfm}
procedure TOperatorfrm.FormShow(Sender: TObject);
begin
if datamodule1.cDSManerge.Fields[2].Value=2 then
tabsheet2.Enabled:=false;
end;
procedure TOperatorfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamodule1.CDSManerge.ApplyUpdates(-1);
action:=cafree;
end;
procedure TOperatorfrm.BitBtn5Click(Sender: TObject);
begin
close;
end;
procedure TOperatorfrm.BitBtn3Click(Sender: TObject);
begin
datamodule1.cDSManerge.Insert;
dbedit1.Enabled:=true;
dbedit2.Enabled:=true;
dbedit3.Enabled:=true;
dbedit1.SetFocus;
end;
procedure TOperatorfrm.BitBtn4Click(Sender: TObject);
begin
datamodule1.cDSManerge.Delete;
dbedit1.Enabled:=false;
dbedit2.Enabled:=false;
dbedit3.Enabled:=false;
end;
procedure TOperatorfrm.BitBtn1Click(Sender: TObject);
begin
if (edit1.Text='')or(edit2.Text='')or(edit3.Text='')or (edit4.Text='') then
begin
showmessage('请完整输入你的信息,编辑框中的内容不能为空!');
exit;
end
else
if not datamodule1.cDSManerge.Locate('姓名',edit1.Text,[]) then
//begin
showmessage('数据库中没有这个用户名,请重新输入')
else
if edit2.Text=datamodule1.cDSManerge.Fields[1].Value then
if edit3.Text=edit4.Text then
begin
datamodule1.cDSManerge.Edit;
datamodule1.cDSManerge.Fields[1].Value:=edit3.Text;
datamodule1.cDSManerge.Post;
showmessage('你已经正确修改你的口令,请记住你的新口令!');
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end
else
begin
showmessage('你输入的口令和确认口令不相同,请重新输入!');
edit3.Text:='';
edit4.Text:='';
end
else
showmessage('你输入的口令不正确,请重新输入!');
end;
procedure TOperatorfrm.BitBtn2Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
end;
procedure TOperatorfrm.BitBtn6Click(Sender: TObject);
begin
datamodule1.cDSManerge.Edit;
dbedit1.Enabled:=true;
dbedit2.Enabled:=true;
dbedit3.Enabled:=true;
end;
procedure TOperatorfrm.BitBtn7Click(Sender: TObject);
begin
datamodule1.cDSManerge.Post;
dbedit1.Enabled:=false;
dbedit2.Enabled:=false;
dbedit3.Enabled:=false;
end;
end.
考员管理界面与代码设计实现
代码分析
unit Unpass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, ExtCtrls;
type
Tpassfrm = class(TForm)
QuickRep1: TQuickRep;
DetailBand1: TQRBand;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRLabel7: TQRLabel;
PageFooterBand1: TQRBand;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRShape1: TQRShape;
QRExpr1: TQRExpr;
private
{ Private declarations }
public
{ Public declarations }
end;
var
passfrm: Tpassfrm;
implementation
uses Undm;
{$R *.dfm}
end.
考试管理界面与代码设计
代码设计:
unit Unexam;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DBCtrls, DB, Mask, Grids, DBGrids;
type
Ttikufrm = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
DBEdit1: TDBEdit;
DataSource1: TDataSource;
Label2: TLabel;
DBMemo1: TDBMemo;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
GroupBox1: TGroupBox;
Panel1: TPanel;
Label3: TLabel;
DBEdit2: TDBEdit;
Label4: TLabel;
DBEdit3: TDBEdit;
Label5: TLabel;
DBEdit4: TDBEdit;
Label6: TLabel;
DBEdit5: TDBEdit;
Label7: TLabel;
DBEdit6: TDBEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
tikufrm: Ttikufrm;
implementation
uses Undm;
{$R *.dfm}
procedure Ttikufrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamodule1.CDSExam.ApplyUpdates(-1);
action:=cafree;
end;
procedure Ttikufrm.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure Ttikufrm.BitBtn1Click(Sender: TObject);
begin
datamodule1.cDSExam.Insert;
end;
procedure Ttikufrm.BitBtn2Click(Sender: TObject);
begin
datamodule1.cDSExam.Delete;
end;
end.
统计报表界面设计与代码设计
代码设计:
unit Unchengji;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, DB, Grids, DBGrids, ComCtrls;
type
Tchengjifrm = class(TForm)
DataSource1: TDataSource;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet3: TTabSheet;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
Button1: TButton;
Edit1: TEdit;
DBGrid1: TDBGrid;
RGselect: TRadioGroup;
RGid: TRadioGroup;
Edit2: TEdit;
Edit3: TEdit;
GBdate: TGroupBox;
Label3: TLabel;
DatePick: TDateTimePicker;
RGpass: TRadioGroup;
Button2: TButton;
Button3: TButton;
Bevel1: TBevel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure RGselectClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
chengjifrm: Tchengjifrm;
implementation
uses Undm, Unchengjiprint;
{$R *.dfm}
procedure Tchengjifrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tchengjifrm.Button1Click(Sender: TObject);
var item:string;
begin
ITEM:=combobox1.ITEMS.strings[combobox1.ITEMINDEX];
if not (edit1.Text='') then
begin
if item='准考证号' then
begin
datamodule1.cdsstudent.filtered:=false;
datamodule1.cDSStudent.filter:=format('准考证号=%s',[edit1.text]);
datamodule1.cdsstudent.filtered:=true;
if datamodule1.CDSStudent.IsEmpty then
showmessage('数据库中没有符合条件的数据!');
end;
if item='姓名' then
begin
datamodule1.cdsstudent.filtered:=false;
datamodule1.cDSStudent.filter:=format('姓名=%s',[edit1.text]);
datamodule1.cdsstudent.filtered:=true;
if datamodule1.CDSStudent.IsEmpty then
showmessage('数据库中没有符合条件的数据!');
end;
if item='身份证号' then
begin
datamodule1.cdsstudent.filtered:=false;
datamodule1.cDSStudent.filter:=format('身份证号=%d',[strtoint(edit1.text)]);
datamodule1.cdsstudent.filtered:=true;
if datamodule1.CDSStudent.IsEmpty then
showmessage('数据库中没有符合条件的数据!');
end;
{if item='状态' then
begin
datamodule1.cDSStudent.filter:=format('状态=%s',[edit1.text]);
datamodule1.cdsstudent.filtered:=true;
if datamodule1.CDSStudent.IsEmpty then
showmessage('数据库中没有符合条件的数据!');
end; }
end
else
if item='' then
datamodule1.cdsstudent.filtered:=false
else
showmessage('请输入查询值!');
end;
procedure Tchengjifrm.RGselectClick(Sender: TObject);
begin
case rgselect.ItemIndex of
0:begin
rgid.Enabled:=true;
gbdate.Enabled:=false;
rgpass.Enabled:=false;
end;
1:begin
rgid.Enabled:=false;
gbdate.Enabled:=true;
rgpass.Enabled:=false;
end;
else
begin
rgid.Enabled:=false;
gbdate.Enabled:=false;
rgpass.Enabled:=true;
end;
end;
end;
procedure Tchengjifrm.Button2Click(Sender: TObject);
begin
datamodule1.CDSStudent.Filtered:=false;
if rgselect.Enabled=true then
if rgselect.ItemIndex=1 then
begin
datamodule1.CDSStudent.Filter:=format('准考证号>=''%s'' AND 准考证号<=''%S''',[edit2.text,edit3.text]);
datamodule1.cDSStudent.Filtered:=TRUE;
end;
if gbdate.Enabled=true then
begin
datamodule1.CDSStudent.Filter:=format('考试日期=''%s''',[datetostr(datepick.Date)]);
datamodule1.cDSStudent.Filtered:=TRUE;
end;
if rgpass.Enabled=true then
if rgpass.ItemIndex=0 then
begin
datamodule1.CDSStudent.Filter:='得分>=60';
 bsp; 论
网络考试系统是一个典型的信息管理系统,其主要通过软件工程方面的选择课题、需求分析、总体设计、选用工具、程序模块、系统测试等几个步骤来实现。开发本系统的过程中,首先要对高校网络考试流程管理进行系统调研,熟悉其中的新光盘登记、光盘出借的流程、步骤;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到光盘管理中存在的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题;选用开发工具要选用自己最熟悉、应用较多的开发工具,本系统开发选用DELPHI 6.0,其具有语言简单、功能强大、组件众多的优点。程序模块的编制中,重点把握系统内部完整性、功能性、实用性、便捷性,使其能够协调统一、运行无误。
致 谢
我首先感谢我的指导老师吕老师,在他严格的要求下我懂得了开发软件要有一种极其认真负责的态度。无论做什么事都要大胆的去想去做,这样会有好的创意,才能更有作为。
在这里我还要感谢我们宿舍的其它5个同学。他们和我共同生活了四年,在生活和学习上给了我很大的帮助。
参 考 文 献
1 张春林.Delphi 6程序设计导学.北京:清华大学出版社,2002.5
2 飞思科技. Delphi6开发者手册. 北京:电子工业出版社,2002.3
3 飞思科技. Delphi6数据库开发. 北京:电子工业出版社, 2002.1
4 丁宝康.数据库原理. 北京:经济科学出版社,2004.1
5 何旭洪.Delphi 6.0数据库系统开发实例导航.北京:人民邮电出版社, 2002.4
6周璋鹏. 基于B/S结构的学生信息管理系统垢研究与开发.西北电力技术.2003,31(4):15~17,26
7 李全彬, 顾明亮. 基于ASP技术的学生信息管理系统的研究与开发. 徐州师范大学学报(自然科学版).2001,19(2):25~28
8 谷军.用Authorware开发学生信息管理系统.计算机与与现代化.2003(7):40~41,44
9李丹荣,杜维.基于Delphi6.0的实时数据采集与分析系统 机电工程.2003,20(5): 64~67
【delphi+access网络考试系统[开题报告+论文+源代码+答辩pp】相关文章:
论文格式开题报告答辩范例11-27
大学论文开题答辩技巧02-13
(企业进销存管理系统)开题报告答辩03-28
开题报告怎么答辩02-15
网络游戏产业的论文开题报告03-22
大学生论文开题答辩技巧02-15
校园网站毕业设计论文开题报告答辩03-09
网络专业毕业论文开题报告模板03-15
旅游网站系统的设计论文开题03-20