Оператор ЭВМ
Регистрация: 19.10.2010
Сообщений: 22
Написано одно полезное сообщение
|
Помогите разобраться со звуком
Я уже неделю бьюсь над этой программой. Мне осталочь доделать фоновую музыку и кнопку Выход. Проблема в том, что сначала показывается форма выбора "Включить музыку" и есть варианты "Да" и "Нет", надо сделать так, чтобы при выборе "Да" начала играть музыка, а если "Нет", то просто программа должна пойти дальше.Я проверяю программу и при выборе "Да" и при выборе "Нет" всегда играет музыка. Вот код программы:
program taimer;
var
Ok,Click: command;
den,chas,min,sec,d1,c1,m1,time,d2,c2,m2,i,choise,y es,no,shir,dlin: integer;
s,d,c,m: String;
pic: image;
musicplayer,sound: boolean;
Begin
ShowForm;
Ok:=CreateCommand('OK',CM_SCREEN,1);
SetTicker('Включить музыку?');
choise:=FormAddChoice('Включить музыку?',CH_EXCLUSIVE);
yes:=ChoiceAppendString(choise,'Да');
no:=ChoiceAppendString(choise,'Нет');
AddCommand(Ok);
Repaint;
Repeat
delay(100);
Click:=GetClickedCommand;
Until(Click=Ok);
ClearForm;
ShowCanvas;
d2:=getDay(getCurrentTime)+7;
c2:=getHour(getCurrentTime);
m2:=getMinute(getCurrentTime);
repaint;
den:=28-d2;
chas:=23-c2;
min:=60-m2;
sec:=60;
drawimage(loadimage('/fut.jpg'),20,2);
drawtext('Осталось:',25,204);
if choiceIsSelected(choise, yes)=true then
sound:=true
else
sound:=false;
if sound=true then
begin
musicplayer:=OpenPlayer('koshka.mid','audio/midi');
musicplayer:=SetPlayerCount(-1);
musicplayer:=StartPlayer
end;
if sound=false then
StopPlayer;
while den<>-1 do
begin
SetColor(255,0,0);
drawtext(integertostring(den),5,214);
drawtext('д.',31,214);
while chas<>-1 do
begin
SetColor(0,255,0);
drawtext(integertostring(chas),56,214);
drawtext('ч.',82,214);
while min<>-1 do
begin
Setcolor(0,0,255);
drawtext(integertostring(min),117,214);
drawtext('м.',143,214);
while sec<>-1 do
begin
Setcolor(0,0,0);
drawtext(integertostring(sec),178,214);
drawtext('с.',204,214);
sec:=sec-1;
repaint;
delay(1000);
setcolor(255,255,255);
fillRect(178,212,25,25);
repaint;
end;
min:=min-1;
sec:=59;
repaint;
setcolor(255,255,255);
fillRect(117,212,25,25);
repaint;
end;
chas:=chas-1;
min:=59;
repaint;
setcolor(255,255,255);
fillRect(56,212,25,25);
repaint;
end;
repaint;
den:=den-1;
chas:=24;
setcolor(255,255,255);
fillRect(5,212,25,25);
repaint
end;
StopPlayer;
Repeat
Delay(100);
Click:=GetClickedCommand;
Until (Click=Ok);
RemoveCommand(Ok);
end.
|