dwa kliknięcia na jeden przycisk dwie procedury

2011-01-19 15:53
skkQr
0

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

Pozostało 580 znaków

2011-01-19 16:09
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ę.


edytowany 2x, ostatnio: Patryk27, 2011-01-19 16:31

Pozostało 580 znaków

2011-01-19 16:17
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;

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
edytowany 1x, ostatnio: Misiekd, 2011-01-19 16:18
Czyli jednak wprowadzili numerowanie... - Patryk27 2011-01-19 16:31

Pozostało 580 znaków

2011-01-19 17:04
MiM
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 :)

Pozostało 580 znaków

2011-01-19 17:52
Opi
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;

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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