Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

timer [D6, XP]


samsung ©   (2011-12-16 22:59:00) 

Доброго всем времени суток!!!
Вопрос следующего характера. Допустим выполняется в таймере timer1 какое то событие, если оно верное то panel1.color = clred;
в следующем таймере timer2 на это событие открывается mediaplayer1.open ну  и соответственно mediaplayer1.Play
и воспроизводится звук пока panel1 не будет = clgreen. Так вот я хочу выключить звук когда  panel1.color = clred;. Пишу в timer2  следующее if checkbox1.checken := true then mediaplayer1.close; При этом событии звук
выключается но через определенные промежутки времени всеравно пролезает звук от mediaplayer1. Особенно когда таймеров на воспроизведение mediaplayerов несколько. Как быть?


samsung   (2011-12-18 20:10:00) [1]

Ребята спасибо Всем большое!!! Вопрос исчерпан.


KilkennyCat   (2011-12-17 12:52:00) [2]


>  
> Ega23 ©   (17.12.11 11:35) [11]

понравилась картинка "типичная программа на делфи" http://s.lurkmore.to/images/6/6e/Skype_av.jpg


Ega23   (2011-12-17 11:35:00) [3]

http://lurkmore.to/Delphi#.D0.93.D0.BB.D1.83.D0.B1.D0.B8.D0.BD.D0.BD.D1.8B.D0.B5_.D0.BF.D1.80.D0.B8.D1.87.D0.B8.D0.BD.D1.8B_.D0.BD.D0.B5.D0.BD.D0.B0.D0.B2.D0.B8.D1.81.D1.82.D0.B8_ .D0.BA_Delphi.2FPascal


KilkennyCat   (2011-12-17 11:33:00) [4]


> Германн ©   (17.12.11 01:11) [8]
>
> В таймере никакие события не выполняются"!

это почему же? минимум одно я помню.


KilkennyCat   (2011-12-17 11:32:00) [5]


> SQLEX ©   (17.12.11 00:08) [7]
> да я так, накидал 1ое что пришло в пальцы

да я тоже, заметил масляное у того, кто заметил масляное ;)


Германн   (2011-12-17 01:11:00) [6]


> Допустим выполняется в таймере timer1 какое то событие

В таймере никакие события не выполняются"!


SQLEX   (2011-12-17 00:08:00) [7]

O-o ^)
да я так, накидал 1ое что пришло в пальцы


KilkennyCat   (2011-12-16 23:59:00) [8]


> Inovet ©   (16.12.11 23:57) [5]

все равно, невнимательный стал. невнимательность-то штука неизбирательная, ошибся здесь - ошибся у себя.


Inovet   (2011-12-16 23:57:00) [9]

> [4] KilkennyCat ©   (16.12.11 23:51)
> блин, опять я ошибся.

А то автор не поймёт
result := panel1.color <> clred;


KilkennyCat   (2011-12-16 23:51:00) [10]


> Result := true;
>  if panel1.color = clred then
>    Result := false;


result := panel1.color = clred;


KilkennyCat   (2011-12-16 23:51:00) [11]

блин, опять я ошибся.


SQLEX   (2011-12-16 23:32:00) [12]

кстати,
if checkbox1.checken := true then mediaplayer1.close;
не откомпилится

if checkbox1.checked = true then - масло масляное
~
if checkbox1.checked then


SQLEX   (2011-12-16 23:30:00) [13]

ошибка в логике (и в изложении :))
mediaplayer должен вкл/выкл из одного места.
Пусть это будет некая функция boolean
в этом месте и вычисляется все возможные условия его работы или не работы.
Все таймеры должны вызывать эту функцию, а не сами дергать mediaplayer

аля
function MustRun: boolean;
begin
 Result := true;
 if panel1.color = clred then
   Result := false;
 if panel1.color = clgreen then
   if checkbox1.checken = true then
        Result := false;
 if Марс.Буря.Сила > Столб.высота then
   Result := false or (Бабушка.Возраст > 90);
....
end;

.........

if MustRun then
 mediaplayer1.open ну  и соответственно mediaplayer1.Play else
 mediaplayer1.close;


Наверх

Титульная страница Поиск, карта сайта Написать письмо