⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash.pas

📁 教材管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit flash;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, ComCtrls, Menus,
  ExtCtrls, XPMan, ImgList, ActnList,StdCtrls,Shellapi,registry;

type
  TFrmflash = class(TForm)
    ImageList1: TImageList;
    XPManifest1: TXPManifest;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    URL1: TMenuItem;
    N31: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N28: TMenuItem;
    N110: TMenuItem;
    N11: TMenuItem;
    N25: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N34: TMenuItem;
    N36: TMenuItem;
    N1001: TMenuItem;
    N45: TMenuItem;
    N35: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N6: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N29: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N30: TMenuItem;
    N20: TMenuItem;
    N24: TMenuItem;
    N32: TMenuItem;
    N23: TMenuItem;
    Flash1: TMenuItem;
    swfexe1: TMenuItem;
    N57: TMenuItem;
    N7: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N8: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    Timer1: TTimer;
    ImageList2: TImageList;
    OpenDialog1: TOpenDialog;
    PopupMenu1: TPopupMenu;
    N43: TMenuItem;
    URL2: TMenuItem;
    N44: TMenuItem;
    N111: TMenuItem;
    N210: TMenuItem;
    N51: TMenuItem;
    N33: TMenuItem;
    N41: TMenuItem;
    N37: TMenuItem;
    N38: TMenuItem;
    N39: TMenuItem;
    N40: TMenuItem;
    N42: TMenuItem;
    N46: TMenuItem;
    N49: TMenuItem;
    N50: TMenuItem;
    N47: TMenuItem;
    N52: TMenuItem;
    N1002: TMenuItem;
    N48: TMenuItem;
    N53: TMenuItem;
    Flash2: TMenuItem;
    exeswf1: TMenuItem;
    N54: TMenuItem;
    N55: TMenuItem;
    N56: TMenuItem;
    SaveDialog1: TSaveDialog;
    Timer2: TTimer;
    ListView1: TListView;
    ShockwaveFlash1: TShockwaveFlash;
    StatusBar1: TStatusBar;
    TrackBar1: TTrackBar;
    PopupMenu2: TPopupMenu;
    N59: TMenuItem;
    N60: TMenuItem;
    N61: TMenuItem;
    N62: TMenuItem;
    N63: TMenuItem;
    N64: TMenuItem;
    N65: TMenuItem;
    N66: TMenuItem;
    N67: TMenuItem;
     procedure mymessage(var msg:Tmsg;var handled:boolean);
    procedure N2Click(Sender: TObject);
    procedure URL1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N36Click(Sender: TObject);
    procedure N1001Click(Sender: TObject);
    procedure N45Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure N32Click(Sender: TObject);
    procedure Flash1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N59Click(Sender: TObject);
    procedure N61Click(Sender: TObject);
    procedure N63Click(Sender: TObject);
    procedure N65Click(Sender: TObject);
    procedure N67Click(Sender: TObject);
    procedure N43Click(Sender: TObject);
    procedure URL2Click(Sender: TObject);
    procedure N111Click(Sender: TObject);
    procedure N210Click(Sender: TObject);
    procedure N33Click(Sender: TObject);
    procedure N41Click(Sender: TObject);
    procedure N38Click(Sender: TObject);
    procedure N39Click(Sender: TObject);
    procedure N40Click(Sender: TObject);
    procedure N49Click(Sender: TObject);
    procedure N50Click(Sender: TObject);
    procedure N52Click(Sender: TObject);
    procedure N48Click(Sender: TObject);
    procedure Flash2Click(Sender: TObject);
    procedure N55Click(Sender: TObject);
    procedure N56Click(Sender: TObject);
    procedure N1002Click(Sender: TObject);
  private
    { Private declarations }
  public
  procedure DragFile(var msg:Tmessage);message WM_DROPFILES;
    { Public declarations }
  end;

var
  Frmflash: TFrmflash;
   myreg,reg:TRegistry;
  a:boolean;      //文件关联
  k:integer;   //listview1里的位序
  x:tlistitem;
  names:array [0..30]of string;
  h:integer;  //文件个数
  SkipFrame:integer; //定义全局变量'SkipFrame'看是手动的还是播放动的
  x1,y1:integer;//制定播放的两个点
  s:string;//改标题
implementation

{$R *.dfm}
procedure TFrmflash.mymessage(var msg:tmsg;var handled:boolean);
var mouse:tpoint;
begin
if (msg.message=WM_rbuttondown) and (msg.hwnd=shockwaveflash1.Handle) then
begin
getcursorpos(mouse);
handled:=true;
popupmenu1.Popup(mouse.x,mouse.y);
end;
end;
procedure TFrmflash.N2Click(Sender: TObject);

var i:integer;
begin
  listview1.Clear;
  if opendialog1.Execute then
  begin
  for   i:=0 to opendialog1.Files.Count-1 do
    begin
    x:=listview1.Items.Add;
    names[i]:=opendialog1.files[i];
    x.Caption:=ExtractFilename(opendialog1.Files.Strings[i]);
    h:=i+1;
    end;
  k:=0;
  shockwaveFlash1.Movie:=names[k];
  trackbar1.Max:=shockwaveflash1.TotalFrames;
  statusbar1.Panels[0].Text:='状态:正在播放....';
  statusbar1.Panels[1].Text:='当前文件: '+extractfilename(names[k]);
  statusbar1.Panels[2].Text:='当前帧数:'+inttostr(shockwaveflash1.FrameNum);
  statusbar1.Panels[3].Text:='总帧数:'+inttostr(shockwaveflash1.TotalFrames);
  timer1.Enabled:=true;
  shockwaveflash1.Play;
 end
 else
 exit;
end;

procedure TFrmflash.URL1Click(Sender: TObject);
var
   f:string;
begin
        f:=inputbox('打开URL','URL','http://');
        if (f='http://') then
                begin
                statusbar1.Panels[0].Text:='Flashplayer';
                end
        else
                try
                        statusbar1.Panels[0].Text:='状态:正在播放....';
                        statusbar1.Panels[1].Text:=f;
                        shockwaveflash1.Movie:=f;
                        shockwaveflash1.Play;
                except
                        showmessage('不是有效的URL地址');
                end;
end;

procedure TFrmflash.N3Click(Sender: TObject);
begin
 timer1.Enabled:=false;
  shockwaveflash1.Stop;
  shockwaveflash1.Movie:='fengjun.swf';
  statusbar1.Panels[0].Text:='状态:文件关闭....';
  statusbar1.Panels[1].Text:='当前文件: ';
  statusbar1.Panels[2].Text:='当前帧数:-1';
  statusbar1.Panels[3].Text:='总帧数:-1';
end;

procedure TFrmflash.N4Click(Sender: TObject);
begin
timer1.Enabled:=false;
 close;
end;
procedure TFrmflash.DragFile(var msg:Tmessage);
var p:array[0..255] of char;
    j:integer;
    aa:boolean;
begin
   dragqueryfile(msg.WParam,0,p,255);
   for j:=0 to 30 do
   begin
   if  names[j]=p then
                 begin
                 aa:=false;  break;
                 end
                 else aa:=true;
   end;
   if  (extractfileext(p)='.swf') then
   begin
         if aa=true then
         begin
         x:=listview1.Items.Add;
         names[h]:=p;
         x.Caption:=extractfilename(p);
         h:=h+1;
         if k=0 then
            shockwaveflash1.Movie:=names[0];
            trackbar1.Max:=shockwaveflash1.TotalFrames;
            timer1.Enabled:=true;
            shockwaveflash1.Play;
         end
         else
         exit;
   end
   else
     begin
     showmessage('对不起,FlashPlayer不能播放此类文件');
     end;

 end;
procedure TFrmflash.FormCreate(Sender: TObject);

var
t:array[0..80]of char;
begin
    shockwaveflash1.Quality:=3;
    n59.Bitmap:=n2.Bitmap;
    n63.Bitmap:=n18.Bitmap;
    n65.Bitmap:=n19.Bitmap;
    s:=extractfilepath(application.ExeName)+'set.ini';
    GetPrivateProfileString('section','key1',nil,t,80,pansichar(s));
    if t<>'' then
Frmflash.Caption:='FlashPlayer-'+t+'专用版';
savedialog1.Title:='保存图象';
screen.HintFont.Color:=clpurple;
n21.Checked:=true;
n21.ImageIndex:=0;
n22.Checked:=true;
n22.ImageIndex:=0;
n43.Bitmap :=  n2.Bitmap;
URL2.Bitmap:=  URL1.Bitmap;
n111.Bitmap:=  n12.Bitmap;
n210.Bitmap:=  n13.Bitmap;
n39.Bitmap :=  n10.Bitmap;
n40.Bitmap :=  n28.Bitmap;
n52.Bitmap :=  n36.Bitmap;
DragAcceptFiles(Frmflash.Handle,true);
application.OnMessage:=mymessage;
//xpmenu1.Active:=true;
    if Paramstr(1)<>'' then
      begin
        k:=0;
        shockwaveflash1.Movie:=Paramstr(1);
        shockwaveflash1.Play;
        //edit1.Text:=Paramstr(1);
       // names[0]:=edit1.Text;
        listview1.Items.Add;
        listview1.Items[0].Caption:= ExtractFilename(Paramstr(1));
        timer1.Enabled:=true;
        trackbar1.Max:=shockwaveflash1.TotalFrames;
        statusbar1.Panels[0].Text:='状态:正在播放....';
        statusbar1.Panels[1].Text:='当前文件: '+extractfilename(Paramstr(1));
        statusbar1.Panels[2].Text:='当前帧数:'+inttostr(shockwaveflash1.FrameNum);
        statusbar1.Panels[3].Text:='总帧数:'+inttostr(shockwaveflash1.TotalFrames);
        h:=1;
      end
      else begin
           statusbar1.Panels[0].Text:='FlashPlayer播放器';
           statusbar1.Panels[3].Text:='Made By: 江智勇';
           end;
reg:=TRegistry.create;
reg.RootKey:=HKEY_CLASSES_ROOT;
with reg do
begin
  reg.OpenKey('\.swf\shell\open',false);
   if reg.readstring('')='用FlashPlayer播放' then
     begin
       a:=true;
       flash1.Checked:=true;
       flash2.Checked:=true;
       reg.Free;
     end
    else
      begin
        a:=false;
        flash1.Checked:=false;
        flash1.Checked:=false;
        reg.Free;
      end;
end;

end;

procedure TFrmflash.FormResize(Sender: TObject);
begin
ActiveControl:= nil;
 ActiveControl:= ShockwaveFlash1;
 statusbar1.Panels[1].Width:=statusbar1.Width-statusbar1.Panels[0].Width-statusbar1.Panels[2].Width-statusbar1.Panels[3].Width;
end;


procedure TFrmflash.N9Click(Sender: TObject);
begin
if listview1.Visible=true then
  N21.Click;
  n21.Enabled:=false;//不用n21
  self.WindowState:=wsMaximized;
  frmflash.BorderStyle:=bsnone;
end;

procedure TFrmflash.N10Click(Sender: TObject);
var i:integer;
begin
  n21.Enabled:=true;//用n21
  for i:=1 to 3 do   //这两句,我也不想加。
  n21.Click;         //但只有这样才能运行正常。唉!
  self.WindowState:= wsNormal;
  frmflash.Width:=572;
  frmflash.Height:=394;
  frmflash.BorderStyle:=bssizeable;
end;

procedure TFrmflash.N28Click(Sender: TObject);
begin
if n28.Checked=false then
begin
n28.Checked:=true;
n40.Checked:=true;
setwindowpos(frmflash.Handle,HWND_TOPMOST,frmflash.Left,frmflash.Top,frmflash.Width,frmflash.Height,0);
end
else
begin
n28.Checked:=false;
n40.Checked:=false;
setwindowpos(frmflash.Handle,HWND_NOTOPMOST,frmflash.Left,frmflash.Top,frmflash.Width,frmflash.Height,0);
end;
end;

procedure TFrmflash.N25Click(Sender: TObject);
begin
n25.imageindex:= 0;
  n26.imageindex:=-1;
  n27.imageindex:=-1;
  shockwaveflash1.Quality:=3;
  n49.ImageIndex:=0;
  n50.ImageIndex:=-1;
end;

procedure TFrmflash.N26Click(Sender: TObject);
begin
n25.imageindex:=-1;
  n26.imageindex:=0;
  shockwaveflash1.Quality:=1;
end;

procedure TFrmflash.N27Click(Sender: TObject);
begin
 n25.imageindex:=-1;
   n26.imageindex:=-1;
   n27.imageindex:=0;
   shockwaveflash1.Quality:=0;
   n49.ImageIndex:=-1;
   n50.ImageIndex:=0;
end;

procedure TFrmflash.N36Click(Sender: TObject);
begin
 n36.imageindex:=0;
  n1001.imageindex:=-1;
  shockwaveflash1.ScaleMode:=1;
  n52.ImageIndex:=0;
  n1002.ImageIndex:=-1;
end;

procedure TFrmflash.N1001Click(Sender: TObject);
begin
n36.imageindex:=-1;
  n1001.imageindex:=0;
  shockwaveflash1.ScaleMode:=3;
  n52.ImageIndex:=-1;
  n1002.ImageIndex:=0;
end;

procedure TFrmflash.N45Click(Sender: TObject);
begin
if  n45.Checked=false  then
    begin
    shockwaveflash1.Loop:=true;
    n45.ImageIndex:=0;
    n45.Checked:=true;
    n48.ImageIndex:=0;
    n48.Checked:=true
    end
    else
    begin
    shockwaveflash1.Loop:=false;
    n45.ImageIndex:=-1;
    n45.Checked:=false;
    n48.ImageIndex:=-1;
    n48.Checked:=false;
    end;
end;

procedure TFrmflash.N21Click(Sender: TObject);
begin
if n21.Checked=false then
  begin
  n21.ImageIndex:=0;
  n21.Checked:=true;
  listview1.Visible:=true;
  frmflash.Width:=frmflash.Width+listview1.Width;
  end
  else
  begin
  n21.ImageIndex:=-1;
  listview1.Visible:=false;
  n21.Checked:=false;
  frmflash.Width:=frmflash.Width-listview1.Width;
  end;
end;

procedure TFrmflash.N22Click(Sender: TObject);
begin
if n22.Checked=false then
  begin
  n22.ImageIndex:=0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -