非常好用的Delphi相册播放源代码

非常好用的DELPHI相册播放源代码

unit Unit1;

 

interface

 

uses

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

  Dialogs, StdCtrls, LMDCustomControl, LMDCustomPanel, LMDCustomBevelPanel,

  LMDSimplePanel, jpeg, ExtCtrls, LMDCustomParentPanel, LMDBackPanel,

  FileCtrl, ComCtrls, Spin, RzSpnEdt;

 

type

  TForm1 = class(TForm)

    Timer1: TTimer;

    Button2: TButton;

    Label1: TLabel;

    LMDSimplePanel2: TLMDSimplePanel;

    LMDSimplePanel1: TLMDSimplePanel;

    Image2: TImage;

    Image3: TImage;

    FileListBox1: TFileListBox;

    Timer2: TTimer;

    RadioGroup1: TRadioGroup;

    Label2: TLabel;

    RzSpinner1: TRzSpinner;

    Timer3: TTimer;

    Edit1: TEdit;

    procedure Timer1Timer(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure LMDSimplePanel2Move(Sender: TObject);

    procedure LMDSimplePanel1Move(Sender: TObject);

    procedure FormShow(Sender: TObject);

    procedure FileListBox1Click(Sender: TObject);

    procedure Timer2Timer(Sender: TObject);

    procedure RzSpinner1Change(Sender: TObject);

    procedure Timer3Timer(Sender: TObject);

    procedure Edit1Change(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Timer1Timer(Sender: TObject);

var

  times,i:word;

begin

   case RadioGroup1.ItemIndex of

  0: begin

     if image3.Left=0 then

     begin

       edit1.Text:=inttostr(strtoint(edit1.Text)+1);

     end;

     if self.LMDSimplePanel1.Left<strtoint(label1.Caption)-self.LMDSimplePanel1.Width  then

    begin

     self.LMDSimplePanel1.Left:=strtoint(label1.Caption);

    end

    else

    begin

     self.LMDSimplePanel1.Visible:=true;

     self.LMDSimplePanel1.Left:=self.LMDSimplePanel1.Left-1;

     self.image3.Width:=self.LMDSimplePanel1.Width;

     self.image3.Height:=self.LMDSimplePanel1.Height;

     self.image3.Top:=self.LMDSimplePanel1.Top;

     self.image3.Left:=self.LMDSimplePanel1.Left+self.image3.Width;

    end;

    end;

   1: begin

     if self.LMDSimplePanel1.Left=(self.LMDSimplePanel1.Width) then

     begin

       edit1.Text:=inttostr(strtoint(edit1.Text)+1);

     end;

      if self.LMDSimplePanel1.Left>strtoint(label1.Caption)+self.LMDSimplePanel1.Width   then

    begin

      self.LMDSimplePanel1.Left:=strtoint(label1.Caption);

    end

    else

    begin

     self.LMDSimplePanel1.Visible:=true;

     self.LMDSimplePanel1.Left:=self.LMDSimplePanel1.Left+1;

     self.image3.Width:=self.LMDSimplePanel1.Width;

     self.image3.Height:=self.LMDSimplePanel1.Height;

     self.image3.Top:=self.LMDSimplePanel1.Top;

     self.image3.Left:=self.LMDSimplePanel1.Left-self.image3.Width;

    end;

   end;

  2: begin

     if image3.top=0 then

     begin

       edit1.Text:=inttostr(strtoint(edit1.Text)+1);

     end;

      if self.LMDSimplePanel1.top>strtoint(label2.Caption)+self.LMDSimplePanel1.Height   then

    begin

      self.LMDSimplePanel1.Top:=strtoint(label2.Caption);

    end

    else

    begin

     self.LMDSimplePanel1.Visible:=true;

     self.LMDSimplePanel1.Left:=self.LMDSimplePanel1.Left;

     self.LMDSimplePanel1.top:=self.LMDSimplePanel1.top+1;

     self.image3.Width:=self.LMDSimplePanel1.Width;

     self.image3.Height:=self.LMDSimplePanel1.Height;

     self.image3.Left:=self.LMDSimplePanel1.Left;

     self.image3.Top:=self.LMDSimplePanel1.Top-self.image3.Height;

    end;

   end;

  3: begin

    if  (self.LMDSimplePanel1.top=0 ) or  (image3.top=-self.image3.Height)  then

     begin

       edit1.Text:=inttostr(strtoint(edit1.Text)+1);

     end;

    if self.LMDSimplePanel1.top<strtoint(label2.Caption)-self.LMDSimplePanel1.Height  then

    begin

      self.LMDSimplePanel1.Top:=strtoint(label2.Caption);

    end

    else

    begin

     self.LMDSimplePanel1.Visible:=true;

     self.LMDSimplePanel1.Left:=self.LMDSimplePanel1.Left;

     self.LMDSimplePanel1.top:=self.LMDSimplePanel1.top-1;

     self.image3.Width:=self.LMDSimplePanel1.Width;

     self.image3.Height:=self.LMDSimplePanel1.Height;

     self.image3.Left:=self.LMDSimplePanel1.Left;

     self.image3.Top:=self.LMDSimplePanel1.Top+self.image3.Height;

    end;

end;

end;

self.Timer1.Enabled:=true;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  application.ProcessMessages;

  edit1.Text:='0';

  image2.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pic\'+self.FileListBox1.Items[0]);

  image3.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pic\'+self.FileListBox1.Items[1]);

  timer1.Enabled:=not timer1.Enabled;

  timer2.Enabled:=not timer1.Enabled;

  label1.Caption:=inttostr(self.LMDSimplePanel1.Left);

  label2.Caption:=inttostr(self.LMDSimplePanel1.top);

  self.LMDSimplePanel1.Visible:=not timer2.Enabled;

  if timer1.Enabled=true then

   begin

     button2.Caption:='停止';

   end

   else

   begin

     button2.Caption:='开始播放';

   end;

end;

 

procedure TForm1.LMDSimplePanel2Move(Sender: TObject);

begin

  self.LMDSimplePanel1.Left:=0;

  self.LMDSimplePanel1.Top:=0;

  self.LMDSimplePanel1.Width:=self.LMDSimplePanel2.Width;

  self.LMDSimplePanel1.Height:=self.LMDSimplePanel2.Height;

  image3.Left:=0;

  image3.Top:=0;

  image3.Width:=self.LMDSimplePanel2.Width;

  image3.Height:=self.LMDSimplePanel2.Height;

end;

 

procedure TForm1.LMDSimplePanel1Move(Sender: TObject);

begin

  self.LMDSimplePanel1.Left:=0;

  self.LMDSimplePanel1.Top:=0;

  self.LMDSimplePanel1.Width:=self.LMDSimplePanel2.Width;

  self.LMDSimplePanel1.Height:=self.LMDSimplePanel2.Height;

  image3.Left:=0;

  image3.Top:=0;

  image3.Width:=self.LMDSimplePanel2.Width;

  image3.Height:=self.LMDSimplePanel2.Height;

end;

 

procedure TForm1.FormShow(Sender: TObject);

begin

   FileListBox1.Directory:=ExtractFileDir(ParamStr(0))+'\pic'; //

   self.LMDSimplePanel1.Left:=0;

   self.LMDSimplePanel1.Top:=0;

   self.LMDSimplePanel1.Width:=self.LMDSimplePanel2.Width;

   self.LMDSimplePanel1.Height:=self.LMDSimplePanel2.Height;

   image3.Left:=0;

   image3.Top:=0;

   image3.Width:=self.LMDSimplePanel2.Width;

   image3.Height:=self.LMDSimplePanel2.Height;

end;

 

procedure TForm1.FileListBox1Click(Sender: TObject);

begin

  image3.Picture.LoadFromFile(self.FileListBox1.FileName);  

end;

 

procedure TForm1.Timer2Timer(Sender: TObject);

begin

   self.LMDSimplePanel1.Left:=0;

   self.LMDSimplePanel1.Top:=0;

   self.LMDSimplePanel1.Width:=self.LMDSimplePanel2.Width;

   self.LMDSimplePanel1.Height:=self.LMDSimplePanel2.Height;

   image3.Left:=0;

   image3.Top:=0;

   image3.Width:=self.LMDSimplePanel2.Width;

   image3.Height:=self.LMDSimplePanel2.Height;

end;

 

procedure TForm1.RzSpinner1Change(Sender: TObject);

begin

  timer1.Interval:=self.RzSpinner1.Value*5;

  if self.RzSpinner1.Value=0 then

   begin

     self.LMDSimplePanel1.Visible:=false;

     self.Image3.left:=0;

     self.Image3.Top:=0;

   end;

end;

 

procedure TForm1.Timer3Timer(Sender: TObject);

begin

  {image2.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pic\'+self.FileListBox1.Items[FileListBox1.count-FileListBox1.count]);

  image3.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pic\'+self.FileListBox1.Items[FileListBox1.count-FileListBox1.count+1]);

  }

end;

 

procedure TForm1.Edit1Change(Sender: TObject);

begin

 if edit1.Text=inttostr(self.FileListBox1.Count) then

   begin

     edit1.Text:='1';

   end;

 if edit1.Text<>'0' then

   begin

    image3.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pic\'+self.FileListBox1.Items[strtoint(edit1.Text)]);

    image2.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pic\'+self.FileListBox1.Items[strtoint(edit1.Text)-1]);

   end;

end;