Форум.orn

Учеба => Треп студентов => Тема начата: Writeble от 24 Июня 2011, 23:27:53

Название: Не играют звуки в Turbo Pascal
Отправлено: Writeble от 24 Июня 2011, 23:27:53
Cинтаксических ошибок в программе нет. Так звук работает нормально. Кто знает из-за чего это может быть просьба написать причину.  :(
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: roman_neverov от 24 Июня 2011, 23:39:38
 :o
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: KeyMS от 24 Июня 2011, 23:39:43
pcspeaker в системе не подключен или не предусмотрен ...
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Writeble от 24 Июня 2011, 23:53:45
pcspeaker в системе не подключен или не предусмотрен ...
А не можешь ещё подсказать, как его поключить  :-[
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: KeyMS от 25 Июня 2011, 00:11:08
pcspeaker в системе не подключен или не предусмотрен ...
А не можешь ещё подсказать, как его поключить  :-[

возможно потребуется установка виртуального драйвера или даунгрейд компьютера ..
Покажи исходный текст программы которая должна выдавать звук .. чтобы понять конкретно о чем идет речь ..
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Writeble от 25 Июня 2011, 00:23:25
pcspeaker в системе не подключен или не предусмотрен ...
А не можешь ещё подсказать, как его поключить  :-[

возможно потребуется установка виртуального драйвера или даунгрейд компьютера ..
Покажи исходный текст программы которая должна выдавать звук .. чтобы понять конкретно о чем идет речь ..
Например вот:

USES CRT;
PROCEDURE doo;   BEGIN Sound(523); Delay(500); NoSound; Delay(20) END;
PROCEDURE re;        BEGIN Sound(587); Delay(500); NoSound; Delay(20) END;
PROCEDURE mi;     BEGIN Sound(659); Delay(500); NoSound; Delay(20) END;
PROCEDURE fa;        BEGIN Sound(698); Delay(500); NoSound; Delay(20) END;
PROCEDURE sol;       BEGIN Sound(784); Delay(500); NoSound; Delay(20) END;
PROCEDURE la;        BEGIN Sound(880); Delay(500); NoSound; Delay(20) END;
PROCEDURE si;        BEGIN Sound(988); Delay(500); NoSound; Delay(20) END;
PROCEDURE chijik;
   BEGIN mi; doo; mi; doo; fa; mi; re; sol; sol; la; si; doo; doo; doo END;
BEGIN
   WriteLn('Песня "Чижик-пыжик". 1 куплет');
   chijik;
   WriteLn('2 куплет');
   chijik;
END.
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: KeyMS от 25 Июня 2011, 12:33:25
Надо тебе разобрать системный блок и убедиться что pc speaker подключен.
Вот что это такое:
http://ru.wikipedia.org/wiki/%C4%E8%ED%E0%EC%E8%EA_%CF%CA
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Тоха от 25 Июня 2011, 13:27:55
честно говоря, неудобная реализация. Проще написать функцию, в которую будет передаваться 2 параметра: имя ноты и ее длительность. Внутри самой функции задать массив с именами нот и тонами звуков, ну а дальше уже воспроизводить звук, заданный параметрами. Вот только не помню, есть ли в паскале ассоциативные массивы...
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Романтик от 25 Июня 2011, 13:41:56
честно говоря, неудобная реализация. Проще написать функцию, в которую будет передаваться 2 параметра: имя ноты и ее длительность. Внутри самой функции задать массив с именами нот и тонами звуков, ну а дальше уже воспроизводить звук, заданный параметрами. Вот только не помню, есть ли в паскале ассоциативные массивы...

да просто массив рекордов пущай сделает
foreach конструкций там тоже нет

уж лучше учиться с си, как нормальные люди, чем с выкидышем вирта =D
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Тоха от 25 Июня 2011, 14:09:03
ха! foreach - это просто упрощенный вариант цикла do while, так что ничего страшного. А насчет с чего лучше учиться - не соглашусь. Паскаль в стопицот раз проще Си, а следовательно с него проще начинать. Да и делфи по сути тот же самый паскаль. Вот захочешь ты на С написать программу под винду - будь добр сломать мозг об виндовс апи, а в делфи все намного проще. Но есть и обратная сторона - производительность. В этом вопросе конечно нет равных языку Си.
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Writeble от 25 Июня 2011, 15:17:12
Надо тебе разобрать системный блок и убедиться что pc speaker подключен.
Вот что это такое:
[url]http://ru.wikipedia.org/wiki/%C4%E8%ED%E0%EC%E8%EA_%CF%CA[/url]

pc speakerа не было вообще, подключил его от старого компьютера. Появился писк при включении, а в паскале по прежнему всё тихо.  :(
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: KeyMS от 25 Июня 2011, 21:26:37
А windows какая ? возможно надо запускать turbo pascal в режиме совместимости более ранней операционки.
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Writeble от 25 Июня 2011, 22:02:00
А windows какая ? возможно надо запускать turbo pascal в режиме совместимости более ранней операционки.

Попробовал, не звучит по прежнему. На нетбуке тоже не играет, видел в инете похожую тему там тоже 0 результатов.  :(
http://www.cyberforum.ru/free-pascal/thread153467.html
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: KeyMS от 25 Июня 2011, 23:18:16
А windows какая ? возможно надо запускать turbo pascal в режиме совместимости более ранней операционки.

Попробовал, не звучит по прежнему. На нетбуке тоже не играет, видел в инете похожую тему там тоже 0 результатов.  :(
[url]http://www.cyberforum.ru/free-pascal/thread153467.html[/url]


Я думаю можно попробовать поставить виртуальную машину, например vmware и поставить под ней нормальный ms-dos, и уже в нем попробовать запустить программу ...
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Тоха от 26 Июня 2011, 00:13:11
Кстати у меня есть такая машина, я сижу на линуксе и в консоли прекрасно срабатывает beep.
А вот на virtual box win xp звук не проигрывается ни в турбо паскале, ни в командной строке. У меня появился интерес к этой проблеме.

Попробуйте кто-нибудь сделать в командной строке следующее:

cd "%userprofile%\Рабочий стол"
copy con beep.bat
^G - это сочетание славиш CTRL + G, затем ENTER
^Z - это сочетание славиш CTRL + Z, затем ENTER

и потом запустите beep.bat на рабочем столе - раздастся звук?

http://www.youtube.com/watch?v=7EbnIqfWRSA
Название: Re: Не играют звуки в Turbo Pascal
Отправлено: Writeble от 26 Июня 2011, 00:22:24
Я думаю можно попробовать поставить виртуальную машину, например vmware и поставить под ней нормальный ms-dos, и уже в нем попробовать запустить программу ...
Спасибо за помощь, буду пробовать  :)