天天加油 - 助您成才
用Visual Basic开发公园售票系统软件
您正在看的自动化论文是:用Visual Basic开发公园售票系统软件。

  一、前言

  当前的公园售票系统几乎全部都是人工售票,不仅消耗人力、效率低下,而且不利于统计、管理。往往在节假日来临时,形成人们排队等候买票的场面。使用计算机售票之后,大大提高了工作效率;同时也杜绝了因为伪造门票而造成的损失,减少了财务漏洞。使用本软件还能够快速、精确统计售票信息和实时查询票务及游客流量情况。

  由于公园门票的种类比较多,即有大门票、海洋馆、水下世界、鸟语林这类单种门票,也有这几种门票的相互组合,形成种类繁多的票种,另外还有领导授权票,招待票,儿童票和学生半价票等特殊票种,如果进行人工统计,工作量非常大,通过使用本软件后,可以随时查询并打印当前任何票种的售票量和人数,这样可以根据实际情况随时调整票价,利于管理。

  二、系统简介

  本软件主要由三部分组成:数据库部分、界面部分PLC控制部分。如图(一)所示。

  软件的最上层使用Visual Basic开发,数据库部分使用SQL Server数据库,PLC采用松下PLC,其中,Visual Basic与SQL Server之间采用ADO连接,Visual Basic与PLC通过串行通讯控件Mscomm.ocx进行通讯。

  1.数据库部分

  根据客户的反馈,公园的日客流量一般在每日5,000人左右,在节假日时人数在30,000人左右,为了以防万一,我们假设数据库的最大容量为100,000,经过分析比较各种数据库设计软件,决定数据库部分采用微软的SQL Server,既可以满足数据的需求,速度也不慢,并且微软可以提供给我们最好的支持。

  2.界面部分

  界面部分使用Visual Basic进行编程,Visual Basic是当今最为流行的编程软件之一,使用简单,是初学者的最佳选择;而且使用Visual Basic开发软件周期短,能在短时期内制作出功能强大、使用方便的软件。同时,选择Visual Basic和SQL Server是大多数程序员开发客户/服务器软件时的选择。

  3.PLC部分

  这是一种目前非常主流的控制方法,由PLC作为控制单元,控制的对象为检票机的各种动作,如票的传动机构、开关门、步进电机打孔、判断是否为儿童等。控制程序的编写采用梯形图的编写软件。

  上位机和PLC的通讯程序采用Visual Basic编写,由一台计算机同时控制2—10台检票机,通讯协议采用RS485,由于所选PLC只能支持被动的通讯方式,所以在本系统中使用由计算机轮巡的操作方式。

  三、软件实现

  Visual Basic是当前最流行的开发软件之一,它界面友好,使用简单,易于学习,开发周期短,在不设计底层开发的情况下,完全可以开发出功能强大的软件。同时,Visual Basic提供了丰富的API函数,可以弥补它的不足之处。根据客户的需求,我们将售票系统分为四大部分:售普通票窗口,售特殊票窗口,出纳端和管理端。其中,售普通票端只能出售像大门这些单种门票及各种门票的组合票;售特殊票端不仅可以售普通票,还可以售儿童票、学生票、领导授权票(价格由领导决定)和招待票(用于招待某些人或军人、残疾人等)等特殊票种;出纳端是用于当每日结束时,各个售票窗口的售票员将当日所卖的钱交到出纳端,出纳端可以查询单个售票员的售票数和应交的金额数,确认收款后,打印收款单据;管理端的权限最大,可以用来设定票价,增加票种,分配领导授权票和领导票,打印日统计、月统计、年统计的报表。下面分别给予介绍

  1.售普通票端

  普通票的种类可以由管理端来添加和删除,程序启动时,首先显示登录界面,通过建立一个ADO对象连接到服务器上,从服务器传递过来普通售票员的记录,添加到ComboBox控件中,为了加快速度,一次将所有普通售票员的编号、姓名和密码全部读取到客户机上,讲这些信息保存到临时数组中,当选择不同的售票员时,从数组中提取出相应的密码,这样就不用每一次都从服务器端传递数据,有利于节省时间和提高运行速度。

  进入主售票界面后,首先在Form_Load事件中选择所有的普通票票种,跟登录界面一样,一次性将所有的普通票的票种、票价、票的属性及类型都保存到临时数组中。选择不同的票种,从相应的数组中提取出相应的票价和票的属性,显示到右边的界面上。这时执行写卡指令,让写卡器处于写卡状态,然后售票员就可以开始刷卡售票了,刷完后,自动显示已经刷了几张卡、应付金额数;输入收款金额后,自动显示应找回的金额数,最后确认卖票,完成一次售票工作。当售票员完成一日的售票工作后,可以进行当日售票的查询,查询方式根据客户的需求,我们设置了位置查询和票种查询两种查询方式。其中,因为售票员的售票位置是不确定的,因此位置查询用于查询售票员在某个地方的售票数;而票种查询则是根据不同的票种来查询售票员的售票情况。同时,我们使用HTMLHELP制作了CHM帮助文件,当售票员有什么地方不会使用时,可以随时使用帮助。

  2.出纳端

  出纳端的目的是用来收取售票员的交款。首先也需要输入正确的密码才能成功登录,只是这次从服务器端返回的是出纳员的记录,登录后,出纳员可以选择两种方式来查询:查询售票员的售票情况和查询售票员的交款情况。第一种是用来当售票员来交款时,出纳员需要查询该售票员需要交多少钱,总共卖了多少票,输入该售票员的交款数额后,确认并打印收款凭证。第二种情况适当所有的售票员(或其中一部分)交款完毕后,打印出所有售票员的交款情况。

  3.管理端

  管理端的情况就比较复杂了,管理端不仅可以设置票价、添加票种、增删售票员之外,还可以查询当日、当月的售票记录,并可以生成报表打印。在软件制作的过程中,管理端花费的时间也是最多的。

  四、编程过程中的问题及解决方法

  1.连接数据库

  在连接数据库的各种方法中,使用ADO是最常见的一种,一般都使用ADO控件进行数据库的连接,但是使用控件需要花费的资源比较多,因此,我们在程序中都采用代码的形式进行连接数据库。示例代码如下:

  Public cn As ADODB.Connection

  Public adoRS As ADODB.Recordset

  Set cn = New ADODB.Connection

  Set adoRS = New ADODB.Recordset

  cn.ConnectionString = "driver={SQL Server};server=cjy;uid=sa;pwd=;database=DLHTLY"

  cn.Open

  'adors.'指示编辑过程中对记录使用的锁定类型。

  adoRS.LockType = adLockOptimistic

  '指示在 Recordset 对象中使用的游标类型,使运行速度最快

  • 上一篇论文:
  • 下一篇论文: 没有了
  • 热门文章
  • 最近更新
  • 推荐阅读
  • 自动化论文《用Visual Basic开发公园售票系统软件》用Visual Basic开发公园售票系统软件