Воскресенье, 24.11.2024, 08:32 | Приветствую Вас Гость

...

Код

Главная » Статьи » PABC

PlayFile

{$apptype windows}
{$reference 'System.Windows.Forms.dll'}
{$reference 'System.dll'}
{$reference 'PresentationCore.dll'}
{$reference 'System.Drawing.dll'}
{$reference 'System.Drawing.Primitives.dll'}
{$reference 'System.IO.FileSystem.dll'}

uses System.Windows.Forms,
System.Windows.Media,
System.Drawing,
System.IO,
System;

var myForm: Form;
var myButton:Button;
var mp:MediaPlayer;
var baseUri:Uri;
var FileDialog: openFileDialog;
var menuStrip1: MenuStrip;
var toolStripMenuItem1: ToolStripMenuItem;
var f: text;
var listBox1:ListBox;
var Lab:System.Windows.Forms.Label;
var tb:System.Windows.Forms.TrackBar;
var counter:integer := 1;
procedure Set_MusicFile(s:string);
begin
Lab.Text := Path.GetFileNameWithoutExtension(s);
end;

procedure OnClick_AddPlayList(sender: object; e: System.EventArgs);
begin
FileDialog := new OpenFileDialog();
FileDialog.ShowDialog();

if (length(FileDialog.FileName) = 0) then begin
MessageBox.Show('Выберите музыкальный файл');
exit();
end;
assign(f,'text.txt');
append(f);
writeln(f,FileDialog.FileName);
Close(f);
Set_MusicFile(FileDialog.FileName);
end;


procedure OnClick_Stop(sender: object; e: System.EventArgs);
begin
mp.Stop();
end;

procedure OnClick_PlayList(sender: object; e: System.EventArgs);
begin
var myForm := new Form;
myForm.BackColor := System.Drawing.Color.White;
myForm.Width := 500;
myForm.Height:= 500;
myForm.Text := 'Список треков';
listBox1 := new ListBox();
listBox1.Width := 500;
listBox1.Height := 500;
assign(f,'text.txt');

if not fileexists('text.txt') then
begin
rewrite(f);
close(f);
end;

reset(f);
var s: string;
while not eof (f) do begin
readln(f,s);
listBox1.Items.Add(s);
writeln(s);
end;
close(f);
myForm.Controls.Add(listBox1);
myForm.Show();
end;

procedure ExitProgramm(sender: object; e: System.EventArgs);
begin
myForm.Close();
end;

procedure OnClick_FirstFile(sender: object; e: System.EventArgs);
begin
counter := 1;
assign(f,'text.txt');
reset(f);
var s: string;
readln(f,s);
Set_MusicFile(s);
close(f);
FileDialog := new OpenFileDialog();
FileDialog.FileName := s;

end;

procedure OnClick_EndFile(sender: object; e: System.EventArgs);
begin
counter := 0;
assign(f,'text.txt');
reset(f);
var s: string;
while not eof (f) do begin
readln(f,s);
end;
close(f);
Set_MusicFile(s);
FileDialog := new OpenFileDialog();
FileDialog.FileName := s;
end;

procedure OnClick_Play(sender: object; e: System.EventArgs);
begin
baseUri := new Uri(FileDialog.FileName,UriKind.Relative);
mp.Open(baseUri);
mp.Play();
end;

procedure OnClick_DirPlayList(sender: object; e: System.EventArgs);
begin
var dir := new FolderBrowserDialog();
dir.ShowDialog();
if (length(dir.SelectedPath) = 0) then begin
MessageBox.Show('Выберите директория с файлами');
exit();
end;

var filesList: array of string := System.IO.Directory.GetFiles(dir.SelectedPath, '*.mp3', System.IO.SearchOption.AllDirectories);

assign(f,'text.txt');
append(f);

for var i := 1 to length(filesList) - 1 do begin
writeln(f,filesList[i]);
end;

Close(f);
end;


procedure Copy_File(fn1:string;fn2:string);
begin
var f1,f2: text;
var s: string;
 
assign (f1, fn1);
reset (f1);
assign (f2, fn2);
rewrite (f2);
while not eof (f1) do begin
readln (f1, s);
writeln (f2, s)
end;
 
close (f1);
close (f2);

end;


procedure OnClick_MakePlayList(sender: object; e: System.EventArgs); 
begin

var  res := MessageBox.Show('Действительно хотите сделать копию  плейлиста', 'Сообщение',MessageBoxButtons.YesNo);
if (res = System.Windows.Forms.DialogResult.Yes) then begin
Copy_File('text.txt','copytext.txt');
MessageBox.Show('Копия плейлиста сделана');
end
else begin
exit();
end;


end;

procedure OnClick_RestorePlayList(sender: object; e: System.EventArgs); 
begin


var  res := MessageBox.Show('Действительно хотите восстановить  плейлист', 'Сообщение',MessageBoxButtons.YesNo);
if (res = System.Windows.Forms.DialogResult.Yes) then begin
Copy_File('copytext.txt','text.txt');
MessageBox.Show('Плейлист восстановлен');
end
else begin
exit();
end;

end;

procedure OnClick_ClearPlayList(sender: object; e: System.EventArgs); 
begin

var  res := MessageBox.Show('Действительно хотите очистить  плейлист', 'Сообщение',MessageBoxButtons.YesNo);
if (res = System.Windows.Forms.DialogResult.Yes) then begin
assign (f,'text.txt');
rewrite (f);
close(f);
MessageBox.Show('Плейлист опустошен');
end
else begin
exit();
end;

end;
procedure OnClick_NextTrack(sender: object; e: System.EventArgs); 
begin
var fn1:array [1..1000] of string;
var ind:integer := 0;
assign(f,'text.txt');
reset(f);
var s: string;
while not eof (f) do begin
readln(f,s);
ind := ind + 1;
fn1[ind] := s;

end;
close(f);
counter := counter + 1;

writeln(ind);
if (ind < counter ) then begin 
exit();
end;

FileDialog := new OpenFileDialog();
FileDialog.FileName := fn1[counter];

Set_MusicFile(FileDialog.FileName);

end;

procedure Changed_TrackBar(sender: object; e: System.EventArgs);
begin
  
mp.Volume := tb.Value/100;
end;


begin
myForm := new Form;
myForm.BackColor := System.Drawing.Color.White;
myForm.Width := 500;
myForm.Height:= 500;
myForm.Text := 'Форма';

Lab := new System.Windows.Forms.Label;
Lab.Top :=  50;
Lab.left := 0;
Lab.Width := 500;
Lab.Height:= 100;
Lab.Text := 'Имя файла';
Lab.Font := new System.Drawing.Font('Arial',16);
myForm.Controls.Add(Lab);

myButton := new Button;
myButton.BackColor := System.Drawing.Color.Red;
myButton.Width := 100;
myButton.Height:= 100;
myButton.Text := 'Остановить музыку';
myButton.Top :=  Round((myForm.Width - myButton.Width)/2);
myButton.left := Round((myForm.Height - myButton.Height)/2);
myButton.Click += OnClick_Stop;

var myButton2 := new Button;
myButton2.BackColor := System.Drawing.Color.Red;
myButton2.Width := 100;
myButton2.Height:= 100;
myButton2.Text := 'Начало плейлиста';
myButton2.Top :=  Round((myForm.Width - myButton.Width)/2);
myButton2.left := Round((myForm.Height - myButton.Height)/2)-150;
myButton2.Click += OnClick_FirstFile;
myForm.Controls.Add(myButton2);

var myButton3 := new Button;
myButton3.BackColor := System.Drawing.Color.Red;
myButton3.Width := 100;
myButton3.Height:= 100;
myButton3.Text := 'Конец плейлиста';
myButton3.Top :=  Round((myForm.Width - myButton.Width)/2);
myButton3.left := Round((myForm.Height - myButton.Height)/2)+150;
myButton3.Click += OnClick_EndFile;
myForm.Controls.Add(myButton3);


var myButton4 := new Button;
myButton4.BackColor := System.Drawing.Color.Red;
myButton4.Width := 100;
myButton4.Height:= 100;
myButton4.Text := 'Воспроизвести';
myButton4.Top :=  Round((myForm.Width - myButton.Width)/2)+150;
myButton4.left := Round((myForm.Height - myButton.Height)/2);
myButton4.Click += OnClick_Play;
myForm.Controls.Add(myButton4);


var myButton5 := new Button;
myButton5.BackColor := System.Drawing.Color.Red;
myButton5.Width := 100;
myButton5.Height:= 100;
myButton5.Text := 'Следущий трек';
myButton5.Top :=  Round((myForm.Width - myButton.Width)/2)+150;
myButton5.left := Round((myForm.Height - myButton.Height)/2)+150;
myButton5.Click += OnClick_NextTrack;
myForm.Controls.Add(myButton5);

myForm.Controls.Add(myButton);
menuStrip1 := new MenuStrip();
toolStripMenuItem1 := new ToolStripMenuItem();
toolStripMenuItem1.Text := 'Файл';
menuStrip1.Items.Add(toolStripMenuItem1);
toolStripMenuItem1.DropDownItems.Add('Добавить музыкальный файл в плейлист',nil,OnClick_AddPlayList);
toolStripMenuItem1.DropDownItems.Add('Открыть плейлист',nil,OnClick_PlayList);
toolStripMenuItem1.DropDownItems.Add('Добавить в плейлист файлы директории',nil,OnClick_DirPlayList);
toolStripMenuItem1.DropDownItems.Add('Сделать копия плейлиста',nil,OnClick_MakePlayList);
toolStripMenuItem1.DropDownItems.Add('Восстановить ранее сохранный плейлист',nil,OnClick_RestorePlayList);
toolStripMenuItem1.DropDownItems.Add('Опустошить плейлист',nil,OnClick_ClearPlayList);
toolStripMenuItem1.DropDownItems.Add('Выход из программы',nil,ExitProgramm);
myForm.Controls.Add(menuStrip1);
mp := new MediaPlayer();

tb:= new System.Windows.Forms.TrackBar;
tb.Top := 150;
tb.Left := 0;
tb.Maximum := 100;
tb.Minimum := 0;
tb.Size := new System.Drawing.Size(450, 45);
tb.ValueChanged += Changed_TrackBar;
myForm.Controls.Add(tb);
Application.Run(myForm);
end.

Категория: PABC | Добавил: moskov (21.01.2020)
Просмотров: 203 | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Меню сайта

Категории раздела

PHP [41]
C++ [71]
Autoit [108]
Processing [105]
Basic4GL [7]
Fasm [2]
PABC [7]
Js [233]
Gentee [1]
Python [204]
Java android [3]
Small Basic [9]

Мини-чат

Статистика


Онлайн всего: 5
Гостей: 5
Пользователей: 0

Форма входа

Друзья сайта

  • ЗОВ КОСМОСА

  • Хулиган Вселенной

  • Тюремная поэзия

  • Религиозная поэзия

  • Сайт клана ЛеГиоН
  • Поиск