我希望在第二次和第三次点击按钮后执行某些操作,依此类推。
答案 0 :(得分:7)
声明一个表单级变量,并在每次单击该按钮时递增它。
type
TForm1 = class(TForm)
// component/control variables
private
FClickCount: Integer;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
FClickCount := FClickCount + 1; // or Inc(FClickCount);
end;
答案 1 :(得分:-1)
我知道你已经接受了答案,但是,FWIW,我就是这样做的。
如果单击按钮计数不需要在OnClick()处理程序之外使用,则可以使用类似的常量将计数器保持在处理程序的本地:
procedure TForm1.Button1.click(Sender: TObject);
{$J+}
const
counter: integer = 0;
{$J-}
begin
inc(counter);
if (counter < 2) then exit;
end;
注意:
1){$ J +}允许分配类型常量。
2)像这样的类型常量的使用已被弃用多年(尽管它们对于这样的东西很有用 - 保持声明和使用“变量”彼此接近在我的书中是一件好事并且使用表单级变量似乎是错误的,因为它破坏了封装)。