5) Делаем первую программу - музыкальный проигрыватель. Финал в Delphi
Сложно быть роботом?
Сложно быть человеком.
к/ф "Формула радуги" 1966 г.
Предпоследний шаг - расширение нашей программы функциями музыкального проигрывателя.
В этом нам поможет специальный объект, расположенный на панели компонентов. Называется он MediaPlayer (медиаплеер - многообещающее название :), а расположен на закладке System этой панели. Она вся поделена на такие закладочки тематические, обратили внимание? Standard - стандартные (кнопки, меню, списки), Additional - дополнительные, Win32 - специфичные для платформы Win32, System - системные и т. д. Нам пока и этого хватит.
Устанавливаете MediaPlayer на форму. Вот что получится:
Разные кнопочки на медиаплеере, похожие на кнопки обычного проигрывателя, именно такое общеизвестное значение и имеют. Воспроизведение, стоп, пауза, перемотка и т. д. Даже запись есть :)
Только что будем воспроизводить-то? А для этого у компонента MediaPlayer есть свойство хорошее FileName. Имя файла, как несложно догадаться. А какого файла? А того, который мы и будем с помощью нашей программы воспроизводить. Выберите подходящий wav- или mp3-файл (mp3-файл будет программой проигрываться, если все звуковые драйверы или аудиокодеки правильно настроены, поэтому для подстраховки можете сначала wav-запись взять) и указываете полный путь к этому файлу в данном свойстве. В правой части данного свойства в инспекторе объектов есть крохотная такая кнопочка с тремя точками:
Ну вот и все :) Плеер готов. Осталось его заставить автоматически открывать указанный файл. Для этого предназначено свойство AutoOpen (Автооткрытие). Видите, как хорошо английский знать? :)
Это свойство может принимать одно из двух значений - true или false. True - это истина, да, включено. False - наоборот :) Переведем значение свойства AutoOpen из false (по умолчанию) в true - для этого просто выберите в выпадающем списке нужное значение в инспекторе объектов, и затем запустите программу на выполнение с помощью кнопки Run. Вот что примерно выйдет:
Самая крайняя левая кнопка - Play, воспроизведение. Нажмите на нее - раздастся воспроизведение выбранной мелодии! Также и другие кнопочки - перемотки, паузы, доступны.
Единственный недостаток нашей программы в том, что она привязана к конкретному местоположению музыкального файла. В моем случае это c:\tmp\3.wav. А если она представляет собой массово распространяемый вариант? Не у каждого в папке tmp на диске С лежит файл 3.wav.
Можно в свойстве FileName указывать не полный путь к файлу, а относительный. Относительным он будет относительно местоположения нашей программы. То есть если указать не "c:\tmp\3.wav" в свойстве FileName, а только "3.wav", то программа будет этот файл искать в папке, где она сама находится. Чтобы такой вариант работал, надо в ее папку файл 3.wav скопировать.
Можно указать и так: "tmp\3.wav" (без кавычек, конечно). Тогда файл 3.wav будет искаться во вложенной папке tmp - она должна быть создана в папке, где наша программа расположена. Понятно?
Всем наша программа хороша, да только вот вид ее внешний не очень... До WinAmp пока не дотягивает. А ведь мы с вами такие замечательные художники, как бы наши умения теперь к родной программке приложить?
Допустим, мы хотим приделать нашему проигрывателю шкуру - красивую картинку-фон. Я возьму для этого вот такую:
Сохраним ее где-то, в файле, например, МоеТворение.bmp. Теперь ее надо в наш плеер впихнуть в качестве фона. Воспользуемся для этого компонентом Image (изображение; найдите его сами) на панели Additional палитры инструментов. Поместите его на форму - он обозначится пунктирной линией, своим контуром. Теперь надо задать, какой конкретно рисунок нам надо показать в качестве фона. Для этого воспользуемся свойством Picture (рисунок). В нем тоже есть кнопочка с тремя точечками, нажмите ее, и появится вот такое окно:
Только виден он не весь, а лишь краешком. Чтобы автоматически выровнять размер области изображения на форме под заданный рисунок, надо в свойстве AutoSize (авторазмер) нашего объекта-изображения вместо false выбрать значение true. В результате на форме сразу же размер изображения изменится.
Ну вот и почти все. Теперь подберите размер самой формы под размер изображения, само изображение установите в верхний левый угол, панельку с кнопочками медиаплеера поставьте в нужное место, чтобы гармонировала с рисунком фона. Вот так примерно:
В следующем практическом выпуске - делаем то же самое в Visual Studio .NET. А затем - начинаем изучать уже более конкретные элементы реального программирования.
Я отвечаю на все письма, обычно в течение 1-2 дней. Но если ответа нет в течение недели, значит, ваше письмо могло не дойти - например, из-за фильтра спама. Поэтому в заголовке лучше указывать что-то, относящееся к теме рассылки - "школа программирования" итп.