中文摘要 随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公,即从原来的人工记录管理模式转变为电脑一体化管理。高校是科研的阵地,后勤的公寓管理也应该一改传统的人工管理,更加信息化,时代化,节省人力物力,提高效率。基于这一点,开发此学生公寓管理软件。 学生公寓管理软件,是以高校的管理方式为实例而设计的一种实用型管理系统。本系统最大的特点是通用性、简单操作性,适用于同行业以及一些同类型的企业管理。随着学校寄宿人员的增多,公寓管理人员的负担越来越重,为了让所有公寓管理人员能从繁重的工作中解脱出来,实现无纸化办公;使工作更有条理,更方便,更有效率而开发出这套公寓管理软件。 软件从对学生的分房开始到最后的公寓管理全部电脑化。它主要包括:公寓、寝室的配置、住宿人员登记、卫生检查、公寓资产、学生违纪、值班老师记录以及对学生住宿情况查询,可以更快地了解到每个学生的住宿情况,使公寓的管理效率更高,做的更好! 关键字:配置、登记、检查 Abstract
With the popularization and use of the computer, present management has been promoted much, more and more jobs have been done by computer. It namely changes the original artificial record management mode into computer's integrating and managing. The university is the position of scientific research, the apartment management should change traditional managing artificially too, for the efficiency. So , develop the management software of student's apartment . Student Apartment Management System is a utility management system based on the managing mode of many universities and colleges.Universal and easy-operating are the greatest features of the system ,which is also applicable for enterprises of the same type.Apartment keepers bear a increasingly heavy burden because of the gradually added number of roomers.In order to free apartment keepers from the heave work,and make the work more convienent and efficient. The apartment management system is developed. The system computerized all the processes concerning the apartment management which include apartment,dormitory distribution,roomer registration,santitation examination,and the query for apartment property,students' violation of discipline,teachers' records and rooming situation.It makes the apartment management more efficient and much better. Key word: dispose 、 register 、 check 引言 4 第一章系统分析 5 1.1开发工具简介及系统运行环境 5 1.2开发的必要性 6 1.3系统开发的可行性 7 1.4数据来源 8 1.5新系统数据流程图 9 第二章 数据库设计 12 第三章功能模块设计 16 3.1新系统功能结构图及运行图如下: 16 3.2系统设置: 17 3.3公寓管理 18 3.4 卫生检查 19 3.5 公寓资产 20 3.6 记录查看与记录删除 20 3.7值班记录 20 3.8帮助制作 21 第四章 程序设计 22 主程序流程图 22 4.1 登录界面 23 4.2 程序主界面 26 4.3系统设置 32 4.4公寓管理 57 4.5卫生检查 60 4.6 公寓资产 64 4.7记录查看 66 4.8记录删除 74 4.9值班记录 81 4.10 Help制作 88 第五章 系统测试 90 总结 91 参考文献 92 引言 随着电脑的普及与应用,现在的管理也需要提升一个档次。即从原来的手工记录管理模式转变为电脑一体化管理。这样会给公寓的管理人员带来很多好处,让他们管理的效率更高、效果更好,管理起来更方便。由此而产生了本管理软件――学生公寓管理软件。 学生公寓管理软件是用Microsoft Visual Basic 编写完成。由于Visual Basic率先采用了可视化(VISUAL)的程序设计方法。所以利用系统提供的大量可视化控件,可以方便的以可视化方式直接绘制用户图形界面,并可直观,动态的调整界面的风格和样式,直到满意为止,从而克服了以前必须用大量代码去描述界面元素的外观和位置的传统编程模式。做起来方便,使用起来更为快捷。 作为一个学生公寓的管理软件,要十分全面的贴近以及适合大学公寓的管理方法。本软件的参考资料主要有两种来源:一是参考本学校公寓的管理结构,管理方法。如各个公寓的分布特色,以及公寓的各种管理制度。这些资料是本软件的主要依据,也可以说这些资料来源于普通的生活,比较真实一些。二是来源于网络上的各种同类软件,通过这些软件可以看出一个公寓最低需要哪些管理与设置,在这些软件中,有些软件功能比较齐全,但是在管理上显的非常的不方便,使用起来十分麻烦、繁琐,有些虽然简单,但是功能上又不是十分完善,对这些软件首先要进行取其精华,弃其糟粕,从而进行编写。 本软件主要包括以下方面:系统设置、公寓管理、卫生检查、公寓资产、记录查看、记录删除、值班记录、帮助制作。 学生公寓管理软件目前版本为1.0.1,为一个测试版本。它目前在功能上,以及操作的简便上有很大的改进。但是还是存在一些不足,在有些功能的实现上还不是十分的理想,这也是本人在时间和精力上留下的遗憾。但是相信这些会在以后的版本中得到完善,使这个软件成为一个功能上最全,使用上最简捷方便的管理软件。 第四章 程序设计 主程序流程图 4.1 登录界面 此界面是由Photoshop制作而成。在做这个登录面的时候想了很多,最后选择了这种,感觉它看起来干净,整齐。又不失其庄雅。加上本单位最有特色的建筑,会让人一目了然。
4.1.1 登录图片显示 图4.1登录界面 4.1.2 界面制作与实现 在这个界面中,主要处理的是判断当前用户输入的信息是否正确。如果正确,那么它属于哪种类型用户。因为此管理软件在登录后不同类型的用户显示的窗体与实现的功能都不是一样的,它们会有所差别! (1) 浮动按钮的实现 确定和取消两个按钮在鼠标没有放上去之前看上去只是一个普通的平面字效果,但是当你把鼠标放在这几个字上面后,它会显示凸出的效果,按下后呈现凹陷的效果。总体实现立体的感觉。原理主要是在鼠标mousemove事件与线的颜色变化组合来实现。主要代码如下: 在窗体中的鼠标移动过程中,以及在窗体初始化的时候,要把添加的线的.Visible 属性设置为 False,只有在鼠标按下的时候在改变其颜色即可。 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Line1.Visible = False Line2.Visible = False Line3.Visible = False Line4.Visible = False Line5.Visible = False Line6.Visible = False Line7.Visible = False Line8.Visible = False End Sub 鼠标按下的时候设置线条的颜色如下: Private Sub Label3_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) Line1.BorderColor = &H808080 Line2.BorderColor = &H808080 Line3.BorderColor = &HE0E0E0 Line4.BorderColor = &HE0E0E0 End Sub 鼠标移动到标签的时候设置线条的颜色如下: Private Sub Label3_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Line1.BorderColor = &HE0E0E0 Line2.BorderColor = &HE0E0E0 Line3.BorderColor = &H808080 Line4.BorderColor = &H808080 Line1.Visible = True Line2.Visible = True Line3.Visible = True Line4.Visible = True End Sub (2) 用户类型判断 在数据库中建了一人yonghu表。在添加管理人员时有两种默认级别。管理员、普通用户。管理员拥有对数据库操作的一切权限。普通用户只有普通的查看,数据转换等。没有删除等操作功能。前用户成功登录后,会在主窗体的状态栏中显示出当前用户及其用户类型。 主要代码如下: 设置当前控件连接的数据库 Dim provider As String Dim datasource As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "\DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "yonghu" .Refresh .Recordset.MoveFirst End With 对用户进行判断 If Text1.Text = "" Then MsgBox "请输入用户名!", 48, "提示" Exit Sub End If Adodc1.Recordset.Find "用户='" & Text1.Text & "'" If Adodc1.Recordset.EOF = False And Text2.Text = Trim(Adodc1.Recordset.Fields("pass")) Then main.Text1.Text = Adodc1.Recordset.Fields("级别") main.Text2.Text = Adodc1.Recordset.Fields("用户") main.Show Unload Me Else Text1.Text = "" Text2.Text = "" MsgBox "登录不成功,请重新登录!", 48, "提示" End If 4.2 程序主界面 程序主界面为本软件的显示的核心部分。一切主要操作及显示都通过这里完成。整个界面主要由五部分组成。菜单部分、工具栏、左侧操作栏、右侧显示栏以及状态栏。 ①界面效果图如下: 图4.2程序主界面 菜单栏的详见附录内容,这里就不提了。左侧操作栏和右侧显示栏会在下面的内容中做介绍,现在只简单介绍一下工具栏和状态栏,以及主窗体的各个事件。 工具栏主要是由coolbar制作而成。由它制做的工具栏的显示效果会更有立体感一些。这里只列出了几个常用的按钮。其中的添加按钮是用来对公寓住宿人员进行添加,修改也是对所住宿人员进行修改,想要进行修改时必须显示所有记录时才可以进行。在这里值得一提的是删除DataGrid的操作,由于不知道它的当前数据源是哪个,所以在删除前要确定它的数据源,也就是它所链接的adodc1的数据源,或者是其它ado控件对它的数据源进行重新绑定后的数据库表,也有可能是经过一个查询后得到的记录。 ②它的实现方法如下所示: Dim o As Adodc Set o = DataGrid1.datasource o.Recordset.Delete o.Recordset.Update 这里主要是用到了ado对像的方法。用这个方法得到数据源。 下面是整个工具栏运行时代码: Select Case Button.Index Case 1 sel.Show 1 Case 3 add.Show 1 Case 5 On Error GoTo next2 Dim s As Adodc Set s = DataGrid1.datasource If s.RecordSource = "users" Then edit.Show 1 End If next2: Case 7 On Error Resume Next Dim o As Adodc Set o = DataGrid1.datasource o.Recordset.Delete o.Recordset.Update Case 9 back.Show 1 Case 11 With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "users" ' .Refresh End With Set DataGrid1.datasource = Adodc1 DataGrid1.Refresh Call dx Case 13 Unload Me End Select 状态栏分四个部分。第一个为固定显示当前所用软件名称及作者。其中第二个和第三部分为动态显示的,它会显示出每次用户登录名称及其管理模式。由上图可以看出,lf为本软件管理员。第四部分为日期与时间的显示。其中第三部分的代码实现如下: main.Text1.Text = Adodc1.Recordset.Fields("级别") main.Text2.Text = Adodc1.Recordset.Fields("用户") StatusBar1.Panels(2).Text = "当前用户:" & Text2.Text StatusBar1.Panels(3).Text = "用户模式:" & Text1.Text StatusBar1.Panels(4).Text = Date & " " & Time '设置普通用户模式 If Text1.Text = "普通用户" Then yhgl.Visible = False g1.Visible = False jlsc.Visible = False gysz.Visible = False Toolbar1.Buttons(5).Visible = False Toolbar1.Buttons(6).Visible = False Toolbar1.Buttons(7).Visible = False Toolbar1.Buttons(8).Visible = False End If 主窗体在程序运行中会遇到不断改变其大小,最小化,最大化,以及用鼠标来改变,这里需要在窗体的Resize事件中添加代码,让程序中用到的各个控件随时可以适应窗体改变后的大小,在这里改变的控件主要有DataGrid、TreeView系列及Frame控件、StatusBar。下面就是设置它们大小的程序代码: DataGrid1.Width = main.Width - SSTab1.Width DataGrid1.Height=main.Height - StatusBar1.Height - CoolBar1.Height - 750 SSTab1.Height = main.Height - StatusBar1.Height - CoolBar1.Height - 750 Frame1.Height = main.Height - StatusBar1.Height - CoolBar1.Height - 1200 Frame2.Height = main.Height - StatusBar1.Height - CoolBar1.Height - 1200 Frame3.Height = main.Height - StatusBar1.Height - CoolBar1.Height - 1200 TreeView1.Height=main.Height - StatusBar1.Height - CoolBar1.Height - 1500 TreeView2.Height=main.Height - StatusBar1.Height - CoolBar1.Height - 1500 TreeView3.Height=main.Height - StatusBar1.Height - CoolBar1.Height - 1500 Y = main.Width x = (Y - z) / 4 StatusBar1.Panels(1).Width = u + x StatusBar1.Panels(2).Width = v + x StatusBar1.Panels(3).Width = w + x StatusBar1.Panels(4).Width = m + x 这个软件的主要部分都在这里运行、查看,所以在主窗体的load事件里要把所用的到的东西都要加载进来,例如所在程序运行时所用到的表,左侧treeview部分树形显示的初始化。在这里几乎用到了所有的表,如下所示: provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "\DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "users" ' .Refresh End With With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "gongyu" .Refresh End With With Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "class" .Refresh End With With Adodc4 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "weisheng" .Refresh End With [1] [2] [3] [4] [5] [6] 下一页 |