![]() |
|
|
#1
|
||||
|
||||
|
Как мне можно запрограммировать выражение "если произошло событие, то что-то исполняется"? Например, при нажатии пользователем в процессе работы программы раздела 1 меню компонента TmainMenu какая-то исполняется процедура....
Код:
procedure TForm1.Zvuk; begin if N1.Click then Bomb; end; Мне это нужно для того, чтобы если пользователь выбрал к примеру флажок "Со звуком"(N1.Click), то воспроизводится звук бомбы (Bomb), который есть в нескольких процедурах и будет воспроизводиться не один раз. |
|
#2
|
||||
|
||||
|
Как бы повторить всё вышесказанное, но немножечко по-русски. А?
|
|
#3
|
||||
|
||||
|
Да, описание страдает... И все же попытаю удачу.
http://tinyurl.com/624wtk4 |
|
#4
|
||||
|
||||
|
Ты ведь даму в Google отправил.
![]() |
|
#5
|
||||
|
||||
|
Ну, во-первых, события "программируются" несколько иначе (почитай в любой книжке про создание обработчиков событий).
А во-вторых - да, гугл... |
|
#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. |