1、Delphi课程设计任务书计算机科学系课程设计任务书 题目: 教师信息管理系统 学 号: 20081222 姓 名: 专 业: 计算机科学与技术 课 程: delphi应用程序设计 指导教师: 职称: 完成时间: 2010年 10 月-2010年 12 月枣庄学院计算机科学系制2010年12 月20日课程设计任务书及成绩评定课程设计的任务和具体要求课程设计任务: 教师信息管理系统对学校加强教师信息管理有着极其重要的作用,所以利用所学的delphi开发一个简单的教师信息系统,使能对其进行简单管理操作。设计一个交互式的页面,并能够对其进行与数据库的链接,逐步完善管理系统的功能。设计的具体要求: 了
2、解教师信息系统,对其进行需求分析,delphi的界面设计(内部窗体的设计,各种功能的设计)、应用SQL 2005作为后台数据库进行数据库的设计,最后综合进行总体的设计,内部功能详细设计等指导教师签字: 日期: 指导教师评语成绩: 指导教师签字: 日期: 课程设计所需软件、硬件等软件要求: Windows XP系统、 Delphi7设计软件、SQlsever2005硬件要求: PC机一台课程设计进度计划起至日期工作内容备注1010-10201021-11101111-1130121-1220进行教师信息系统全面的需求分析进行对教师信息的收集并建立相应的数据表用Delphi进行界面设计及数据库的链
3、接进行全面的系统完善参考文献、资料索引序号文献、资料名称编著者出版单位1 Delphi应用程序设计 李目海 枣庄学院计算机科学系2 Delphi程序设计教程 何鹏飞 清华大学出版社3 Delphi毕业设计指南与项目指导 杨永等 北京科海电子出版社4 数据库系统概论 王珊 高等教育出版社前言教师信息管理系统是一所院校在各种信息管理中的一部分,对于学校管理者来说是很重要的,所以所设计的系统应该能为管理者提供教师的基本信息管理手段和一些方便的查询方式。在过去,计算机不是很普及和计算机应用性不高的年代,人们使用人工的方法管理各式各样的档案,这种管理方式存在着很多缺点:效率底,保密性差,会产生大量的文件
4、和数据,给查找,更新和维护信息都带来了相当大的困难。随着科学技术的不断发展,计算机科学日益成熟,其强大的计算功能已经被人们深刻地认识到,计算机发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对教师信息进行管理,具有人工方式所无法比拟的优越性。如,查找方便,可靠性高,存储容量大,保密性好,寿命长,成本低,维护十分方便等,这些优点能够极大得提高工作的效率,这也是学校的科学化,现代化,正规化的一点体现。一:Delphi简介Delphi自从1995年发布以来,以其强大的开发功能、快捷方便的开发手段和高效稳固的程序代码已越来越受到程序员的青睐,并逐渐成为开发windows和Linux操作系统下
5、应用程序的主流产品。“真正的程序员用c,聪明的程序员用delphi”,从一侧面反应了Delphi的特点。二:主要步骤1、 查看教师信息管理系统需求分析,根据需求利用SQL-2005 设计出相应的数据库,建立相应的数据表,视图等2、 由数据库设计出教师信息管理系统大体框架:利用Delphi设计登陆界面、然后连接数据库并对表中的数据进行添加,查找,删除。3、 详细设计设计登陆界面(如下图所示)打开应用程序显示此界面,设计方法:新建一窗体放置image然后添加修改过的图片在project中修改显示代码:Application.Initialize; form9:=TForm9.create(appl
6、ication); form9.Show; form9.Update; sleep(2000); Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm3, Form3); form9.Free;修改完成即可显示登录界面! A:在form1中放置一个image组件,并用picture属性选择相应的图片,三个labe修改caption值为欢迎使用教师信息管理系统、用户名、密码,两个RadioButton并修改它们的caption值分别为教师和管理员,两个button修改caption值为登陆和取消,放置两个edit,
7、并将其text均修改为空,设置相应的字体大小,并将第二个的PasswordChar改为*。B:连接数据库,首先新建数据模块:File New DataModule然后在其中放入ADOCnnection、ADOTable、ADOQuery1和DataSource1,然后利用ADO方式连接数据库。双击ADOCnnection再出现的对话框中选择build连接已经建好的数据库JSGL。测试连接成功即可进行下一步操作。将ADOQuery1的Connection属性设为ADOConnection即可。C:写代码进行对输入的用户信息进行判断,双击登录按钮写一下代码注意form1需要引用form3和form
8、2:if form1.RadioButton1.Checked=true then begin DataModule2.ADOQuery1.Close; DataModule2.ADOQuery1.SQL.Clear; DataModule2.ADOQuery1.SQL.Add(select * from master2 where Uname=+Quotedstr (form1.Edit1.Text)+ and Upwd=+Quotedstr(form1.Edit2.Text); DataModule2.ADOQuery1.Open; if DataModule2.ADOQuery1.Rec
9、ordCount0 then begin DataModule2.ADOQuery1.Active:=true; DataModule2.ADOQuery1.Open; form3.Panel1.Visible:=false; form3.Show;form1.hide;end else showmessage(您输入的用户名或者密码有误,请检查后重新输入!);end; if form1.RadioButton2.Checked=true then begin DataModule2.ADOQuery1.Close; DataModule2.ADOQuery1.SQL.Clear; DataM
10、odule2.ADOQuery1.SQL.Add(select * from master where Uname=+Quotedstr (form1.Edit1.Text)+ and Upwd=+Quotedstr(form1.Edit2.Text) ; DataModule2.ADOQuery1.Open; if DataModule2.ADOQuery1.RecordCount0 then begin DataModule2. ADOQuery1.Active:=true; DataModule2.ADOQuery1.Open; form3.Show; form1.Hide; end e
11、lse showmessage(您输入的用户名或者密码有误,请检查后重新输入!);end;以上代码可以用来判断是普通用户还是管理员登录系统。然后可以添加取消按钮的代码:application.Terminate;添加此代码单击即可退出程序。设计主界面(如下图所示)Form1的背景图片设置如所示,主界面主要设计菜单选项,既在form中添加MAINMENU,双击Mainmeun通过修改caption值来更改添加菜单项,所添加的菜单包括系统信息,教师的基本信息,任课信息、工资信息、管理员信息等添加完菜单项即可通过双击菜单项来设置其事件。为区别管理员和教师间界面的不同可以增加一个panel,在面板上放
12、置两个button然后分别修改它们的caption值为管理员信息和修改密码,然后让普通户登录时设置其Visible为False。在用到其他窗体的时候需要Use。Form3代码如下:uses Unit4, Unit5, Unit6, Unit7, Unit8, Unit1;$R *.dfmprocedure TForm3.N5Click(Sender: TObject);begin form4.Show;end;procedure TForm3.N3Click(Sender: TObject);beginapplication.Terminate;end;procedure TForm3.But
13、ton1Click(Sender: TObject);beginform5.Show;end;procedure TForm3.N13Click(Sender: TObject);beginform8.Show;end;procedure TForm3.N10Click(Sender: TObject);beginform4.Show;end;procedure TForm3.N6Click(Sender: TObject);begin form6.Show;end;procedure TForm3.N2Click(Sender: TObject);begin form7.Show;end;p
14、rocedure TForm3.N16Click(Sender: TObject);beginif form1.RadioButton2.Checked=true thenbeginform5.Show;endelseshowmessage(对不起您没有权限!);end;procedure TForm3.Button2Click(Sender: TObject);begin form7.Show;end;设计教师信息窗体(如下图所示)在form4中放置两个button修改caption值如上图所示,然后添加GroupBox修改caption值在里边放置四个button依次修改其caption,
15、然后放置edit修改text为0,在窗体下部放置DBGrid并连接数据库库。其具体代码如下:procedure TForm4.Button1Click(Sender: TObject);beginDataModule2.ADOTable2.TableName:=teacher1;DataModule2.ADOTable2.Active:=true;DataModule2.DataSource2.DataSet:=DataModule2.ADOTable2;form4.DBGrid1.DataSource:=DataModule2.DataSource2;end;procedure TForm4
16、.Button2Click(Sender: TObject);beginDataModule2.ADOTable2.First;end;procedure TForm4.Button3Click(Sender: TObject);beginDataModule2.ADOTable2.Prior;end;procedure TForm4.Button4Click(Sender: TObject);beginDataModule2.ADOTable2.Next;end;procedure TForm4.Button5Click(Sender: TObject);beginDataModule2.A
17、DOTable2.Last;end;procedure TForm4.Button6Click(Sender: TObject);beginDataModule2.ADOTable2.MoveBy(strtoint(form4.Edit1.Text);end;procedure TForm4.Button7Click(Sender: TObject);begin DataModule2.ADOTable3.TableName:=教师教课信息; DataModule2.ADOTable3.Active:=true; DataModule2.DataSource2.DataSet:=DataMod
18、ule2.ADOTable3; form4.DBGrid1.DataSource:= DataModule2.DataSource2;end;在窗体右边放置一个GroupBox修改caption用来进行对表的删除和修改,在右边添加label、edit、button其具体界面如上图所示,在DataModule中添加ADOQuery和Datasourse,修改属性,完成后,即可让窗体与数据库进行连接具体代码如下:procedure TForm4.Button8Click(Sender: TObject);begin DataModule2.search.Close; DataModule2.sea
19、rch.SQL.Clear; DataModule2.search.SQL.Add(select * from teacher1 where 姓名=+ quotedstr(form4.Edit2.Text); DataModule2.search.Open; if DataModule2.search.RecordCount0 then begin DataModule2.search.Active:=true; showmessage(查找到相应的记录); form4.Edit3.Text:=inttostr(DataModule2.search.RecordCount); end;end;
20、procedure TForm4.Button9Click(Sender: TObject);beginif form1.RadioButton2.Checked=true thenbegin DataModule2.search.Close; DataModule2.search.SQL.Clear; DataModule2.search.SQL.Add(Delete from teacher1 where 序号=:序号 ); DataModule2.search.Parameters.ParamByName(序号).Value:=strtoint(edit4.Text); end else
21、 showmessage(对不起,您没有此权限!) ;end;运行窗口如下所示:在form中放置button和DBNavigator1、DBGrid1然后分别设置其属性,双击button1来进行连接数据库 管理员信息窗口设置(如下图所示)具体源码如下:procedure TForm5.Button1Click(Sender: TObject);beginDataModule2.manager1.Close;DataModule2.manager1.SQL.Clear;DataModule2.manager1.SQL.Add(select * from 用户 );DataModule2.mana
22、ger1.Open;form5.DBGrid1.DataSource:=DataModule2.manager;form5.DBNavigator1.DataSource:=DataModule2.manager;end; 运行时单击查看用户信息即可获得所有用户的信息,同时使DBNavigator1可以选择删除相应的记录。添加教师信息窗体设计(设计界面如下图)在窗体中添加label和edit组件并依次修改其caption值,将edit的text属性均设为空,然后在序号的后边添加一个button用来判断是否有重复值,在下边添三个button,修改caption分别为提交,取消 和返回查看教师信息
23、,双击查看登陆是否可用添加以下代码:DataModule2.ADOQuery2.Close; DataModule2.ADOQuery2.SQL.Clear; DataModule2.ADOQuery2.SQL.Add(select * from Teacher where Tno = + quotedstr(edit1.Text); DataModule2.ADOQuery2.Open; if DataModule2.ADOQuery2.RecordCount0 then begin showmessage(序号不可用); end else showmessage(序号可用);双击提交按钮进
24、行添加教师信息,具体代码如下:if edit1.Text= then begin if edit2.Text then begin edit1.SetFocus; showmessage(教工工编号不能为空!); end; if edit2.Text= then begin edit1.SetFocus; showmessage(教工序号和姓名不能为空!); end; end; if edit1.Text then begin if edit2.Text= then begin edit2.SetFocus; showmessage(姓名不能为空!); end; if edit2.Text t
25、hen DataModule2.ADOQuery2.Close; DataModule2.ADOQuery2.SQL.Clear; DataModule2.ADOQuery2.SQL.Add(select * from Teacher where Tno =+ quotedstr(edit1.Text); DataModule2.ADOQuery2.Open; if DataModule2.ADOQuery2.RecordCount0 then begin edit1.Clear; edit1.SetFocus; showmessage(教工编号不可用); exit;endelse DataM
26、odule2.ADOQuery2.Close; DataModule2.ADOQuery2.SQL.Clear; DataModule2.ADOQuery2.SQL.Add(select * from Teacher where Tname =+ quotedstr(edit2.Text); DataModule2.ADOQuery2.Open; if DataModule2.ADOQuery2.RecordCount0 then begin edit2.Clear; edit2.SetFocus; showmessage(教工名称不可用); exit; endelse DataModule2
27、.ADOQuery2.Append; DataModule2.ADOQuery2.FieldByName(Tno).AsString:=edit1.Text; DataModule2.ADOQuery2.FieldByName(Tname).AsString:=edit2.Text; DataModule2.ADOQuery2.FieldByName(Tsex).AsString:=edit3.Text; DataModule2.ADOQuery2.FieldByName(Tage).AsString:=edit4.Text; DataModule2.ADOQuery2.FieldByName
28、(Tbirth).AsString:=edit5.Text; DataModule2.ADOQuery2.FieldByName(Ttel).AsString:=edit6.Text; DataModule2.ADOQuery2.FieldByName(Dno).AsString:=edit7.Text; DataModule2.ADOQuery2.FieldByName(Tino).AsString:=edit8.Text; DataModule2.ADOQuery2.Post; showmessage(添加成功); edit1.Clear; edit2.Clear; edit3.Clear
29、;edit4.Clear; edit5.Clear; edit6.Clear; edit7.Clear edit8.Clear; edit1.Focused; end;添加完后将edit中置空,并将焦点移至第一个edit中。取消按钮直接添加:self.Close;即可关闭当前的窗口,返回查看值返回查看教师的值:form4.Show;。修改密码窗口(如下图所示)首先添加背景图片做法与相同,然后放置label设置窗体的标题为修改密码,放置三个label并修改属性如上图所示,放置三个edit将其text属性设置为空,然后再窗体下方放两个button修改caption值,然后添加事件,双击修改添加如下
30、代码:if form1.RadioButton1.Checked=true then begin DataModule2.ADOQuery1.Close; DataModule2.ADOQuery1.SQL.Clear; DataModule2.ADOQuery1.SQL.Add(select * from master2 where Uname=+ quotedstr(edit1.Text); DataModule2.ADOQuery1.Open; if DataModule2.ADOQuery1.RecordCount0 then begin DataModule2.ADOQuery1.Edit; DataModule2.ADOQuery1.FieldByName(Upwd).AsString:=edit2.Text; DataModule2.ADOQuery1.FieldByName(Upw