Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.06.2011, 20:18
Аватар для nattaella
nattaella nattaella вне форума
Прохожий
 
Регистрация: 10.01.2011
Сообщения: 12
Репутация: 10
Вопрос Оператор условия

Как мне можно запрограммировать выражение "если произошло событие, то что-то исполняется"? Например, при нажатии пользователем в процессе работы программы раздела 1 меню компонента TmainMenu какая-то исполняется процедура....

Код:
procedure TForm1.Zvuk;
begin
if N1.Click then Bomb;
end;

Мне это нужно для того, чтобы если пользователь выбрал к примеру флажок "Со звуком"(N1.Click), то воспроизводится звук бомбы (Bomb), который есть в нескольких процедурах и будет воспроизводиться не один раз.
Ответить с цитированием
  #2  
Старый 30.06.2011, 21:15
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Как бы повторить всё вышесказанное, но немножечко по-русски. А?
Ответить с цитированием
  #3  
Старый 30.06.2011, 21:43
Аватар для Gravitas
Gravitas Gravitas вне форума
Новичок
 
Регистрация: 12.06.2011
Сообщения: 61
Версия Delphi: 7
Репутация: 38
По умолчанию

Да, описание страдает... И все же попытаю удачу.
http://tinyurl.com/624wtk4
__________________
Gravitas
Ответить с цитированием
  #4  
Старый 30.06.2011, 21:58
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Ты ведь даму в Google отправил.
Ответить с цитированием
  #5  
Старый 30.06.2011, 23:23
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Ну, во-первых, события "программируются" несколько иначе (почитай в любой книжке про создание обработчиков событий).
А во-вторых - да, гугл...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #6  
Старый 01.07.2011, 00:19
Аватар для Developer
Developer Developer вне форума
Прохожий
 
Регистрация: 01.07.2011
Адрес: Украина
Сообщения: 27
Версия Delphi: 7, 2009
Репутация: 75
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Bomb;
end;
Ответить с цитированием
  #7  
Старый 01.07.2011, 01:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

М-м-м... тут по другому. Тебе надо завести некоторую логическую переменную, которая будет показывать - надо ли проигрывать звук. В процедуре воспроизведения звука проверяешь значение этой переменной и выполняешь нужные действия, а уж процедуру воспроизведения просто вызываешь везде, где нужно.

Как-то вот так:
Код:
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  
Старый 01.07.2011, 03:25
antikiler antikiler вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 23
Репутация: 24
По умолчанию

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.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025