抽奖字符地滚动问题?(50分)

  • 主题发起人 主题发起人 myufeiyang
  • 开始时间 开始时间
M

myufeiyang

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个抽奖地程序,要实现身份证号不停地滚动直到按下空格键。我
在label1中显示身份证号

adoquery2.SQL.Clear ;
adoquery2.SQL.Add('select * from nameset');
adoquery2.Active :=true;
adoquery2.Open ;

while ch=true do
begin
num:=random(adoquery2.RecordCount);
adoquery2.MoveBy(num);
aa:=adoquery2.Fieldbyname('name').AsString ;
label2.Caption :=aa;
if ch=false then
exit;
end;

但是我的 label1 中文字不能滚动,label1 的字符总是不便,而且按下space 也
不能退出,请大家帮忙或给出好的方法?

 
while ch=true do
begin
num:=random(adoquery2.RecordCount);
adoquery2.MoveBy(num);
aa:=adoquery2.Fieldbyname('name').AsString ;
label2.Caption :=aa;
Refresh
if ch=false then
exit;
end;
 
我试了一下,但是我发现 label1的值总是不变,是不是adoquery2.moveby(num)没有
起上作用?
 
运行速度太快,来不及刷新,在循环内加个sleep(500),试试!
 
application.processmessage
 
还有一个问题,就是 adoquery2.MoveBy(num);
aa:=adoquery2.Fieldbyname('name').AsString
执行后,就循环一遍 adoquery2.fieldbyname('name')>asstring 的值就定位在
最后一条纪录了以后无论怎么执行 adoquery2.moveby(num) adoquery2.fieldbyname('name')
的值都不会变。请问什么原因?
 
后退
顶部