Порядок выполнения 1 часть
1. Создать новый проект.
2. Для формы установить следующие значения свойств:
Borderlcons / biMaximize False
BorderStyle bsSingle
Caption Позолоченный граммофон
Color СlGray
Position poScreenCenter
3. Установить на форму компонент MediaPlayer (System), для свойства Visible установите значение False.
4. Установитm на форме следующие компоненты: шесть кнопок, четыре метки, таймер, компонент для открытия файлов/
Примечание:
в Label1 (самый большой индикатор) будет показываться текущая позиция в файле.
в Label2 (справа сверху) должно отображаться имя открытого файла
в Label3 (справа в середине) - длина открытого файла
в Label4 - сколько осталось времени до конца файла.
5. Для всех меток установить значение свойства AutoSize = False
6. Привести форму в соответствие с образцом.
7. Для всех кнопок установить значение свойства Cursor crHandPoint
8. Самостоятельно изменить интерфейс проекта (цвет, шрифты) и сохранить.
9. Для инициализации объектов для Form выберите событие OnActivate и введите код
label1.Font.Color := clGreen; Label2.Font.Color := clGreen;
LabeL3.Font.Color := clGreen; Label4.Font.Color := clGreen;
Label1.Caption := '00:00'; Label2.Caption := 'no file...';
LabeL3.Caption := '00:00'; LabeL4.Caption := '00:00';
//задание фильтра для OpenDialog
OpenDialog1.Filter := 'Wav files (*.wav)|*.WAV';
10. Определите процедуру, которая выполняется при открытии звукового файла(кнопкаOPEN)
If OpenDialog1.Execute=true Then
Begin
MediaPlayer1.FileName := OpenDialog1.FileName;
MediaPlayer1.Open; // открываем файл
Label1.Font.Color := clLime; // включаем индикаторы
Label2.Font.Color := clLime;
LabeL3.Font.Color := clLime;
Label4.Font.Color := clLime;
Output; // присваиваем индикаторам значения
Timer1.Enabled:=True;
11. Создать новую функцию MusicToStr и процедуру Output, которая преобразует длину файла, текущую позицию или количество оставшегося до конца звучания времени в форму, легкую для восприятия.
Function TForm1.MusicToStr(n: longint): string;
Var
s: string; //рабочая переменная для формирования удобочитаемых значений индикаторов
min, sec: Longint;
Begin
//получаем секунды и минуты из миллисекунд
sec := trunc(n/1000);
min := trunc(sec/60);
sec := sec - min*60;
s := IntToStr(min);
// добавляем в строку 0, если секунд больше десяти // чтобы получилось 2:06, а не значение 2:6;
If sec<10 Then
s := s + ':0' + IntToStr(sec)
Else
s := s + ':' + IntToStr(sec);
MusicToStr := s;
End;
procedure TForml.Output; //вывод значений на индикаторы
Var
leng, posit, remain: longint; // длина файла, позиция в файле и оставшееся время
Begin
//читаем свойства проигрывателя
leng := MediaPlayer1.Length;
posit := MediaPlayer1.Position;
remain := leng - posit;
Label1.Caption := MusicToStr(posit);
Label2.Caption := MediaPlayer1.FileName;
Label3.Caption := MusicToStr(leng);
Label4.Caption := MusicToStr(remain);
End;
12. Объявить созданные процедуру и функцию:
Function MusicToStr(n: longint): string;
Procedure Output;
13. Определите процедуру, которая выполняет проигрывание звукового файла(кнопка PLAY):
If mpCanPlay in MediaPlayer1.Capabilities Then MediaPlayer1.Play;
13. Для кнопок STOP и PAUSE ввести соответствующий код:
If mpCanPlay in MediaPlayer1.Capabilities Then
Begin
MediaPlayer1.Stop;
MediaPlayer1.Position := 0;
End;
If mpCanPlay in MediaPlayer1.Capabilities Then MediaPlayer1.Pause;
14. Ввести код для кнопок перемотки вперед и назад:
//кнопка перемотки вперед
If mpCanPlay in MediaPlayer1.Capabilities Then
Begin
If (MediaPlayer1.Position+10000)<=MediaPlayer1.Length Then
MediaPlayer1.Position := MediaPlayer1.Position + 10000
Else
MediaPlayer1.Position := MediaPlayer1.Length;
MediaPlayer1.Play;
End;
//кнопка перемотки назад
Begin
If mpCanPlay in MediaPlayer1.Capabilities Then
Begin
If MediaPlayer1.Position>=10000 then
MediaPlayer1.Position := MediaPlayer1.Position -10000
Else
MediaPlayer1.Position := 0;
MediaPlayer1 .Play;
End;
13. Для объекта таймер установить значения свойства Interval= 1000, Enabled = False, выберить событие OnTimer и ввести вызов процедуры OutPut.
14. Добавить в конец процедуры Button1Click строку Timerl.Enabled:=True;
15. Проверить работу приложения.
16. Самостоятельно модернизировать приложение для воспроизведения звуковых файлов различных форматов.
17. Проект сохранить. Результат показать преподавателю.
Часть
1. Создать новый проект.
2. На форме установить компоненты: одну кнопку (для открытия файлов), один компонент MediaPlayer, одну рамку GroupBox (Standard), один диалог для открытия файлов
3. Всем объектам изменить свойств в соответствии с таблицей:
компонент
| свойство
| значение
| Forml
| BorderIcons/biMaximize bibiMaximize
| False
|
| BorderStyle
| bsSingle
|
| Caption
| Телевизор «СОНЯ»
|
| Height
|
|
| Width
|
| Button 1
| Caption
| Открыть
|
| Left
|
|
| Top
|
| MediaPlayer1
| Left
|
|
| Top
|
| GroupBox
| Caption
|
|
| Height
|
|
| Width
|
|
| Left
|
|
| Top
|
|
4. Сравните свою форму с образцом
5. Для кнопки Открыть ввести код:
If OpenDialog1.Execute=true then
begin
MediaPlayer1.FileName := OpenDialog1.FileName;
MediaPIayer1.Open;
end;
6. Для формы выберите событие OnActivate и ввести код:
//назначаем область просмотра для видеофайла
MediaPlayer1.Display := GroupBox1;
7. Проверьте работу приложения
ПРАКТИЧЕСКАЯ РАБОТА № 9
ТемаГрафические возможности Delphi
Цель работы:Получить навыки вывода графики на форму.
Пояснения к работе
Графика выводится на поверхность объектов Image, Form, PaintBox. Поверхность объекта соответствует свойству Canvas (холст). Существует объект типа TCanvas, его методы позволяют выводить графические примитивы. У примитивов можно менять цвет и толщину рисования, стиль и цвет заполнения.
Pixels[x,y] - точка;
Ellipse(x,y,x1, y1)- эллипс;
Arc(x, y, x1,y1,x2,y2,x3,y3) – дуга;
LineTo(x,y) - линия от текущей позиции карандаша в точку с координатами x,y.
Chord(x,y,x1,y1,х2,у2,х3,у3) - дуга замкнута и залита цветом;
Pie(x,y,x1,y1,x2,y2,x3,y3) - замкнутый и закрашенный контур;
Rectangle(x,y,x1,y1) – прямоугольник;
RoundRect(x,y,x1,y1,x2,y2) - закругленный прямоугольник;
Polygon(Pol) – построение ломаной линии по координатам, хранящимся в массиве Pol (тип массива TPoint);
MoveTo(x,y) – перемещение в определенный координаты.
Карандаш и кисть
Карандаш (Реn)используется для вычерчивания точек, линий, контуров геометрических фигур: прямоугольников, окружностей, эллипсов, дуг и др. Вид линии, которую оставляет карандаш на поверхности холста, определяют свойства объекта TPеn , которые перечислены в таблице.
Свойство
| Определяет
| Примечание
| Color
| Цвет линии
| Именованные константы, определяющие цвет см. Приложение
| Width
| Толщину линии
| в пикселах
| Style
| Вид линии
| Именованные константы, определяющие вид см. Приложение
| Кисть (Brush) используется для вычерчивания замкнутых областей, например геометрических фигур, для заливки (закрашивания) этих областей. Кисть, как объект, обладает двумя свойствами, перечисленными в таблице.
Свойство
| Определяет
| Примечание
| Color
Style
| Цвет закрашивания замкнутой области
Стиль (тип) заполнения области
| Именованные константы, определяющие цвет и стиль заполнении см. Приложение
|
Вывод текста
Для вывода текста на поверхность графического объекта используется метод TextOut. Инструкция вызова метода TextOut в общем виде выглядит следующим образом:
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|