gaofeng 发表于 2011-4-2 09:33:36

喊话延时问题

喊话需要每次读取一行,然后延时一个时间再读取下一行, 读取到最后一句后返回第一行循环,直到按下结束按钮,这个循环延时把 我折磨了一天了,在网上找的相关例子都不行,请问各位。你们是怎么写的。希望能指导一下。多谢
用timer控件只能控制循环整体吧,用sleep游戏和辅助假死,直接崩溃。

wwgywl 发表于 2011-4-2 09:33:48

.循环判断首 ()
    喊话2 (编辑框1.内容)
    延时 (3000)
    喊话2 (编辑框2.内容)
    延时 (3000)
    喊话2 (编辑框3.内容)
    延时 (3000)
    喊话2 (编辑框4.内容)
    延时 (3000)
.循环判断尾 (运行)


我E语言是这么写的.

ytn2001 发表于 2011-4-2 09:34:09

我的方法很笨,别笑我
time_count : integer;

Timer.Interval := 1000;//一秒跑一次timer

time_count := time_count+1;   //配合timer,每秒+1
if time_count > StrToInt(Edit1.text) then//假如记数超过 设定值
begin
time_count:=0//记数器清0
....
喊话...
换行...
....
end;

这样就是一个很笨的计时器....

gaofeng 发表于 2011-4-2 09:34:27

自已的问题贴,已经解决了,
代码贴上:
procedure TForm1.Timer3Timer(Sender: TObject);
var
cadder:Pointer;
adder:DWORD;
begin
if ha <RzMemo1.Lines.Count then
begin
Timer3.Interval:=StrToInt(Trim(Edit29.Text))*1000;
hanhuakey:=RzMemo1.Lines;
cadder:=Pointer($00554314);
adder:=Integer(PChar(hanhuakey));
asm
pushad
mov eax,dword ptr[$5f1a40]
mov eax,dword ptr
mov edx,adder
call cadder
popad
end;
ha:=ha+1;
end else
ha:=0;
end;
页: [1]
查看完整版本: 喊话延时问题