dwa kliknięcia na jeden przycisk dwie procedury

0

Jeden przycisk który ma wykonać najpierw jedną procedurę, a po drugim kliknięciu drugą, jak to wykonać ?

0

Var Press: Boolean = False; // Zmienna klasy
{...}
Procedure Przycisk.OnClick(Sender: TObject);
Begin
if (Not Press) Then
Begin
Press := True;
// Procedura 1
End Else
Begin
// Procedura 2
End;
End;

To + trochę mózgu.
Sorry za brak znaczników, ale wtedy cały kod wcięło w jedną linię.

0

jak już to raczej tak

Var  Press: Boolean = False; // Zmienna globalna ! //raczej powinno być zmienna klasy!!!
{...}
Procedure Przycisk.OnClick(Sender: TObject);
Begin
  Press := not Press;
  if Press Then
  Begin
    // Procedura  1 
  End Else
  Begin
    // Procedura 2
  End;
End;
0

jako, że twórca wątku nie dał innych założeń, to można by właściwość Caption zmienić lub jednak zamiast dodawać zmiennej globalnej, jak Koledzy zaproponowali, jednak skorzystać z możliwości użycia przycisku w trybie CheckButton i ze zmiennej Checked :)

0

Zamiast zmiennej globalnej wystarczy wykorzystać właściwość przycisku

#
procedure Przycisk.OnClick(Sender: TObject);
begin
 case Przycisk.Tag of
   0: Procedura1;
   1: Procedura2;
 end;

 Przycisk.Tag := Byte(Przycisk.Tag = 0);
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0