VB开发彩票销售系统-论文摘要随着彩票热在中国大地上的日益高涨,彩票销售管理也显得越来越重要,随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟,因而利用VB来设计一套彩票销售管理系统不但是必要的,而且在技术上是完全可行的。本文介绍了在VisualBasic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发彩票管理信息系统的过程。通过围绕彩票销售管理的销售、开奖、查询等过程详细描述了使用计算机来处理的全过程。本系统虽然界面一般,但操作简单,且简单实用。【关键词】管理信息系统、彩票销售、VisualBasic目录1.系统概述1.1可行性分析1.2系统设计的背景1.3系统的功能简介1.3.1项目规划1.3.2销售1.3.3开奖1.3.4查询1.3.5设置1.3.6退出1.4系统开发的目标2.系统分析2.1业务流程分析2.2数据流程分析2.3数据存储分析:实体联系图2.4功能分析:功能层次图3.系统设计3.1软件模块结构设计3.1.1系统方案确定3.1.2软件结构设计3.2数据库设计4.系统的详细设计4.1系统主界面4.2销售模块4.3开奖模块4.4中奖查询4.5设置4.6彩票打印5、系统实现5.1系统开发环境5.2系统测试5.3系统运行与维护5.4系统的转换方案6、结束语参考文献1.系统概述:本彩票销售管理系统可以说是一个综合性的管理系统,这它集成了彩票销售、开奖、查询、设置等多种实用的功能,因而具有较强的实用性。1.1可行性分析由于本系统管理的对象单一,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。对机器要求的配置较低,一般的电脑在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Windows98中文版操作系统环境下,使用VisualBasic6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:VisualBasic语言VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,VisualBasic具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compounddocument),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。动态链接库(DLL)VisualBasic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VisualBasic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。1.2系统设计的背景考虑到彩票发行网点的建设要尽量减少成本,所以要开发一种操作简单、功能较齐全且对机器配置要求不高的软件系统。1.3系统的功能简介本系统主要可以实现以下的管理功能:销售、开奖、查询、设置等等。1.3.1项目规划本信息管理系统是一个典型的数据库应用程序,特规划如下:1.3.2销售系统的销售分两种方式,一种是自选,一种是机选,完全与实际中的操作一样,但每次最多只能操作五注,并直接与打印机进行关联操作,可将自己的选择结果通过打印机输出,当一个客户销售完毕,轮到一下客户时,只需点击复位键,就会清除刚才的选择结果,从而提高了工作效率。1.3.3开奖:该模块是根据数学规律对所有已经卖出的彩票的结果进行抽奖,并及时显示出抽奖结果(即号码)1.3.4查询:为了帮助彩票购买者及时查询自己所购的彩票是否中奖,特设置了此模块,在此处我们首先可以选择已经售出彩票的期数,则系统自动显示出此期的中奖结果,以及彩票的销售量,共有六个层次的奖项,即特等奖、一、二、三、四、五等奖,并可以输入某一注彩票的号码进行即时查询。1.3.5设置:此模块是本彩票系统的最基础的功能模块,我们在此处设置彩票的期数、开奖日期、兑奖日期等基本的参数。1.3.6退出:退出本系统操作。1.4系统开发的目标出于本系统是彩票销售管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。2.系统分析2.1业务流程分析彩票销售管理业务流程图:2.2数据流程分析:彩票销售管理系统数据流程图购买人员输入计算机工作人员经理注数号码输出客户客户人员彩票销售管理系统彩票站注数号码查询统计2.3数据存储分析:实体联系图首先来做出彩票销售管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,客户、彩票、销售站组成了这个系统的三个实体。这个E-R图可画成下图。彩票销售管理系统中E-R图2.4功能分析:功能层次图客户销售站结果彩票mn彩票销售管理系统销售开奖查询设置退出机选号码打印彩票取消复位取消复位3.系统设计3.1软件模块结构设计3.1.1系统方案确定。通过对系统的调研与分析,系统主要应完成的功能如系统功能流程图所示的功能。3.1.2软件结构设计。本系统在执行时,先根据不同的客户的号码需要来进行相应的操作,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。3.2数据库设计数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使自动编号长整型接受数据处理中心注数号码开奖结果用。由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库彩票序号购买日期日期/时间每期信息表:字段名称类型宽度小数位期号文本7中奖号码文本7开奖日期日期/时间兑奖截止日期日期/时间4、系统的实现:本部分主要内容为本系统的运行界面以及主要界面的源代码。4.1系统主界面:本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有五个命令按钮,从而实现了本系统从销售、开奖、查询、设置、退出等系统的具体功能。代码如下:PrivateSubCmdExitPreset_Click()frameSale.Visible=FalseframeWinner.Visible=FalseframeQuery.Visible=FalseframePreset.Visible=FalsecmdSale.Enabled=TruecmdWinner.Enabled=TruecmdQuery.Enabled=TruecmdPreset.Enabled=TruecmdQuit.Enabled=TrueEndSubPrivateframeSale.Visible=FalseframeWinner.Visible=FalseframeQuery.Visible=FalseframePreset.Visible=FalsecmdSale.Enabled=TruecmdWinner.Enabled=TruecmdQuery.Enabled=TruecmdPreset.Enabled=TruecmdQuit.Enabled=TrueEndSubPrivateSubcmdGenerateRand_Click()'本子程序产生指定个数的随机彩票号码Dimtemp_noAsString,MyCounterAsIntegerDimiAsInteger,jAsIntegerDimPicked_noAsIntegerDimnotexit_flgMyCounter=0j=0'外循环控制生成的随机彩票注数DoWhileMyCounterrand_sumi=1rs.OpenscmdPreset.Enabled=TruecmdQuit.Enabled=TrueCmdReset_ClickEndSubPrivateSubCmdReset_Click()DimiAsIntegerDoWhilei=4rs.Openstrsql,cnnlblQuery3.Caption=rs(winno)rs.Closestrsql=selectcount(期号)*2.00assub_sumfrom彩票where期号='&DataComboQuery1.Text&'rs.Openstrsql,cnnlblQuery5.Caption=rs(sub_sum)rs.Closestrsql=Select投注号码asbetnofrom彩票where期号='&DataComboQuery1.Text&'rs.Openstrsql,cnnDoUntilrs.EOFwin_flag=FalseFori=7To2Step-1Forj=1To8-iStep1IfMid(lblQuery3.Caption,j,i)=Mid(rs(betno),j,i)Thenwin_flag=Truek(7-i)=k(7-i)+1ExitForEndIfNextjIfwin_flagThenExitForEndIfNextirs.MoveNextLooprs.Closecnn.CloseFori=0To5lblQuery7(i)=k(i)NextiElselblQuery3.Caption=lblQuery5.Caption=0EndIfEndSubPrivateSubForm_Load()lblTimer.Caption=Now()EndSubPrivateSubrand_sum_Change()DimMyCounter,Picked_noAsIntegerMyCounter=0Picked_no=0DoWhileMyCounter=4IfLen(Trim((txt_no(MyCounter))))0ThenPicked_no=Picked_no+1EndIfMyCounter=MyCounter+1LoopIfrand_sum.Text5-Picked_noThenrand_sum.Text=5-Picked_noElseIfrand_sum.Text=0Thenrand_sum.Text=0EndIfEndSubPrivateSubTimer1_Timer()lblTimer.Caption=Now()EndSubPrivateSubtxt_no_LostFocus(IndexAsI