Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ООП по курсовой_2013.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
377.86 Кб
Скачать

Приложение 3

Образец оформления блок-схемы алгоритма и

листинга процедуры

Листинг 2.2

Процедура TForm1.N4Click

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, MPlayer, ComCtrls,

MMSYSTEM, FileCtrl, Menus;

type

TForm1 = class(TForm)

// кнопки

SpeedButton1: TSpeedButton; // Предыдущая композиция

SpeedButton2: TSpeedButton; // Воспроизведение/Стоп

SpeedButton3: TSpeedButton; // Следующая композиция

SpeedButton4: TSpeedButton; // Выбор папки

ListBox1: TListBox; // Список песен(mp3 файлов)

MediaPlayer1: TMediaPlayer; // компонент медиа плеер

TrackBar1: TTrackBar; // регулятор громкости

Timer1: TTimer; //таймер

Label1: TLabel; //вывод названия текущего трека

Label2: TLabel; //вывод времени прошедшего с начала песни

Shape1: TShape;

ProgressBar1: TProgressBar;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem; // рамка вокруг кнопок

procedure FormCreate(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure TrackBar1Change(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure Play; // воспроизведение

procedure PlayList(Path: string);

procedure N7Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N8Click(Sender: TObject); // формирует список MP3 файлов

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var

SoundPath: string[255];

min,sec: integer; // время воспроизведения

volume: LongWord;

// формирует список MP3 файлов

procedure TForm1.PlayList(Path: string);

var

lpBuf: PChar; // указатель на nul-terminated строку

sWinDir: string[128]; // обычная Паскаль строка

SearchRec: TSearchRec; //структура SearchRec содержит информацию

// о файле, удовлетворяющем условию поиска

begin

ListBox1.Clear;

// сформировать список mp3 файлов

if FindFirst(Path + '*.mp3', faAnyFile, SearchRec) =0 then

begin

// в каталоге есть файл с расширением WAV

// добавим имя этого файла в список

ListBox1.Items.Add(SearchRec.Name);

// пока в каталоге есть другие файлы с расширением WAV

while (FindNext(SearchRec) = 0) do

ListBox1.Items.Add(SearchRec.Name);

end;

ListBox1.ItemIndex := 0;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

PlayList('');

ListBox1.ItemIndex := 0;

Label1.Caption:=ListBox1.Items[ListBox1.itemIndex];

TrackBar1.Position := 7;

volume := (TrackBar1.Position - TrackBar1.Max+1)* 6500;

volume := volume + (volume shl 16);

waveOutSetVolume(WAVE_MAPPER,volume); // уровень сигнала

end;

// щелчок на названии произведения

procedure TForm1.ListBox1Click(Sender: TObject);

begin

label2.Caption:='0:00';

progressbar1.Position:=0;

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

if ListBox1.ItemIndex > 0 then

begin

ListBox1.ItemIndex := ListBox1.ItemIndex - 1;

label2.Caption:='0:00';

progressbar1.Position:=0;

end;

Play;

end;

// пользователь изменил положение

// регулятора громкости

procedure TForm1.TrackBar1Change(Sender: TObject);

begin

volume := 6500* (TrackBar1.Max - TrackBar1.Position);

volume := volume + (volume shl 16);

waveOutSetVolume(WAVE_MAPPER,volume);

end;

// воспроизвести композицию,

// название которой выделено

// в списке ListBox1

procedure TForm1.Play;

begin

Timer1.Enabled := False;

Label1.Caption:=ListBox1.Items[ListBox1.itemIndex];

MediaPlayer1.FileName := SoundPath + ListBox1.Items[ListBox1.itemIndex];

try

Mediaplayer1.Open;

except

on EMCIDeviceError do

begin

ShowMessage('Ошибка обращения к файлу '+

ListBox1.Items[ListBox1.itemIndex]);

SpeedButton2.Down := False;

exit;

end;

end;

MediaPlayer1.Play;

min :=0;

sec :=0;

Timer1.Enabled := True;

SpeedButton2.Hint := 'Стоп';

end;

46