Delphi版本的数字摇号器 怎么写?各位,你们听我的思路对不?
如图所示呵,我先说下思路,各位看对不对啊~~
4个数字标签,对应4个数字时钟控件,用于产生随便数
当单击【开始摇号】后,计时器初始化赋值 ,开始运作 ,去改变label的值
倒计时 没搞过,随便搜索来个结果:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
end; procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=intTostr(strToint(Label1.Caption)-1);
if strToint(Label1.Caption) = 0 then
begin
Timer1.Enabled:= false;
end;
end;
易语言简单点。。。
.版本 2
.子程序 _按钮1_被单击
标签1.标题 = 到文本 (取随机数 (0, 9))
标签2.标题 = 到文本 (取随机数 (0, 9))
标签3.标题 = 到文本 (取随机数 (0, 9))
标签4.标题 = 到文本 (取随机数 (0, 9))
感觉一个定时器就可以了,没必要弄4个
做好了,还可以吧。 本帖最后由 xuanle6 于 2017-9-12 08:54 编辑
procedure TfrmMain.FormCreate(Sender: TObject);
begin
Randomize;//初始化随机种子
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Timer1.Enabled :=false;
end;
procedure TfrmMain.Timer1Timer(Sender: TObject);
begin
Timer1.Tag:=Timer1.Tag-1;
if Timer1.Tag<=0 then Timer1.Enabled :=false;
lbTime.Caption:=IntToStr(Timer1.Tag); //倒计时
Label1.Caption:=IntToStr(Random(10)); //随机数
Label2.Caption:=IntToStr(Random(10));
Label3.Caption:=IntToStr(Random(10));
Label4.Caption:=IntToStr(Random(10));
end;
procedure TfrmMain.Button1Click(Sender: TObject);
begin
Timer1.Tag := 10; //10秒
Timer1.Enabled :=True;
end; 似乎 把倒计时放到开始摇号的按钮上能好看点吧 一个定时器,轮询取随机数。。。。 为什么用计时器,直接设置点击事件 产生随机数不就行了 我用了一个timer来结束滚动显示. 也可以不用定时器,
直接用gettickcount. 在onilde过程中进行滚动.
可以参考我做的点名软件. 基本上可以做到每秒400-600的刷新率.
这个思路对啊没毛病楼主
页:
[1]
2