Blokada kliknięcia na przycisk

0

Witam!
Mam taki mały problem, może ktos pomoże mi go rozwiązać...
Mam program badający refleks człowieka na dźwięk. W momencie usłyszenia klika się na przycisk, wtedy włącza się Stoper (utworzona przeze mnie klasa), który mierzy czas. Ale ten czas dalej leci i kolejne kliknięcie spowoduje pomiar dalszy, który nie jest czasem refleksu. Chodzi mi oto, żeby po kliknięciu przycisku i dokonaniu jednego pomiaru, drugie kliknięcie nie było możiwe, a raczej żeby kliknięcie nic nie powodowało. Dopiero gdy usłyszy kolejny dźwięk, żeby znowu mierzyło czas. I nie chcę żeby przycisk zmieniał Enabled, ma cały czas zostać aktywny. Tylko na kolejne kliknięcie nie reagować.
Z góry dziękuje za pomoc!

0

Button.Enabled:=False; :)

0

pisałam właśnie, że nie chcę żeby przycisk zmieniał swoją aktywność
w takie wersji program mam napisany
chcę żeby lepiej wyglądał

0

Button1.OnClick := nil; // nie jestem pewny czy nil zadziala, ale powinno.

Przywracasz akcję przez
Button1.Onclick = Button1Click; // lub jak tam masz nazwaną metodę obsługującą kliknięcie bez nawiasu na końcu! sama nazwa

0

to może dodaj do programu jakąś zmienną np. CzyWykonac:Boolean i po kliknięciu na przycisk nich sprawdza czy jest na False i jak nie jest to niech robi to co ma robić i ustawia zmienną na False żeby nie zadziałało na drugi raz

0

Dzięki nav, zadziałało. Nie wiedziałam że takie proste to może być. No bo w sumie zaczynam dopiero programować.
Dzięki wszystkim!
Pozdrawiam!

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