📄 main.pas
字号:
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScrollText, SUIButton, Menus, SUIPopupMenu,
SUIMainMenu, SUIForm, ExtCtrls, SUIImagePanel, CheckLst, SUICheckListBox,
SUIListBox, OleCtrls, WMPLib_TLB, MultCardActiveXControl1_TLB;
type
TForm1 = class(TForm)
suiForm1: TsuiForm;
Panel1: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
suiButton7: TsuiButton;
suiButton8: TsuiButton;
suiButton9: TsuiButton;
suiButton10: TsuiButton;
text: TScrollText;
Panel9: TPanel;
Splitter1: TSplitter;
suiPanel1: TsuiPanel;
suiListBox1: TsuiListBox;
suiPanel2: TsuiPanel;
OpenDialog1: TOpenDialog;
OpenDialog2: TOpenDialog;
suiPopupMenu1: TsuiPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N19: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
suiPopupMenu2: TsuiPopupMenu;
N20: TMenuItem;
N21: TMenuItem;
suiCheckListBox1: TsuiCheckListBox;
N22: TMenuItem;
N23: TMenuItem;
play: TWindowsMediaPlayer;
Timer1: TTimer;
Timer2: TTimer;
N24: TMenuItem;
procedure suiButton10Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure suiCheckListBox1DblClick(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure suiButton6Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure suiButton5Click(Sender: TObject);
procedure suiButton8Click(Sender: TObject);
procedure suiButton7Click(Sender: TObject);
procedure suiButton9Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N24Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
kuo:string;
implementation
uses play, main3, Unit4;
{$R *.dfm}
procedure play2(files:string); //函数一
begin
form1.play.controls.stop;
form2.sing.URL:=files;
form2.sing.controls.play;
form2.Show;
form1.Panel7.Caption:='播放';
form1.Timer1.Enabled:=false;
form1.Timer2.Enabled:=true;
form2.sing.Visible:=true;
form1.play.Visible:=false;
end;
procedure playplay(files:string); //函数二
begin
form2.sing.controls.stop;
form2.Close;
form1.play.URL:=files;
form1.play.controls.play;
form1.play.Visible:=true;
form1.Panel7.Caption:='播放';
form1.Timer2.Enabled:=false;
form2.sing.Visible:=false;
form1.Timer1.Enabled:=true;
end;
procedure TForm1.suiButton10Click(Sender: TObject); //退出程序
begin
close;
end;
procedure playlist(files:string);
begin
kuo:=AnsiLowerCase(ExtractFileExt(files));
if kuo='.wmv' then
play2(files)
else if kuo='.avi' then
play2(files)
else if kuo='.mpg' then
play2(files)
else if kuo='.mpeg' then
play2(files)
else if kuo='.dat' then
play2(files)
else if kuo='.rm' then
play2(files)
else if kuo='.rmvb' then
play2(files)
else if kuo='.mp3' then
playplay(files)
else if kuo='.wma' then
playplay(files)
else if kuo='.wav' then
playplay(files)
else if kuo='.mid' then
playplay(files)
else if kuo='.midi' then
playplay(files)
else if kuo='.jpg' then
playplay(files)
else if kuo='.jpeg' then
playplay(files)
else if kuo='.swf' then
play2(files)
else if kuo='.asf' then
play2(files);
end;
procedure TForm1.N1Click(Sender: TObject);
begin
if opendialog1.Execute then
suichecklistbox1.Items.AddStrings(opendialog1.Files);
end;
procedure TForm1.N2Click(Sender: TObject);
begin
if opendialog2.Execute then
suichecklistbox1.Items.AddStrings(opendialog2.Files);
end;
procedure TForm1.suiCheckListBox1DblClick(Sender: TObject); //双击播放
begin
playlist(suichecklistbox1.Items.Strings[suichecklistbox1.Itemindex]);
form1.text.ScrollText:=form1.suichecklistbox1.Items.Strings[form1.suichecklistbox1.Itemindex];
end;
procedure TForm1.suiButton4Click(Sender: TObject); //上一曲控制
var len:integer;
begin
len:=suichecklistbox1.ItemIndex-1;
if form1.suichecklistbox1.Itemindex>0 then
begin
playlist(form1.suichecklistbox1.Items.Strings[len]);
suichecklistbox1.ItemIndex:=suichecklistbox1.ItemIndex-1;
end
else
showmessage('大哥上面已经没有文件啦!');
end;
procedure TForm1.N23Click(Sender: TObject);
begin
form2.Show;
end;
procedure TForm1.suiButton6Click(Sender: TObject);//快进控制
begin
if form1.play.Visible=true then
form1.play.controls.currentPosition:=form1.play.controls.currentPosition+13;
if form2.sing.Visible=true then
form2.sing.controls.currentPosition:=form2.sing.controls.currentPosition+13;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var time1,time2:integer;
begin
time1:=Round(form1.play.currentMedia.duration);
time2:=Round(form1.play.controls.currentPosition);
if time2 < time1 then
begin
form1.Panel4.Caption:='现在时间:'+' '+IntToStr(time2 div 60)+':'+IntToStr(time2 mod 60);
form1.Panel6.Caption:='总时间:'+' '+IntToStr(time1 div 60)+':'+IntToStr(time1 mod 60);
end;
end;
procedure TForm1.suiButton3Click(Sender: TObject); //停止控制
begin
if form2.Visible=true then
begin
form2.sing.controls.stop;
form1.Timer2.Enabled:=false;
form2.Close;
end;
if form1.Visible=true then
begin
form1.play.controls.stop;
form1.Timer1.Enabled:=false;
end;
form1.Panel4.caption:='现在时间:'+' '+'00'+':'+'00';
form1.Panel6.Caption:='总时间:'+' '+'00'+':'+'00';
form1.Panel7.Caption:='等待';
form1.text.ScrollText:='欢迎使用小强超级播放器本软件是自由软件,可以自由传播!希望你使用愉快!';
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var time1,time2:integer;
begin
time1:=Round(form2.sing.currentMedia.duration);
time2:=Round(form2.sing.controls.currentPosition);
if time2 <time1 then
begin
form1.Panel4.Caption:='现在时间:'+' '+IntToStr(time2 div 60)+':'+IntToStr(time2 mod 60);
form1.Panel6.Caption:='总时间:'+' '+IntToStr(time1 div 60)+':'+IntToStr(time1 mod 60);
end ;
end;
procedure TForm1.suiButton1Click(Sender: TObject); //播放控制
begin
if form1.suiCheckListBox1.Checked[form1.suiCheckListBox1.ItemIndex]=true then
playlist(form1.suiCheckListBox1.Items.Strings[form1.suiCheckListBox1.ItemIndex]);
end;
procedure TForm1.suiButton5Click(Sender: TObject); //下一曲控制
var len:integer;
begin
len:=suichecklistbox1.ItemIndex+1;
if len<suiCheckListBox1.Items.Count then
begin
playlist(suichecklistbox1.Items.Strings[len]);
suichecklistbox1.ItemIndex:=suichecklistbox1.ItemIndex+1;
end
else
showmessage('大哥下面已经没有文件啦!');
end;
procedure TForm1.suiButton8Click(Sender: TObject); //静音控制
begin
if form2.Visible=true then
begin
if form1.suiButton8.Caption='静音' then
begin
form2.sing.settings.mute:=true;
form1.suiButton8.Caption:='还原';
end
else
begin
form2.sing.settings.mute:=false;
form1.suiButton8.Caption:='静音';
end;
end;
if form1.play.Visible=true then
begin
if form1.suiButton8.Caption='静音' then
begin
form1.play.settings.mute:=true;
form1.suiButton8.Caption:='还原';
end
else
begin
form1.play.settings.mute:=false;
form1.suiButton8.Caption:='静音';
end;
end;
end;
procedure TForm1.suiButton7Click(Sender: TObject); //快退控制
begin
if form1.play.Visible=true then
form1.play.controls.currentPosition:=form1.play.controls.currentPosition-2;
if form2.sing.Visible=true then
form2.sing.controls.currentPosition:=form2.sing.controls.currentPosition-2;
end;
procedure TForm1.suiButton9Click(Sender: TObject);
begin
form3.show;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
form1.suiCheckListBox1.DeleteSelected;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
form1.suiCheckListBox1.Clear;
end;
procedure TForm1.suiButton2Click(Sender: TObject);
begin
if form2.sing.Visible=true then
begin
if form1.suiButton2.Caption='暂停' then
begin
form2.sing.controls.pause;
form1.suiButton2.Caption:='继续';
end
else
begin
form2.sing.controls.play;
form1.suiButton2.Caption:='暂停';
end;
end;
if form1.play.Visible=true then
begin
if form1.suiButton2.Caption='暂停' then
begin
form1.play.controls.pause;
form1.suiButton2.Caption:='继续';
end
else
begin
form1.play.controls.play;
form1.suiButton2.Caption:='暂停';
end;
end;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
if form1.play.Visible=true then
form1.play.settings.volume:=form1.play.settings.volume+5;
if form2.sing.Visible=true then
form2.sing.settings.volume:=form2.sing.settings.volume+5;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
if form1.play.Visible=true then
form1.play.settings.volume:=form1.play.settings.volume-5;
if form2.sing.Visible=true then
form2.sing.settings.volume:=form2.sing.settings.volume-5;
end;
procedure TForm1.N20Click(Sender: TObject);
begin
form4.show;
end;
procedure TForm1.N21Click(Sender: TObject);
begin
form1.suiListBox1.Items.Delete(suilistbox1.ItemIndex);
end;
procedure TForm1.N24Click(Sender: TObject);
begin
form1.suiListBox1.Items.SaveToFile(IntToStr(suilistbox1.ItemIndex)+'.bat');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -