看流星社区

 找回密码
 注册账号
查看: 2911|回复: 3

[Delphi] 喊话延时问题

[复制链接]

该用户从未签到

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

该用户从未签到

发表于 2011-4-2 09:33:48 | 显示全部楼层
.循环判断首 ()
    喊话2 (编辑框1.内容)
    延时 (3000)
    喊话2 (编辑框2.内容)
    延时 (3000)
    喊话2 (编辑框3.内容)
    延时 (3000)
    喊话2 (编辑框4.内容)
    延时 (3000)
.循环判断尾 (运行)


我E语言是这么写的.

该用户从未签到

发表于 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;

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

该用户从未签到

 楼主| 发表于 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[ha];
cadder:=Pointer($00554314);
adder:=Integer(PChar(hanhuakey));
asm
pushad
mov eax,dword ptr[$5f1a40]
mov eax,dword ptr[eax]
mov edx,adder
call cadder
popad
end;
ha:=ha+1;
end else
ha:=0;
end;
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-25 22:58

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表