服务器-管理模块的创建与设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

服务器-管理模块的创建与设计

服务器参数设定的窗体如图17 所示。

图17:服务器参数设定的窗体

通过该模块可以设置数据的服务器地址、数据库认证用户名和密码,还具有数据库的备份与恢复功能,选择数据库备份的路径后,点击数据库的备份与还原窗体如图18所示。

图18:数据库的备份与还原窗体

通过该界面,数据库管理员可为宝贵的数据库进行备份与还原。备份路径就是服务器配置管理窗口中给定的数据库备份路径,一般指定一个可移动硬盘即可。

1 客户端-登陆模块的创建和设计

登陆界面是用户与系统连接的接口,它的设计好坏直接关系到系统安全性。本系统的登陆窗体设计如图20 所示,登陆流程如图21所示。

图20:登陆窗体Array图21:登陆流程图

2 客户端-主窗体的创建和设计

主窗体的设计直接影响到用户的使用兴趣,由此可知它的美观性是非常重要

的。本系统的主窗体界面如图22所示。

图22:客户端主窗体界面

在主界面加载的过程中,需要根据当前的用户名向服务器获取该用户的权限,然后再根据获取到的权限加载相应的功能菜单,保障了系统的安全性。

3客户端-系统管理模块的创建和设计

系统管理模块主要实现添加/删除用户、修改密码、设置用户权限、数据库的备份等功能。下面主要介绍一下用户权限设置窗体的设计。用户权限设置窗体

如图23 所示。

图23:用户权限设置窗体

在这个窗体左边的用户列表中可以选择需要设置权限的用户,然后在右边窗体中配置该用户相应的权限,当然这是在当前用户有设置该功能权限的前提下。由于该功能对系统安全性影响较大,一般来说,只容许一个系统用户具有设置用户权限的权限。这些权限的设置会立即生效,即使被设置的用户当前也在线,只要设置成功,服务器会同步更新其用户权限。

4 客户端-客房管理模块的创建和设计

客房管理模块主要实现客房的设置、客房信息查看、客房状态的查看等功能。客房设置窗体如图24所示。

图24:客房的设置

通过此窗体,可以方便地添加、修改和删除客房。

客房状态查看窗体如图25所示。

图25:客房状态查看窗体

通过该窗体,可以随时查看当前所有客房的状态,也可以按照客房的性质分类查看客房,如可以查看满客房数及房间号、空闲客房数及房间号、维修状态的客房数及客房号,也可以按照客房的类型查看,给用户全新的界面,大大提高操作人员的效率。

5 客户端-住宿登记模块的创建和设计

住宿登记窗体的设计如图 26所示。该窗体主要完成客户的住宿登记,并且可以打印相关的凭证。

图26:住宿登记窗体

因为身份证是客户唯一的身份标识,因此对身份证的合法性进行校验是很重要的。该模块能实现身份证合法性判断,如地址的合法性校验、出生日期的合法性校验、18位身份证的第18位校验码的校验等,其校验代码如下:Option Explicit

Public Function Is_PID_Ture(PID As String) As Boolean

'长度合法性判断

If Len(PID) <> 15 And Len(PID) <> 18 Then

Is_PID_Ture = False

Exit Function

End If

'是否是数字判断和第18为的X 判断

Dim i As Integer

For i = 1 To Len(PID)

If i <> 18 And (Asc(Mid(PID, i, 1)) < Asc("0") Or Asc(Mid(PID, i, 1)) > Asc("9")) Then

Is_PID_Ture = False

Exit Function

ElseIf i = 18 And (Asc(Mid(PID, i, 1)) < Asc("0") Or Asc(Mid(PID, i, 1)) > Asc("9")) And Mid(PID, i, 1) <> "X" Then

Is_PID_Ture = False

Exit Function

End If

Next

'判断出生日期是否合法

Dim BthYear As Integer

Dim BthMonth As Integer

Dim BthDay As Integer

Dim DaysOfMonth As Variant

If Len(PID) = 18 Then

BthYear = Int(Mid(PID, 7, 4))

BthMonth = Int(Mid(PID, 11, 2))

BthDay = Int(Mid(PID, 13, 2))

Else '15位的身份转化为18的日期处理

BthYear = Int(Mid(PID, 7, 2))

BthYear = BthYear + 1900

BthMonth = Int(Mid(PID, 9, 2))

BthDay = Int(Mid(PID, 11, 2))

End If

'判断年的合法性

If BthYear < 1900 Or BthYear > Year(Date) Then

Is_PID_Ture = False

Exit Function

End If

'判断月份的合法性

If BthMonth < 0 Or BthMonth > 12 Then

Is_PID_Ture False

Exit Function

End If

'判断日数的合法性

DaysOfMonth = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) If BthMonth <> 2 Then

If BthDay < 0 Or BthDay > Int(DaysOfMonth(BthMonth - 1)) Then Is_PID_Ture False

Exit Function

End If

Else

If (BthYear Mod 4 = 0 And BthYear Mod 100 <> 0) Or BthYear Mod 400 = 0 Then

If BthDay < 0 Or BthDay > 29 Then

相关文档
最新文档