Advertisement
Guest User

Untitled

a guest
May 20th, 2014
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.87 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls, ExtCtrls, ComCtrls, MPlayer;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Label1: TLabel;
  12. Label2: TLabel;
  13. ListBox1: TListBox;
  14. Image1: TImage;
  15. Image2: TImage;
  16. Image3: TImage;
  17. Image4: TImage;
  18. Image5: TImage;
  19. Timer1: TTimer;
  20. OpenDialog1: TOpenDialog;
  21. TrackBar1: TTrackBar;
  22. Image6: TImage;
  23. MediaPlayer1: TMediaPlayer;
  24. procedure FormClose(Sender: TObject; var Action: TCloseAction);
  25. procedure ListBox1Click(Sender: TObject);
  26. procedure Image6Click(Sender: TObject);
  27. procedure Image2Click(Sender: TObject);
  28. procedure ListBox1DblClick(Sender: TObject);
  29. procedure Image1Click(Sender: TObject);
  30. procedure Image3Click(Sender: TObject);
  31. procedure Image4Click(Sender: TObject);
  32. procedure Image5Click(Sender: TObject);
  33. procedure Timer1Timer(Sender: TObject);
  34. procedure TrackBar1Change(Sender: TObject);
  35. private
  36. function IzdvojiIme(S: String): String;
  37.  
  38. public
  39. { Public declarations }
  40. end;
  41.  
  42. var
  43. Form1: TForm1;
  44. a: Array[1..300]of String;
  45. d: String;
  46.  
  47.  
  48. implementation
  49.  
  50. {$R *.dfm}
  51. function TForm1.IzdvojiIme(S: String): String;
  52. var
  53. i, k: Integer;
  54. T: String;
  55. begin
  56. k := 0;
  57. T := '';
  58. for i := 1 to Length(S) do
  59. if S[i] = '\' then
  60. k := i;
  61. for i := (k + 1) to (Length(S) - 4) do
  62. T := T + S[i];
  63. IzdvojiIme := T;
  64. end;
  65.  
  66. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  67. begin
  68. Timer1.Free;
  69. end;
  70.  
  71.  
  72.  
  73. procedure TForm1.ListBox1Click(Sender: TObject);
  74. begin
  75. MediaPlayer1.Enabled:=true;
  76. TrackBar1.Enabled:=true;
  77. end;
  78.  
  79. procedure TForm1.Image6Click(Sender: TObject);
  80. begin
  81. if OpenDialog1.Execute then
  82. begin
  83. a[ListBox1.Items.Count + 1] := OpenDialog1.FileName;
  84. ListBox1.Items.Add(IzdvojiIme(OpenDialog1.FileName));
  85. end;
  86. end;
  87.  
  88. procedure TForm1.Image2Click(Sender: TObject);
  89. var
  90. m, s: Integer;
  91. mi, se: String;
  92. begin
  93. if MediaPlayer1.Enabled then
  94. begin
  95. MediaPlayer1.FileName := a[ListBox1.ItemIndex + 1];
  96. MediaPlayer1.Open;
  97. m := MediaPlayer1.Length;
  98. m := m - m mod 1000;
  99. m := m div 1000;
  100. s := m mod 60;
  101. m := m div 60;
  102. mi := IntToStr(m);
  103. if m < 10 then
  104. mi := '0' + mi;
  105. se := IntToStr(s);
  106. if s < 10 then
  107. se := '0' + se;
  108. d := mi + ':' + se + ' ';
  109. Label2.Caption := d + '00:00';
  110. TrackBar1.Position := 0;
  111. TrackBar1.Max := MediaPlayer1.Length;
  112. MediaPlayer1.Play;
  113. Label1.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];
  114. Timer1.Enabled := True;
  115. end
  116. else
  117. if ListBox1.Items.Count > 0 then
  118. begin
  119. ListBox1Click(Sender);
  120. Image2Click(Sender);
  121. end;
  122. end;
  123.  
  124. procedure TForm1.ListBox1DblClick(Sender: TObject);
  125. var
  126. m, s: Integer;
  127. mi, se: String;
  128. begin
  129. MediaPlayer1.Enabled := True;
  130. TrackBar1.Enabled := True;
  131. MediaPlayer1.FileName := a[ListBox1.ItemIndex + 1];
  132. MediaPlayer1.Open;
  133. Label1.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];
  134. m := MediaPlayer1.Length;
  135. m := m - m mod 1000;
  136. m := m div 1000;
  137. s := m mod 60;
  138. m := m div 60;
  139. mi := IntToStr(m);
  140. if m < 10 then
  141. mi := '0' + mi;
  142. se := IntToStr(s);
  143. if s < 10 then
  144. se := '0' + se;
  145. d := mi + ':' + se + ' ';
  146. Label2.Caption := d + '00:00';
  147. TrackBar1.Position := 0;
  148. TrackBar1.Max := MediaPlayer1.Length;
  149. Image2Click(Sender);
  150. end;
  151.  
  152. procedure TForm1.Image1Click(Sender: TObject);
  153. begin
  154. if MediaPlayer1.Enabled then
  155. if ListBox1.ItemIndex > 0 then
  156. begin
  157. ListBox1.ItemIndex := ListBox1.ItemIndex - 1;
  158. ListBox1Click(Sender);
  159. MediaPlayer1.Position := 0;
  160. TrackBar1.Position := 0;
  161. if Timer1.Enabled then
  162. Image2Click(Sender);
  163. end
  164. else
  165. begin
  166. ListBox1.ItemIndex := ListBox1.Items.Count - 1;
  167. ListBox1Click(Sender);
  168. MediaPlayer1.Position := 0;
  169. TrackBar1.Position := 0;
  170. if Timer1.Enabled then
  171. Image2Click(Sender);
  172. end;
  173. end;
  174.  
  175. procedure TForm1.Image3Click(Sender: TObject);
  176. begin
  177. if MediaPlayer1.Enabled then
  178. begin
  179. MediaPlayer1.Pause;
  180. Timer1.Enabled := False;
  181. end;
  182. end;
  183.  
  184. procedure TForm1.Image4Click(Sender: TObject);
  185. begin
  186. if MediaPlayer1.Enabled then
  187. begin
  188. MediaPlayer1.Stop;
  189. Label2.Caption := d + '00:00';
  190. Timer1.Enabled := False;
  191. TrackBar1.Position := 0;
  192. end;
  193. end;
  194.  
  195. procedure TForm1.Image5Click(Sender: TObject);
  196. begin
  197. if MediaPlayer1.Enabled then
  198. if ListBox1.ItemIndex < (ListBox1.Items.Count - 1) then
  199. begin
  200. ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
  201. ListBox1Click(Sender);
  202. MediaPlayer1.Position := 0;
  203. TrackBar1.Position := 0;
  204. if Timer1.Enabled then
  205. Image2Click(Sender);
  206. end
  207. else
  208. begin
  209. ListBox1.ItemIndex := 0;
  210. ListBox1Click(Sender);
  211. MediaPlayer1.Position := 0;
  212. TrackBar1.Position := 0;
  213. if Timer1.Enabled then
  214. Image2Click(Sender);
  215. end;
  216. end;
  217.  
  218. procedure TForm1.Timer1Timer(Sender: TObject);
  219. var
  220. m, s: Integer;
  221. mi, se: String;
  222. begin
  223. m := MediaPlayer1.Position;
  224. m := m - m mod 1000;
  225. m := m div 1000;
  226. s := m mod 60;
  227. m := m div 60;
  228. mi := IntToStr(m);
  229. if m < 10 then
  230. mi := '0' + mi;
  231. se := IntToStr(s);
  232. if s < 10 then
  233. se := '0' + se;
  234. Label2.Caption := d + mi + ':' + se;
  235. TrackBar1.Position := MediaPlayer1.Position;
  236. if MediaPlayer1.Position = MediaPlayer1.Length then
  237. Image5Click(Sender);
  238. end;
  239.  
  240. procedure TForm1.TrackBar1Change(Sender: TObject);
  241. begin
  242. if MediaPlayer1.Enabled then
  243. MediaPlayer1.Position := TrackBar1.Position;
  244. if Timer1.Enabled then
  245. MediaPlayer1.Play;
  246. end;
  247.  
  248. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement