Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls, ComCtrls, MPlayer;
- type
- TForm1 = class(TForm)
- Label1: TLabel;
- Label2: TLabel;
- ListBox1: TListBox;
- Image1: TImage;
- Image2: TImage;
- Image3: TImage;
- Image4: TImage;
- Image5: TImage;
- Timer1: TTimer;
- OpenDialog1: TOpenDialog;
- TrackBar1: TTrackBar;
- Image6: TImage;
- MediaPlayer1: TMediaPlayer;
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- procedure ListBox1Click(Sender: TObject);
- procedure Image6Click(Sender: TObject);
- procedure Image2Click(Sender: TObject);
- procedure ListBox1DblClick(Sender: TObject);
- procedure Image1Click(Sender: TObject);
- procedure Image3Click(Sender: TObject);
- procedure Image4Click(Sender: TObject);
- procedure Image5Click(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- procedure TrackBar1Change(Sender: TObject);
- private
- function IzdvojiIme(S: String): String;
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- a: Array[1..300]of String;
- d: String;
- implementation
- {$R *.dfm}
- function TForm1.IzdvojiIme(S: String): String;
- var
- i, k: Integer;
- T: String;
- begin
- k := 0;
- T := '';
- for i := 1 to Length(S) do
- if S[i] = '\' then
- k := i;
- for i := (k + 1) to (Length(S) - 4) do
- T := T + S[i];
- IzdvojiIme := T;
- end;
- procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- Timer1.Free;
- end;
- procedure TForm1.ListBox1Click(Sender: TObject);
- begin
- MediaPlayer1.Enabled:=true;
- TrackBar1.Enabled:=true;
- end;
- procedure TForm1.Image6Click(Sender: TObject);
- begin
- if OpenDialog1.Execute then
- begin
- a[ListBox1.Items.Count + 1] := OpenDialog1.FileName;
- ListBox1.Items.Add(IzdvojiIme(OpenDialog1.FileName));
- end;
- end;
- procedure TForm1.Image2Click(Sender: TObject);
- var
- m, s: Integer;
- mi, se: String;
- begin
- if MediaPlayer1.Enabled then
- begin
- MediaPlayer1.FileName := a[ListBox1.ItemIndex + 1];
- MediaPlayer1.Open;
- m := MediaPlayer1.Length;
- m := m - m mod 1000;
- m := m div 1000;
- s := m mod 60;
- m := m div 60;
- mi := IntToStr(m);
- if m < 10 then
- mi := '0' + mi;
- se := IntToStr(s);
- if s < 10 then
- se := '0' + se;
- d := mi + ':' + se + ' ';
- Label2.Caption := d + '00:00';
- TrackBar1.Position := 0;
- TrackBar1.Max := MediaPlayer1.Length;
- MediaPlayer1.Play;
- Label1.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];
- Timer1.Enabled := True;
- end
- else
- if ListBox1.Items.Count > 0 then
- begin
- ListBox1Click(Sender);
- Image2Click(Sender);
- end;
- end;
- procedure TForm1.ListBox1DblClick(Sender: TObject);
- var
- m, s: Integer;
- mi, se: String;
- begin
- MediaPlayer1.Enabled := True;
- TrackBar1.Enabled := True;
- MediaPlayer1.FileName := a[ListBox1.ItemIndex + 1];
- MediaPlayer1.Open;
- Label1.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];
- m := MediaPlayer1.Length;
- m := m - m mod 1000;
- m := m div 1000;
- s := m mod 60;
- m := m div 60;
- mi := IntToStr(m);
- if m < 10 then
- mi := '0' + mi;
- se := IntToStr(s);
- if s < 10 then
- se := '0' + se;
- d := mi + ':' + se + ' ';
- Label2.Caption := d + '00:00';
- TrackBar1.Position := 0;
- TrackBar1.Max := MediaPlayer1.Length;
- Image2Click(Sender);
- end;
- procedure TForm1.Image1Click(Sender: TObject);
- begin
- if MediaPlayer1.Enabled then
- if ListBox1.ItemIndex > 0 then
- begin
- ListBox1.ItemIndex := ListBox1.ItemIndex - 1;
- ListBox1Click(Sender);
- MediaPlayer1.Position := 0;
- TrackBar1.Position := 0;
- if Timer1.Enabled then
- Image2Click(Sender);
- end
- else
- begin
- ListBox1.ItemIndex := ListBox1.Items.Count - 1;
- ListBox1Click(Sender);
- MediaPlayer1.Position := 0;
- TrackBar1.Position := 0;
- if Timer1.Enabled then
- Image2Click(Sender);
- end;
- end;
- procedure TForm1.Image3Click(Sender: TObject);
- begin
- if MediaPlayer1.Enabled then
- begin
- MediaPlayer1.Pause;
- Timer1.Enabled := False;
- end;
- end;
- procedure TForm1.Image4Click(Sender: TObject);
- begin
- if MediaPlayer1.Enabled then
- begin
- MediaPlayer1.Stop;
- Label2.Caption := d + '00:00';
- Timer1.Enabled := False;
- TrackBar1.Position := 0;
- end;
- end;
- procedure TForm1.Image5Click(Sender: TObject);
- begin
- if MediaPlayer1.Enabled then
- if ListBox1.ItemIndex < (ListBox1.Items.Count - 1) then
- begin
- ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
- ListBox1Click(Sender);
- MediaPlayer1.Position := 0;
- TrackBar1.Position := 0;
- if Timer1.Enabled then
- Image2Click(Sender);
- end
- else
- begin
- ListBox1.ItemIndex := 0;
- ListBox1Click(Sender);
- MediaPlayer1.Position := 0;
- TrackBar1.Position := 0;
- if Timer1.Enabled then
- Image2Click(Sender);
- end;
- end;
- procedure TForm1.Timer1Timer(Sender: TObject);
- var
- m, s: Integer;
- mi, se: String;
- begin
- m := MediaPlayer1.Position;
- m := m - m mod 1000;
- m := m div 1000;
- s := m mod 60;
- m := m div 60;
- mi := IntToStr(m);
- if m < 10 then
- mi := '0' + mi;
- se := IntToStr(s);
- if s < 10 then
- se := '0' + se;
- Label2.Caption := d + mi + ':' + se;
- TrackBar1.Position := MediaPlayer1.Position;
- if MediaPlayer1.Position = MediaPlayer1.Length then
- Image5Click(Sender);
- end;
- procedure TForm1.TrackBar1Change(Sender: TObject);
- begin
- if MediaPlayer1.Enabled then
- MediaPlayer1.Position := TrackBar1.Position;
- if Timer1.Enabled then
- MediaPlayer1.Play;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement