VB编写抽签软件
作者:张桐 兰清昭
来源:《电脑知识与技术》2016年第23
        摘要:应用VB6.0编写抽签应用软件,实现了利用计算机代替人工完成抽签过程的目的,大大减轻了在样本容量较大时人工抽签的负担,保证了抽签的公平性。软件手动抽签与自动抽签兼可,具备导出抽签记录,在不改动抽签源文件的情况下临时更改抽签名单的功能。
        关键词:VB6.0;抽签软件;自动化
        中图分类号:TP311 文献标识码:A 文章编号:1009-3044201623-0077-02
        Abstract Using VB6.0 to write the draw software realizing using computer to replace artificial work to complete the purpose of the draw process greatly reducing the burden of artificial draw when sample size is bigger to ensure the fairness of the draw. Software supports manual and automatic draw at the same time it has the function of saving draw record temporarily changing draw list without changes the source files.
        Key words Visual Basic 6.0 draw software automation
        1 软件编写目的
        在日常生活中我们常常需要用抽签来解决实际问题,比如在大学课堂,老师可以用随机抽签的方式来查看学生的出勤情况;在文艺晚会上,主持人可以用抽签的方式对观众进行奖品发送。而传统的人工抽签使得人力在处理大的样本容量时显得力不从心,由此,本软件以公平、公正、简洁、高效为编写原则,希望解决这一难题。
        2 程序运行流程及实现代码
        1)启动软件时,软件主界面只提供一个获得焦点的可操作按钮选择文件,如图1所示,单击其可引导用户利用弹出的对话框选择文本格式(*.txt)的抽签名单文件。
        2)按提示选择抽签名单文本文件后会自动弹出如图2所示的对话框,让用户查看抽签名单是否正确,正确则点击确定抽签数据按钮就可返回至抽签软件主界面;如需对名单进行修改,则可点击编辑抽签数据按钮出现如图3所示的对话框,在该对话框中可完成在不改变抽签数据源文件的情况下临时修改抽签名单的需求;如果发现所选名单错误,则可在点击
按钮后进入抽签主界面时重新选择抽签文件。
        vb开始按钮代码
        2 参与抽签名单确认与修改 3 临时修改抽签名单
        选择抽签名单文件的实现:
        使用可返回文件地址和文件名的通用对话框控件进行文件筛选并导入抽签数据,对话框控件的过滤器设置为:【"文本文档(*.txt"|*.txt|"所有文件(*.*"|*.*】;为了避免用户的错误操作,通过设置按钮的Enabled属性,在不同条件下控制用户的操作行为。同时,在用户临时编辑抽签名单时,为了帮助用户理解操作界面上各按钮的功能,设置了该操作界面删除增加按钮的ToolTipText属性,如图3所示是鼠标指针指向编辑抽签数据对话框中的删除按钮时,其ToolTipText值为【从抽签名单编辑框中删除项目】;将增加按钮的ToolTipText属性值设置为【向抽签名单编辑框中添加项目】。在增加按钮操作中,使用InputBox函数引导用户临时增加抽签条目,设置其为【info = InputBox"请输入需要增加的项目" "增加" "")】;在删除按钮的功能中,提供了多项选择并删除的功能,利用【For … next】循环语句批量删除所选项,利用MsgBox函数提醒用户的错误操作。
        3)程序运行时提供了两种操作模式和两种抽签模式,分别为手动抽签自动抽签重复抽签条件抽签
        软件默认为手动、重复抽签模式,即确定抽签名单后,单击开始抽签,待抽签名单循环一周后,原按钮自动转变为停止抽签按钮并激活,以此模式进行抽签,每一次的抽签名单都不变,且都与确认抽签名单一致。
        主界面上开始抽签按钮的单击事件过程代码设计思想如下:
        利用条件语句【If … Then … Else】,设置按钮功能替换【Timer1.Enabled = Not Timer1.Enabled】;【If Command2.Caption = "开始抽签" Then Command2.Caption = "停止抽签"】;记录抽签次数【Text1.Text = "" & z + 1 & "次抽签结果为" & vbCrLf & Text2.Text & vbCrLf & Text1.Text】;【z = z + 1】;利用计时器Timer1进行文本框Text2框内的名单替换和记录名单循环次数。
        在手动、重复抽签模式的基础上增设了自动、条件抽签模式,当然,两种操作模式和抽签模式是可以随意搭配的,通过选择抽签模式按钮即可激活对应的抽签模式。右键单击开始
抽签按钮即可激活自动抽签功能。设置此功能的初衷是为了解决大批量抽签时,人工操作的难题。同时,条件抽签可在特定场合下使用,比如在有奖抽签环节,获奖者便不能进入下一轮的抽签名单,于是在条件抽签模式下,系统会自动将上一轮的获奖者名单删去。
        自动、条件筛选抽签模式实现思想如下:
        如果要切换回重复筛选模式,则在系统判断选择模式为重复筛选模式后,将确认的抽签名单重新载入抽签列表框即可。
        自动抽签功能的实现,模仿了人工抽签的模式,即随机产生时间段,按下停止抽签按钮,得到抽签结果,再次按下开始抽签按钮,进行下一次抽签。当达到要求的次数b时告知用户抽签结束。所以,此功能应用了计时器控件Timer2和随机数命令【Randomize】,激活按钮单击事件过程——Command2_Click】,由MsgBox函数告知用户,代码如下:
        3 抽签软件开发意义
        本软件的成功编写对解决实际生活问题有极大意义。既可以满足用户对小样本容量手动抽签的需求,又可以节省用户体力,进行大样本容量的批量抽签。同时,在不改动源文件的
条件下还可临时增、删抽签名单,省去了用户对源文件数据的处理步骤。软件特有的条件抽签模式使本软件在实际生活中的适用场合更加广泛。抽签模式强制性要求循环一周后随机抽签,保证了人工抽签不能保证的公平性,同时,软件自动记录抽签结果,支持抽签结果的保存,加强了用户在使用过程中的便捷性。
        参考文献:
        [1] 王建忠. Visual Basic 程序设计[M]. 北京: 科学出版社, 2012.
        [2] 方波, 李亚男, 刘加加, . VBA在考试系统中的运用[J]. 电脑知识与技术, 20158):48-49.