社区
PowerBuilder
帖子详情
抽奖小程序的死循环问题
cwchen21st
2006-01-24 08:33:25
我想用pb编个随机抽奖的小程序,类似于电视上抽取手机号码,显示的号码要不断跳跃,按下某个键时停止。可我不知道怎么实现让数据跳跃显示,老是要死循环,请教如何解决(要读取的数据存在数据库中或文本文档中都不是问题,只要让它跳跃显示时不死循环就可以了)
...全文
271
7
打赏
收藏
抽奖小程序的死循环问题
我想用pb编个随机抽奖的小程序,类似于电视上抽取手机号码,显示的号码要不断跳跃,按下某个键时停止。可我不知道怎么实现让数据跳跃显示,老是要死循环,请教如何解决(要读取的数据存在数据库中或文本文档中都不是问题,只要让它跳跃显示时不死循环就可以了)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jzhaohua
2006-01-26
打赏
举报
回复
死循环是代码有问题
用 Yield 释放消息队列
可以用实例变量控制结束,点结束按钮时候该变量设置为 false
循环是发现该变量为 false 则结束循环
老板卤两个蛋蛋
2006-01-26
打赏
举报
回复
竣工算发有问题吧
qxl12343
2006-01-24
打赏
举报
回复
方法有很多种。
一个窗体W,按钮B1,按钮B2
W搞一个实体变量:boolean lb_stop = true
B1的代码:
lb_stop = False
Do While True
if lb_stop then Exit
//显示号码
Yield()
Loop
B2的代码:lb_stop = true
小辉
2006-01-24
打赏
举报
回复
没有用过pb
我觉得这种问题 用什么语言都是差不多吧
我是这么想的
下面用vb表示出来
你大概看一下吧
'第一: 声明一个全局变量
dim whileFlag as boolean
'第二:开始循环按钮的单击事件
Private Sub cmdStart_Click()
whileFlag = True
Do While whileFlag = True
'随即抽取一个手机号 并且显示出来
'停顿一个你需要的时间
'
Loop
End Sub
'第三:结束循环按钮的单击事件
Private Sub cmdEnd_click()
'标示位改变
whileFlag = false
End Sub
rightyeah
2006-01-24
打赏
举报
回复
顶一下,支持qxl(教育改变生活,知识创造财富) lzheng2001(1加1)bbdx2523(08车001号)三位的见解,说白了就是加入一个消息处理的函数的入口而已。具体的内容,楼主应该研究一下windows的消息机制,就可以明白了
bbdx2523
2006-01-24
打赏
举报
回复
楼上的正解...
yield()函数的功能:
将控制转移给其他图形对象,包括非PB对象.该函数检测消息队列,如果有消息,就把消息取出.利用这个函数可以在执行耗时较长的操作时把控制权转让给其他应用.
在正常情况下,PB应用程序在执行一段代码(比如函数或事件处理程序)的过程中不响应用户的操作.对耗时短暂的代码段来说,这种处理方式没有什么不妥,但是,如果某个代码侧面的执行耗时较长,应用程序又希望为用户提供更多的控制权,那么需要在这段代码中插入yield()函数,让用户能够进行其他操作,特别在循环执行的代码中更应该如此.
应用程序执行yield()函数后,如果发现消息队列中存在消息,它将允许对象处理这些消息,处理之后,继续yield()函数后面代码的执行.因此,代码中插入yield()函数将降低应用程序的运行效率.
这样的小程序,对效率没什么大的要求,影响可以忽略...
lzheng2001
2006-01-24
打赏
举报
回复
在循环中加yield()语句就不会死循环了.
Excel
抽奖
程序(春节
抽奖
)
这是一个共享软件,除了可以在本站下载外,你还可以在http://dl.dbank.com/c0e431w4g9# 下载。其主要功能如下: 1、内置特等奖、一等奖~五等奖6个级别的奖项和1个自定义级别的奖项,
抽奖
顺序没有限制。 2、对于任意一等奖来说,可以一次抽取任意数量的奖项; 3、背景、解码用户可自行调整; 4、
抽奖
背景音乐用户可换; 5、可以在
抽奖
过程中显示中奖者的照片; 6、
抽奖
过程中可以显示用户所在的部门信息; 7、对于要求必须在场的
抽奖
,当中奖人不在场时可以做弃权处理; 8、
抽奖
结果立即存入Excel“
抽奖
结果”工作表中。 使用说明及注意事项 1、
抽奖
前请在Excel“工具”-“宏”-“安全性”中将宏的安全级别设置为低,然后关闭Excel重新打开,否则无法运行
抽奖
程序。 2、本程序支持六个固定级别的奖项设置和一个自定义的奖项设置。 3、
抽奖
顺序有两种,即先小奖后大奖或相反。这个设置仅用于初始化《
抽奖
》工作表中的奖项设置,
抽奖
过程中需手动在《
抽奖
》工作表中切 换
抽奖
级别。 4、本程序支持两种
抽奖
方法:每次抽取一组中的全部名额,或每次抽取指定的若干名额。但是推荐一次抽取1个,因为大余一个时只能显示最 后一名中奖者的照片,且显示众多中奖者的名字时布局不是很美观。 5、单项最多可设 5000 名中奖者,中奖者总数不能多于候选人数,否则在抽取最后一人时会出现
死循环
。 6、请在《候选名单》工作表中录入所有候选项。候选人仅受Excel行数限制,输入时请连续纵向输入,不留空行。 7、在《
抽奖
》工作表中点击“弃权”按钮时该组中奖的所有的人将被自动剔除,后面的
抽奖
中将不再参与
抽奖
。 8、当设置的奖项总数+弃权总数大于等于
抽奖
候选人总数时,程序将出现
死循环
。 9、
抽奖
一旦开始,请完成整个
抽奖
过程,不要中途退出程序或追加候选人名单。 10、本程序不支持重复中奖,中奖的人不计入下一轮
抽奖
中。 关于《
抽奖
》工作表的界面设置的几点说明: 1、修改《
抽奖
》工作表的界面时需要先解锁工作表。具体方法:“工具”-“保护”-“解锁工作表”。修改完后最好锁定工作表。 2、
抽奖
时可隐藏Excel航标、列表。具体方法:“工具”-“选项”-“视图”-“行号列号”,取消勾选前面的复选框。 3、在调整《
抽奖
》工作表时,不可插入、删除行或列。 4、一般地,修改《
抽奖
》工作表布局可以通过调整第一行的行高或第一列的列宽来实现。如果你要对控件进行详细布局设计(例如改变控件大 小),你可以通过控件设计模式来实现。具体方法:“视图”-“工具栏”-“退出设计模式”。 这时,你可以随意拖动按钮或照片控件的位 置及大小。调整完成后必须退出设计模式(将“退出设计模式”前面的勾取消掉)。系统的默认位置为D2单元格。 5、为满足多人
抽奖
的需要,《
抽奖
》工作表中的D5:D65536(即D列中从第5行到65535行)用来显示中奖者姓名。该列采用了条件格式,用特殊 的格式来显示中奖者的姓名。如果你需要更改这个样式,可在编辑工具栏(显示fx的那个工具栏)最左边的“名称框”中选择“ResultDisplay” 或输入D5:D65536并回车,这时这些单元格会被自动选上,然后从工具栏中的“格式”-“条件格式”中修改。 6、《
抽奖
》工作表中的下拉列表根据设置自动生成,请不要更改其下拉列表的内容。 7、全屏显示。具体方法:“视图”-“全屏显示”。 8、更换背景。具体方法:“格式”-“工作表”-“背景”,选择你要的背景图片即可。 9、更换默认照片。具体方法:替换photo文件夹下面的“none.jpg”这个图片文件即可。 10、若要在
抽奖
过程中显示中奖者的照片,则需把
抽奖
人的照片放到photo文件夹下面,同时在《候选名单》工作表的C列给出照片名。 11、若要更改在
抽奖
过程中播放的声音,可以替换Music文件夹下面的start.wav、finish.wav文件。
Excel
抽奖
程序
这里只给大家提供一个部分免费(奖项数<=10时)的程序供参考。 其主要功能如下: 1、内置特等奖、一等奖~五等奖6个级别的奖项和1个自定义级别的奖项,
抽奖
顺序没有限制。 2、对于任意一等奖来说,可以一次抽取任意数量的奖项; 3、背景、界面用户可自行调整; 4、
抽奖
背景音乐用户可换; 5、可以在
抽奖
过程中显示中奖者的照片; 6、
抽奖
过程中可以显示用户所在的部门信息; 7、对于要求必须在场的
抽奖
,当中奖人不在场时可以做弃权处理; 8、
抽奖
结果立即存入Excel“
抽奖
结果”工作表中。 使用说明及注意事项 1、
抽奖
前请在Excel“工具”-“宏”-“安全性”中将宏的安全级别设置为低,然后关闭Excel重新打开,否则无法运行
抽奖
程序。 2、本程序支持六个固定级别的奖项设置和一个自定义的奖项设置。 3、
抽奖
顺序有两种,即先小奖后大奖或相反。这个设置仅用于初始化《
抽奖
》工作表中的奖项设置,
抽奖
过程中需手动在《
抽奖
》工作表中切换
抽奖
级别。 4、本程序支持两种
抽奖
方法:每次抽取一组中的全部名额,或每次抽取指定的若干名额。但是推荐一次抽取1个,因为大余一 个时只能显示最后一名中奖者的照片,且显示众多中奖者的名字时布局不是很美观。 5、单项最多可设 5000 名中奖者,中奖者总数不能多于参与人数,否则在抽取最后一人时会出现
死循环
。 6、请在《参与名单》工作表中录入所有参与
抽奖
的人员。参与人数仅受Excel行数限制,输入时请连续纵向输入,不留空行。 7、在《
抽奖
》工作表中点击“弃权”按钮时该组中奖的所有的人将被自动剔除,后面的
抽奖
中将不再参与
抽奖
。 8、当设置的奖项总数+弃权总数大于等于
抽奖
参与人总数时,程序将出现
死循环
。 9、
抽奖
一旦开始,请完成整个
抽奖
过程,不要中途退出程序或追加参与人名单。 10、本程序不支持重复中奖,中奖的人不计入下一轮
抽奖
中。
山东省第六届蓝桥杯C++B组题目
这是一份 第六届,蓝桥杯,C++B组,试题。挺好的
【Python练习】
抽奖
小程序
1.做个
抽奖
程序,可以输入一个人的名字和
抽奖
号,然后随机抽取存在的
抽奖
号,程序可以指定抽取次数,抽取后显示
抽奖
号和名字,全部抽取完成后输出
抽奖
的总结果算法:1 能够
死循环
读入不同的名字和
抽奖
号,使用字典保存,在输入done的时候退出
死循环
。2 输入
抽奖
的次数,保存到一个变量中。3 使用random.shuffle或者choice来随机
抽奖
抽奖
,使用for循环抽取设定的次数,4 使用新的字典变量保存...
数字滚动
抽奖
小程序
**# coding:utf-8** import tkinter import time import threading import random class Choujiang: #初始化魔术方法 def __init__(self): #准备好界面 self.root = tkinter.Tk() self.root.title('...
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章