首页 毕业设计《网吧收费系统》

毕业设计《网吧收费系统》

举报
开通vip

毕业设计《网吧收费系统》毕业设计《网吧收费系统》 题 目: (服务器端) 姓 名: 陈 宝 忠 系 别: 计算机工程系 指导教师: 钟 文 龙 重庆电子职业技术学院 二,,八年三月 摘要 计算机日益普及的今天,我国网民数量日益增多.其中网吧是网民集中的场所,在利益的驱使下,越来越多的网吧成立.网吧的管理也成了一 个新的问题,一方面是硬件的安装与维修,网络安全的组建.还有一方面就是网吧收费.网吧这样的公众场所,人员流动性大,不可能完全靠人力 去解决,而且管理者和工作人员之间也要有帐目的清算. 而且为了节约成本,网吧的工作人员...

毕业设计《网吧收费系统》
毕业 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 《网吧收费系统》 题 目: (服务器端) 姓 名: 陈 宝 忠 系 别: 计算机工程系 指导教师: 钟 文 龙 重庆电子职业技术学院 二,,八年三月 摘要 计算机日益普及的今天,我国网民数量日益增多.其中网吧是网民集中的场所,在利益的驱使下,越来越多的网吧成立.网吧的管理也成了一 个新的问题,一方面是硬件的安装与维修,网络安全的组建.还有一方面就是网吧收费.网吧这样的公众场所,人员流动性大,不可能完全靠人力 去解决,而且管理者和工作人员之间也要有帐目的清算. 而且为了节约成本,网吧的工作人员也不会有太多,如何达到这样的目的,信息化的时代还是 要靠科技.面对这样的现实,一款应用软件就能把这些问题解决,软件该怎么做,需要什么功能我们自然不能靠简单的理论分析,有机会 还是要到实际的生活中去了解,只有这样才能保证做 出的系统有较高的使用价值. 在开发图书管理的过程,在实际调查后确定开发流程,基本功能设计,文档研究 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 . 现在网吧不单是靠提供计算机给网民上网服务,还加有商品的销售,商品销售如果只是靠人员来记录消费情况,会提高出错的概率,而且在人员换班的时候 帐目清算是件很麻烦的事情. 如果把商品 的销售也加进这个系统中,工作人员只是输入商品的编号,帐目就有系统自动结算( 还要考虑到系统实际运行执行代码的效率,功能模块很多的时候,运行速度就成了新的问题,如何解决,让起流畅运行呢, 数据库安全的问题,计算机毕竟只是机器而已,受外界环境影响很大,所以也要考虑备份数据库( 这次开发只是开发了收费系统的服务器端,还要开发出对应的客户端与服务器连接起来才可以正常使用. 问题的提出:讲清所研究的问题“是什么”。 选题背景及意义:讲清为什么选择这个题目来研究,即阐述该研究对学科发展的贡献、对国计民生的理论与现实意义等。 文献综述:对本研究主题范围内的文献进行详尽的综合述评,“述”的同时一定要有“评”,指出现有研究成果的不足,讲出自己的改进思路。 研究方法:讲清论文所使用的科学研究方法。 目录 1.前言 2. 需求分析 2.1 用户定位分析 2.2 功能需求分析 2.3 性能需求分析 3.系统分析 3.1 环境平台分析 3.2 程序功能设计 3.3 程序流程设计 4. 详细设计 4.1 程序单元设计 4.2 程序单元编码 4.3 集成开发 5. 系统实现 5.1 系统模块一 6 结论与展望 参考文献 前言 根据自己的爱好和软件编程的能力,我选择用VB编写网吧收费系统的服务器端,只是编写出了基本的功能,比现实生活中使用的要粗略.但是这个系统只是自己的一次实践,我会在以后的学习中继续努力的 编写这个应用程序其意义在于锻炼了我的动手能力和逻辑思维能力,而且以前也从来没有尝试过编写这样综合性的程序,培养了对问题考虑的全面性. 为了编写有实用价值的东西,我还参阅了大量的资料,包括网络资料的选择,当然在程序完成只后,也不能只有编写者才会用,所以要写出对应的帮助文挡,一般的软件都会有,这是我们生活中的常识. 只是限于水平 ,只能编写部分功能,数据库安全方面也不可靠.一直在寻找解决办法,如果能够采用动态数据库,这些问题就能解决了. 科学这东西讲究的就是严谨的态度,建立数学模型有助于完成设计,在设计的时候避免出现思绪混乱, 在经过系统功能需求分析,在大脑中 已经有很清晰的的目标,可以画出要进行的流程图,比如先根据功能模块确定好选择数据库,然后根据实际编写数据库表,完成数据库表的关联,可以先保存后,等窗体确定完毕,再连接数据库. 经过代码调试,确定能正常运行. 2.需求分析 2.1用户定位分析 ,(合理的工具设置:用户要求界面简洁 容易操作.于是可以使用工具条进行设置,把经常要使用的功能用工具条单独罗列出来,比直接在菜单中选择效率要高. 2.安全要求:为了避免意外事件或者是人为原因导致数据库信息丢失,要做好数据库的保秘和数据库灾难性恢复. 3.简单的操作方式:因为需要有的时候需要对客户机进行远程控制,这样管理起来就轻松起来 . 4.提供全面的数据查询和统计:可以任意选择查询条件,而且为了方便可以设置统计报表功能. 5.报表打印导出功能:要随时可以导出以报表格式存放,打印出来长期备份. 6.会员卡管理:会员卡较之现金交易比较方便管理, 7.商品管理:能够对商品进行销售统计,存储查询. 8.网址限制:现在网络病毒流行,尤其要注意一些不良网页上隐藏病毒,所以要限制一些网站. ,.2功能需求分析 主要功能: 对网吧的人员,资源进行管理。公布网吧的 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 公告等信息,发布网吧内外新闻动态,提供上网人员的意见、建议反馈场所,管理网吧内的计算机,对上机用户的情况进行统计,计时计费等。 具体功能: 被控制机有一个服务器,控制器集中在管理机上。可以控制登陆,并进行计时,这是两个基本功能;管理机还有上机,下机结帐,开机,关机,重新启动等功能。 网络管理、计费系统:本网站最重要和最复杂的功能。又分会员注册,登录,以及会员的审核系统,员工的管理,计时计费,计算机管理等小系统。 资源管理:分为流行歌曲,影视频道,游戏推荐,动漫Flash,精彩图片几个模块。 交流平台: 提供在线交流的平台,收集上网人员的相关的意见和建议,并及时处理,对有必要的问题进行回复。 以上功能大部份为系统已实现的基本功能,在开发本系统时也为后继系统扩展开发留有接口,使系统更加方便地可以进行升级和扩展。 ,.3性能需求分析 强大的安全保障:网络通讯全面采用数字证书认证体系,具有与网上银行同等的安全级别;基于角色的权限管理允许灵活定制管理权限;具有完备的数据保密、备份、灾难恢复等机制,保证数据高度安全可靠。 严谨与高效的业务流程设计:网吧计费管理系统业务数据遵循财务准则设计,严谨、 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ;众多独到的设计不仅方便顾客使用也大大减轻了服务员的工作强度。 易于使用与维护:网吧计费管理系统充分考虑了不同层次使用者的接受能力,服务员经过10分钟简单培训就能掌握,管理人员则拥有众多工具和方法用于简化管理与维护。此外,为了帮助用户尽快熟练掌握网吧计费管理系统的应用,相关软件公司还提供了多种方式的培训和技术支持。 集中管理能力:将配置、升级等任务集中到服务器处理,使管理工作大量减少,变得高效。 ,(系统分析 3.1系统平台分析 系统的开发、运行、测试环境均选用 Windows 系列的操作系统,因为 Windows 系统是PC机上普及最广泛的操作系统,它的界面友好、有高效的计算环境、对硬件的支持程度高、支持On,Now设备、有良好的可移植性和可伸缩性、系统运行稳定、可靠性好、维护方便、容易安装;性能经过优化、安全性好、对网络的支持程度好、使网络应用更为方便快捷。本系统可运行于Windows 20000以上操作系统,在这些操作系统上都必须安装IIS,当然最好是在Windows 2000 Advanced Server 上运行,因为微软开发的Windows 2000 Advanced Server是专门用来提供网络服务器的,有微软这个强大的技术支持,并且系统运行稳定、维护方便、性能经过优化、对网络的支持程度好、使网络应用更为方便快捷。 考虑到Windows XP Professional是我们平时用得最多的操作系统,比较熟悉,且足够支持开发软件VB和Microsoft SQL Server 2000。所以在此我选用了它作为开发环境、运行环境以及测试环境. 在选择开发工具的时候,考虑到各种编程软件,我选择VB6.0主要 有其特点决定的,VB 6.0提供了各种丰富的通信接口,比较适合这种服务器-客户端. 在界面设置上,VB 提供可视化编程,可以避免大量的代码编写,需要什么样子的窗口布局,可以直接在工具箱\里面选择,然后调整布局. 采用的是事件驱动方式,代码执行的过程可以直接控制,很方便代码的调试和改写.比起传统的那些编程语言,代码从开始执行到代码结涑 3.2程序功能设计 (,)系统功能设计:这一部分是整个系统最基本也是最重要的设置,其中 系统设置至少包括以下几方面的内容: 计算机设置: 管理员设置 数据备份 数据还原 系统设置 (,)记费用功能设计:包括下面内容 开始记费 限定时间 结帐 调换计算机 选购计算机 客户机控制 (,)界面设置功能:主要是对运行中的系统界面设置,不同的工作人员喜 欢不同的背景或布局格式,对整个系统没有太大的影响 (,)管理功能:包括商品资料管理,客户管理,会员卡管理 (,)统计功能: 日报表统计:商品统计和上机统计 月报表统计:商品统计和上机统计 3.3程序流程设计 ,(数据库设计(采用无源数据库连接) 无源数据库”连接也并不是说不需要数据源,如果没有数据源则连接是纸上谈兵,只是不需要配置ODBC数据源,利用ADO就可通过代码进行连接。 1.1 ADO(ActiveX Data Object) 在Visual Basic6.0中,数据访问接口有三种:ActiveX数据对象(ADO)、远程数据对象(RDO)和数据访问对象(DAO)。这三种接口的每一种都分别代表该技术的不同发展阶段,最新的是ADO,它比RDO和DAO更加简单,更加灵活。对于新工程,应使用ADO作为数据访问接口。 ADO 是Microsoft 数据库应用程序开发的接口,是建立在OLE DB之上的高层数据库访问技术。它封装了OLE DB所提供的接口,比起OLE DB提供者,ADO的接口可以使程序员在更高级别上进行数据交互。ADO技术不仅可以应用于关系数据库,也可以应用于非关系数据库。可以用统一的方法对不同的文件系统进行访问,大大简化了程序编制,增加了程序的可移植性。 1.2 建立无源数据库连接 在连接数据库前,首先要在Visual Basic 6.0菜单中“工程”—“引用”中选择Microsoft ActiveX Data Objects 2.6 Library 和Microsoft ActiveX Data Objects Recordset 2.6 Library这两个组件。 运用ADO对象模型的主要元素:Connection(连接)中的ConnectionString 属性进行连接, ConnectionString为可读写string类型,指定一个连接字符串,告诉ADO 如何连接数据库。 实例:以建立登陆系统为例,介绍无源数据库连接。在Microsoft SQL Server 2000 中建立一个Student 的数据库,在Student数据库中建立login_user(name,password)的数据表,Microsoft SQL Server服务器的名为data_server。代码如下: Option Explicit Public LoginSucceeded As Boolean '引用Microsoft ActiveX Data Objects 2.6 Library '定义连接对象和记录集 Dim conn As ADODB.Connection Dim rs As ADODB.Recordset '对取消按钮单击事件的响应 Private Sub cmdCancel_Click() '设置全局变量为 false '不提示失败的登录 LoginSucceeded = False Me.Hide End Sub '对登录按钮单击事件的响应 Private Sub cmdOK_Click() Set conn = New ADODB.Connection Set rs = New ADODB.Recordset '建立无源数据库连接 conn.ConnectionString="driver={sql server};server=data_server;uid=sa;pwd=;Database=student" conn.ConnectionTimeout = 50 conn.Open Dim str As String '连接连接对象 Set rs.ActiveConnection = conn '设置游标类型 rs.CursorType = adOpenDynamic If Trim(txtUserName.Text = "") Then MsgBox "用户名不能为空,请重新输入用户名~", vbOKOnly + vbExclamation, "警告" txtUserName.SetFocus Else '设置查询字符串 str = "select * from login_user where name ='" & Trim(txtUserName.Text) & "'" rs.Open str If rs.EOF = True Then MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, " 警告" txtUserName.SetFocus Else '登录成功,连接主窗口 If (Trim(txtPassword.Text) = Trim(rs.Fields("password"))) Then LoginSucceeded = True Me.Hide main.Show Else MsgBox "密码不正确,请重输入密码!", , "警告" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End If End If End Sub 无源数据库连接则不用配置ODBC环境,可以省去手工设置DSN的麻烦,这种方法所编写的软件适应性广,又符合专业软件的要求。 DO封装并且实现了Microsoft强大的数据访问接口OLE DB的所有功能,它具有通用性好,效率高的特点。通过ADO进行无源数据库连接,省去手工设置DSN的麻烦,使ADO对象模型获得更大的灵活性. ,(界面设置 确定 应用程序的功能后,从最基本的界面布局设置,这一步的关键就是熟悉VB控件的基本功能,包括常用控件和其它需要从部件里面添加的控件.界面设置要合理,美观为好. ,(代码编辑 VB 采用的是事件驱动方式,可以直接选择控件的事件和属性,在编写代码的时候会自动给予提示,这样当对一个事件进行代码编辑的时候如果没有给予格式提醒,这个时候要考虑是不是出错了,如果没有这种功能,这种错误只能到代码编译运行的时候才会发现,那个时候会浪费很多时间来修改错误代码. ,(模块建立 模块一般是放全局公用的函数、过程、常数、自定义结构、全局变量等等东西的地方,也就是公用部分的集中场所。当然,模块中也可以定义private 的函数或者过程以便公用过程的内部调用。类模块是定义一个类,类模块中的所有public成员必须在创建了累的实例以后才能够调用,需要和标准模块区分开来。好的编程习惯是把不同种类的功用模块分类放在不同的标准模块中,便于查阅,所以很多程序中会有多个标准模块存在. 类模块和标准模块的不同点在于存储数据方法的不同。标准模块的数据只有一个备份。这意味着标准模块中一个公共变量的值改变以后,在后面的程序中再读取该变量时,它将得到同一个值。 而类模块的数据,是相对于类实例(也就是,由类创建的每一对象)而独立存在的。 同样的,标准模块中的数据在程序作用域内存在,也就是说,它存在于程序的存活期中;而类实例中的数据只存在于对象的存活期,它随对象的创建而创建,随对象的撤消而消失。 最后,当变量在标准模块中声明为 Public 时,则它在工程中任何地方都是可见的;而类模块中的 Public 变量,只有当对象变量含有对某一类实例的引用时才能访问 ,(运行调试 1(运行程序 运行程序,可用下列方法之一: (1)选择主窗口的“运行"菜单的“启动”命令。 (2)按快捷键F5。 (3)选择工具栏上的启动按钮。 在程序运行过程中,标题栏显示: 工程1-Microsoft Visual Basic[运行] 表示进入运行状态。 2(暂停运行 若程序有错误,可用以下任一种方式进入中断状态,对程序进行调试: (1)选择“运行"菜单的“中断"命令。 (2)按Ctrl+Break键。 (3)选择工具栏上的中断图标。 进人中断状态,标题栏显示: 工程1-Microsoft Visual Basic[break] 若要继续运行,可直接按F5键,或选取“运行”菜单的“继续"命令。若要 重新运行,按 Shift+F5键或选择“运行”菜单的“重新启动”命令。 3(结束程序运行 结束程序运行返回设计状态的方法为: (1)选择“运行”菜单的“结束"命令。 (2)选择工具栏上的结束图标。 (3)按程序的结束按钮或程序窗口的关闭按钮 4.详细设计 4.1程序单元设计 ,( 登陆窗口设计:登陆系统窗口界面要简单为好,需要两个标签框用来标明用户名和密码,两个文本框用来输入用户名和密码,还有两个命令按扭用来实现登入和取消命令: 根据需要添加ACTIVE XActiveX控件数据输入和函数功能执行都必须通过容器,因此ActiveX控件和容器都必须支持一些特定的接口 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 。根据Microsoft 相应的规格标准,ActiveX控件应具备如下的性能机制。 属性和方法:ActiveX控件必须提供属性的名称、方法的名称及参数,通过这项机制容器可以存取和改变ActiveX控件的属性参数。 事件:ActiveX控件由这项机制通知容器在ActiveX控件中发生的事件,比如属性参数的改变,用户按下鼠标左键等。 存储:容器由这项机制通知ActiveX控件存储和提取有关信息数据等。 ActiveX控件只要在Windows的Registry数据库中注册后,就可以像其他Windows应用程序一样发挥各自的功能。 ActiveX控件是一个模块化的灵活对象,如果某个应用程序或网页需要增加一项特殊的功能,无须重写整个程序,只要灵活地插入一个具有此项功能的ActiveX控件即可实现。ActiveX的优势还在于它的动态可交互性,用户可以动态地在使用过程中,通过改变它的属性和参数,在应用程序中实现自己的特殊要求。 也许有的读者会问:目前在市面上可以找到各种各样现成的ActiveX控件,还有没有必要自己创建ActiveX控件呢,关于这个问题很容易解释,现有的控件种类是很多,功能也比较齐全,问题是有许多时候会遇到这种情况:使用现成的控件虽能完成任务,但自己需要的一些特性(属性、事件或方法)该控件却没有提供,还需要自己手工写代码来实现,而这些特 性偏偏在自己的应用系统中又经常会用到,为了避免大量的重复劳动,一劳永逸的办法就是在创建自己的ActiveX控件。 目前可以使用Visual Basic或其它开发工具创建 ActiveX控件。无论按照哪种标准,Visual Basic都是计算机历史上最为成功的(同时也是最流行的)编程语言,其中最令人兴奋的特性就是可以创建用户自己的控件并可以像其他控件一样应用于支持 ActiveX控件技术的应用程序中。下面通过一个具体实例来阐述如何在Visual Basic 6.0(中文企业版)下进行 ActiveX控件创建。 设计完成效果图 ,(主界面设计 4.2.程序单元编码 ,(登陆窗口代码: rivate Sub cmdOK_Click() '检查正确的密码 With frmMain.Data8.Recordset .MoveFirst For i = 1 To .RecordCount If Combo1.Text = .Fields("用户名称") And txtPassword = .Fields("用户密码") Then LoginSucceeded = True UserName = .Fields("用户名称") UserPass = .Fields("权限") Exit For End If .MoveNext Next i If LoginSucceeded Then '将代码放在这里传递 '成功到 calling 函数 '设置全局变量时最容易的 Unload Me Else MsgBox "无效的密码,请重试!", , "登录" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End With End Sub Private Sub Form_Load() On Error Resume Next With frmMain.Data8.Recordset .MoveFirst For i = 1 To .RecordCount Combo1.AddItem .Fields("用户名称") Combo1.ItemData(Combo1.NewIndex) = .AbsolutePosition .MoveNext Next i End With ,(管理员模块代码 Dim aa As Long Private Sub Combo1_Click() Command4.Enabled = True End Sub Private Sub Command1_Click() '添加用户 On Error Resume Next If Command1.Caption = "添加用户" Then ListView1.Visible = False Frame1.Visible = True Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Combo1.Text = Combo1.List(0) Command2.Enabled = False Command3.Enabled = False Command4.Enabled = True Command1.Caption = "放弃添加" Else ListView1.Visible = True Frame1.Visible = False Command2.Enabled = True Command3.Enabled = True Command4.Enabled = False Command1.Caption = "添加用户" End If End Sub Private Sub Command2_Click() '编辑用户 On Error Resume Next With frmMain.Data8.Recordset Text1.Text = .Fields("用户名称") Select Case .Fields("权限") Case "A" Combo1.Text = Combo1.List(0) Text2.PasswordChar = "" Text3.PasswordChar = "" Text4.PasswordChar = "" Text2.Text = .Fields("用户密码") Text3.Text = .Fields("用户密码") Text4.Text = .Fields("用户密码") Case "B" Combo1.Text = Combo1.List(1) Text2.PasswordChar = "" Text3.PasswordChar = "" Text4.PasswordChar = "" Text2.Text = .Fields("用户密码") Text3.Text = .Fields("用户密码") Text4.Text = .Fields("用户密码") Case "C" Combo1.Text = Combo1.List(2) Text2.PasswordChar = "" Text3.PasswordChar = "" Text4.PasswordChar = "" Text2.Text = .Fields("用户密码") Text3.Text = .Fields("用户密码") Text4.Text = .Fields("用户密码") Case "D" Text2.PasswordChar = "*" Text3.PasswordChar = "*" Text4.PasswordChar = "*" Text2.Text = "" Text3.Text = "" Text4.Text = "" Combo1.Text = Combo1.List(3) End Select End With If Command2.Caption = "修改用户" Then ListView1.Visible = False Frame1.Visible = True Command1.Enabled = False Command3.Enabled = False Command4.Enabled = False Command2.Caption = "放弃修改" Else ListView1.Visible = True Frame1.Visible = False Command1.Enabled = True Command3.Enabled = True Command4.Enabled = False Command2.Caption = "修改用户" End If End Sub Private Sub Command3_Click() '删除用户 On Error Resume Next With frmMain.Data8.Recordset If MsgBox("确实要删除用户:" & .Fields("用户名称") & " 吗?", vbYesNo + vbQuestion) = vbYes Then If Err <> 0 Then Exit Sub If .Fields("权限") = "D" Then mm = InputBox("请输入密码:") If mm = .Fields("用户密码") And .Fields("用户名称") <> UserName Then .Delete ListView1.ListItems.Clear Form_Load Else MsgBox "不能删除用户~", vbCritical End If Else .Delete ListView1.ListItems.Clear Form_Load End If End If End With End Sub Private Sub Command4_Click() '保存设置 On Error Resume Next If Trim(Text1.Text) = "" Then MsgBox "用户名错误~", vbCritical Text1.SetFocus Exit Sub End If With frmMain.Data8.Recordset If Text3.Text <> Text4.Text Then MsgBox "前后密码设置不一至,请重新输入~", vbCritical Text3.Text = "" Text4.Text = "" Text3.SetFocus Exit Sub End If aa = .AbsolutePosition .MoveFirst For i = 1 To .RecordCount If .Fields("用户名称") = Text1.Text Then If .AbsolutePosition <> aa Then MsgBox "用户名已经存在了,请你再换一个~", vbExclamation .MoveFirst .Move aa Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Exit Sub End If End If .MoveNext Next i .MoveFirst .Move aa If Command1.Caption = "放弃添加" Then .AddNew Else If Text2.Text <> .Fields("用户密码") Then MsgBox "密码错误,请重新输入~", vbCritical Text2.Text = "" Text3.Text = "" Text4.Text = "" Text2.SetFocus Exit Sub End If .Edit End If .Fields("用户名称") = Text1.Text .Fields("用户密码") = Text3.Text .Fields("权限") = Left(Combo1.Text, 1) .Update End With If Err <> 0 Then MsgBox Error: Exit Sub ListView1.Visible = True Frame1.Visible = False Command1.Enabled = True Command2.Enabled = True Command3.Enabled = True Command4.Enabled = False Command1.Caption = "添加用户" Command2.Caption = "修改用户" ListView1.ListItems.Clear Form_Load End Sub Private Sub Command5_Click() Unload Me End Sub Private Sub Form_Load() On Error Resume Next With frmMain.Data8.Recordset aa = .AbsolutePosition .MoveFirst For i = 1 To .RecordCount ListView1.ListItems.Add i, , .Fields("用户名称") ' ListView1.ListItems(i).SubItems(1) = .Fields("用户密码") ListView1.ListItems(i).SubItems(1) = "********" Select Case .Fields("权限") Case "A" ListView1.ListItems(i).SubItems(2) = "A—记费员" Case "B" ListView1.ListItems(i).SubItems(2) = "B—操作员" Case "C" ListView1.ListItems(i).SubItems(2) = "C—管理员" Case "D" ListView1.ListItems(i).SubItems(2) = "D—超级管理员" End Select .MoveNext Next i .MoveFirst .Move aa End With End Sub Private Sub Form_Resize() On Error Resume Next ListView1.Move 30, 10, Me.Width - 150, Me.Height - 1200 Picture1.Top = ListView1.Top + ListView1.Height + 100 Picture1.Left = (Me.Width - Picture1.Width) / 2 End Sub Private Sub Label5_Click() End Sub Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) ' On Error Resume Next With frmMain.Data8.Recordset .MoveFirst .Move Item.Index - 1 End With End Sub Private Sub Text1_Change() Command4.Enabled = True End Sub Private Sub Text2_Change() Command4.Enabled = True End Sub Private Sub Text3_Change() Command4.Enabled = True End Sub Private Sub Text4_Change() Command4.Enabled = True End Sub 4.3集成开发 窗体与代码都设置完毕,就可以运行调试了,当然有共同点的窗体可以借用 模块来设计(这里设置两个模块来节省代码执行时间,并不会影响到系统本 身的功能: 打开,, 程序菜单下的 工具?模块,打开创建模块窗体,名字为,,, ,,,,,可以使用默认的名称( 模块其实也就是代码窗体,只不过这个窗体是功用的,涉及其它窗体的功能, 这样在出现错误的时候代码改写很方便( 模块代码: Public UserName As String Public UserPass As String Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long 'Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long Type Lwinsock Ip As String Index As Long JSJ As Long End Type Public IndexSock() As Lwinsock Type lChatUser Name As String Sex As String Used As Boolean End Type Public IChatUser() As lChatUser Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Declare Function BringWindowToTop Lib "user32" (ByVal hWnd As Long) As Long Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long Declare Function SystemParametersInfoByRef Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long Public IsupperMsg As Integer Public Const LB_SETHORIZONTALEXTENT = &H194 Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long Function EnumWindowsProc(ByVal hWnd As Long, ByVal lParam As Long) As Boolean Dim s As String s = String(80, 0) Call GetWindowText(hWnd, s, 80) s = Left(s, InStr(s, Chr(0)) - 1) If Len(s) > 0 Then If InStr(1, s, "网吧记费器——用户:") Then BringWindowToTop hWnd End If End If EnumWindowsProc = True End Function Function GetWeek(setDate As Date) As String ww = Weekday(setDate, vbSunday) Select Case ww Case 1 GetWeek = "星期日" Case 2 GetWeek = "星期一" Case 3 GetWeek = "星期二" Case 4 GetWeek = "星期三" Case 5 GetWeek = "星期四" Case 6 GetWeek = "星期五" Case 7 GetWeek = "星期六" End Select End Function 5.系统实现 系统模块一 计算机设置 管理员设置 系统设置 统模块二 开始记费 系统模块三 系统模块四 系统模块五 ,(结论展望 数据库选择方面: Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。 access数据库有一定的极限,如果数据达到100M左右,很容易 造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。 SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。 参考文献 VB控件大全-------------------------------------------------水利水电出版社 VB实际应用案例分析与--------------------------------邮电大学出版社 大学毕业生论文指导------------------------------------- 李芳编写 网吧建设指南------------------------------------------------机械工业出版社 Sql2000数据库----------------------------------------------清华大学出版社
本文档为【毕业设计《网吧收费系统》】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:234KB
软件:Word
页数:32
分类:
上传时间:2017-10-13
浏览量:24