Помогите разобраться со звуком
Я уже неделю бьюсь над этой программой. Мне осталочь доделать фоновую музыку и кнопку Выход. Проблема в том, что сначала показывается форма выбора "Включить музыку" и есть варианты "Да" и "Нет", надо сделать так, чтобы при выборе "Да" начала играть музыка, а если "Нет", то просто программа должна пойти дальше.Я проверяю программу и при выборе "Да" и при выборе "Нет" всегда играет музыка. Вот код программы:
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. |
Ответ: Помогите разобраться со звуком
Скорее всего, состояние меню выбора сбрасывается при вызове ClearForm и choiceIsSelected дает неверный результат.
То есть, нужно поставить блок Код:
if choiceIsSelected(choise, yes)=true then |
Ответ: Помогите разобраться со звуком
Все с музыкой разобрался, теперь надо еще помощь с выходом у меня здесь кнопка "Vi" создатся, но почему-то при ее нажатии не выходит из этой программы.Подскажите в чем ошибка, вот код с работающей музыкой, но не работающим выходом
Код:
program taimer; |
Ответ: Помогите разобраться со звуком
Опрос кнопки нужно делать так же, как и для OK, в цикле.
И еще, проверку выбранного пункта нужно делать не внутри цикла опроса, а сразу после него. |
Ответ: Помогите разобраться со звуком
Напишите, если не трудно, код программы с работающей кнопкой выход, а то мн не очень понятно.
|
Ответ: Помогите разобраться со звуком
Помогите пожалуйста написать эту кнопку Выход, а то мне осталось тока эта кнопка.
|
Ответ: Помогите разобраться со звуком
Код опроса команды, который стоит в конце программы, нужно перенести в конец главного цикла, ну и добавление команды на экран сделать раньше.
|
Ответ: Помогите разобраться со звуком
Извините пожалуйста, но я еще только начинаю программировать на midletpascal и мне не очень понятно куда именно надо вставить этот выход, если можно, то напишите пожалуйста код программы с работающей кнопкой выход.
|
Ответ: Помогите разобраться со звуком
Всем спасибо, я все сделал, все работает :)
|
Часовой пояс GMT +4, время: 06:02. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot