Delphi:如何制作鼠标点击计数器?

时间:2016-02-04 16:00:04

标签: loops delphi counter

我正在尝试制作一个计数器,根据鼠标点击编辑按钮的标题。我知道问题是什么,但不知道如何解决它。

代码:

procedure TForm1.Shape9MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

var
icount : integer;

begin
icount := 0;

if button = mbRight then
icount := icount + 1;

button2.caption := 'Count: ' + IntToStr(icount);  

end;

每当我右键单击时,计数器再次设置为0 + 1,当我左键单击时,它被设置为0.我该如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:4)

您已将计数器声明为局部变量,每次调用事件处理程序时,该变量都会重新初始化为零。

您需要将其设置为表单级别的成员变量,它将在调用之间保留它的值。

type
  TForm1 = class(TForm)
    ...
  private
    icount: Integer;
  end;

procedure TForm1.Shape9MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  if button = mbRight then
    icount := icount + 1;

    button2.caption := 'Count: ' + IntToStr(icount);  
end;

答案 1 :(得分:0)

-- all the following functions are the same
h1 x = x - 3
h2 = subtract 3
h3 = \ x -> x - 3