Jeden przycisk który ma wykonać najpierw jedną procedurę, a po drugim kliknięciu drugą, jak to wykonać ?
0
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;