![]() |
|
#1
|
||||
|
||||
![]() Как мне можно запрограммировать выражение "если произошло событие, то что-то исполняется"? Например, при нажатии пользователем в процессе работы программы раздела 1 меню компонента TmainMenu какая-то исполняется процедура....
Код:
procedure TForm1.Zvuk; begin if N1.Click then Bomb; end; Мне это нужно для того, чтобы если пользователь выбрал к примеру флажок "Со звуком"(N1.Click), то воспроизводится звук бомбы (Bomb), который есть в нескольких процедурах и будет воспроизводиться не один раз. |
#2
|
||||
|
||||
![]() Как бы повторить всё вышесказанное, но немножечко по-русски. А?
|
#3
|
||||
|
||||
![]() Да, описание страдает... И все же попытаю удачу.
http://tinyurl.com/624wtk4 Gravitas |
#4
|
||||
|
||||
![]() Ты ведь даму в Google отправил.
![]() |
#5
|
||||
|
||||
![]() Ну, во-первых, события "программируются" несколько иначе (почитай в любой книжке про создание обработчиков событий).
А во-вторых - да, гугл... Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#6
|
||||
|
||||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); begin Bomb; end; |
#7
|
|||
|
|||
![]() М-м-м... тут по другому. Тебе надо завести некоторую логическую переменную, которая будет показывать - надо ли проигрывать звук. В процедуре воспроизведения звука проверяешь значение этой переменной и выполняешь нужные действия, а уж процедуру воспроизведения просто вызываешь везде, где нужно.
Как-то вот так: Код:
type TForm1 = class(TForm) ... private IsSound : Boolean; procedure Bomb; ... end; ... procedure TForm1.N1Click(Sender : TObject); begin IsSound := Not IsSound; // переключаем на др. значение; end; procedure TForm1.Bomb; begin If IsSound Then Begin // play sound here End; end; procedure TForm1.BombCaller1; begin ... // some code before Bomb; // some code after ... end; procedure TForm2.BombCaller1; begin ... // some code before Bomb; // some code after ... end; |
#8
|
|||
|
|||
![]() nattaella
Если Я все правильно понял тебя, попробую объяснить все на пальцах. Цитата:
Сделай так: в тех обрабочиках событий, в которых ты хочеш чтобы воспроизводился звук по флажку, например в N2Click, дописываешь такой код Код:
procedure TForm1.N2Click begin // твой код .............. .............. .............. //встака звука- если используеш checkbox if CheckBox1.Checked = true then bomb; //встака звука- если используеш TmainMenu if N1.Checked = true then bomb; //где N1 -имя твоего флажка и в его свойстве выставить autocheck = true end; Последний раз редактировалось antikiler, 01.07.2011 в 04:25. |