procedure TForm1.Timer1Timer(Sender: TObject);
var
i : integer;
begin
if i > StrToInt(Edit1.Text) then
Timer1.Enabled := False
else
i :=+ 1;
SendClick(645,302);
Sleep(2200);
SendClick(694,619);
Sleep(2200);
SendClick(967,638);
Sleep(2200);
SendKeys('{BKSP}{BKSP}{BKSP}{BKSP}1',False);
SendClick(917,688);
Sleep(2200);
SendClick(917,688);
Sleep(2200);
SendClick(917,688);
amount := StrToInt(Label3.Caption) + 1;
Label3.Caption := IntToStr(amount);
end;
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它只重复一次并停止......任何人都可以发现问题吗?我很累,香港专业教育学院经历了几次,我似乎无法看到一个......
jac*_*ate 11
我是一个未初始化的局部变量(它包含垃圾),所以如果i> StrToInt(Edit1.Text)的比较结果是随机的.
您可能希望将一个成员变量添加到表单的类中,在适当的时间初始化并在onTimer事件上检查它的值,例如:
type
TForm1 = class(TForm)
..
private
FTimerCount: Integer;
FMaxTimerCount: Integer;
..
procedure TForm1.Button1Click(Sender: TObject);
begin
FTimerCount := 0;
FMaxTimerCount := 20; //the timer will fire 20 times.
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Inc(FTimerCount);
Timer1.Enabled := FTimerCount < FMaxTimerCount;
DoOtherStuff();
end;
Run Code Online (Sandbox Code Playgroud)
And*_*and 10
这条线
i :=+ 1;
Run Code Online (Sandbox Code Playgroud)
将值+1(也称为1)赋给名为的变量i.(也就是说,如果i等于55,和你做i :=+ 1,那么i将等于1).
也许你在寻找
i := i + 1;
Run Code Online (Sandbox Code Playgroud)
要么
inc(i);
Run Code Online (Sandbox Code Playgroud)
?
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |