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
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!