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

📄 mainplay.pas

📁 unit Video interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, stdctrl
💻 PAS
📖 第 1 页 / 共 5 页
字号:

end;

procedure TMainForm.ReadTabGrid;
var
  i, j: Integer;
begin
  Grid.Clear;
  j := 0;
  Index1 := Index1 + 1;
  if Index1 > TabGrid.RowCount - 1 then
    Index1 := 1;
  TabGrid.row := Index1;
  for i := Index1 to TabGrid.RowCount - 1 do
    begin
      if (((DateToStr(Now) >= TabGrid.Cells[2, i]) and
        (DateToStr(Now) <= TabGrid.Cells[4, i]) and
        (TimeToStr(Now) >= TabGrid.Cells[3, i]) and
        (TimeToStr(Now) <= TabGrid.Cells[5, i])) or
        (TabGrid.Cells[2, i] = '')) and (TabGrid.Cells[1, i] <> '')  then
        begin
          Index1 := i;
          TabGrid.row := Index1;
          j := 1;
          Grid.LoadFromcsv(Path + 'prg\' + TabGrid.Cells[1, i]);
          MainForm.Caption := Path + 'prg\' + TabGrid.Cells[1, i];
          btnPlayClick(Self);
          Break;
        end;
    end;
  if j = 0 then
    begin
      for i := 1 to TabGrid.RowCount - 1 do
        begin
          if (((DateToStr(Now) >= TabGrid.Cells[2, i]) and
            (DateToStr(Now) <= TabGrid.Cells[4, i]) and
            (TimeToStr(Now) >= TabGrid.Cells[3, i]) and
            (TimeToStr(Now) <= TabGrid.Cells[5, i])) or
            (TabGrid.Cells[2, i] = '')) and (TabGrid.Cells[1, i] <> '') then
            begin
              Index1 := i;
              TabGrid.row := Index1;
              Grid.LoadFromcsv(Path + 'prg\' + TabGrid.Cells[1, i]);
              MainForm.Caption := Path + 'prg\' + TabGrid.Cells[1, i];
              btnPlayClick(Self);
              Break;
            end;
        end;
    end;
end;

procedure TMainForm.GridRowMoved(Sender: TObject; FromIndex,
  ToIndex: Integer);
begin
  Grid.AutoNumberCol(0);
end;

procedure TMainForm.TabGridDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := True;
end;

procedure TMainForm.TabGridDragDrop(Sender, Source: TObject; X,
  Y: Integer);
begin
  if TabGrid.Row<>0 then
  begin
  	TabGrid.Cells[1, TabGrid.row] := ExtractFileName(CtbFileList.FileName);
    TabGrid.autonumbercol(0);
	  TabGrid.SetFocus;
	end;
end;

procedure TMainForm.GridDblClickCell(Sender: TObject; Arow, Acol: Integer);
begin

  IndexRow := Arow;
  if (Acol = 1) and (Trim(Grid.Cells[1, Arow]) <> '') then
    begin
      playdlg.FXLabel1.DeletePicture;
      playdlg.SaveBack;
      playdlg.SaveBackPrv;
      if Grid.Cells[1, Arow] = '文字命令' then
        ReadGrid_Text
      else
        if Grid.Cells[1, Arow] = '图形命令' then
          ReadGrid_Grp
        else
          if Grid.Cells[1, Arow] = '动画命令' then
            ReadGrid_Avi
          else
            if Grid.Cells[1, Arow] = '清屏命令' then
              ReadGrid_Cls;
      GridPanel.Enabled := False;
      SimPanel.Enabled := False;
      FontDlg.fximage2.FXEnabled := False;
    end
  else
    Exit;
end;

procedure TMainForm.N4Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  GridIns := False;
  if Application.MessageBox('文件是否存盘?', '警告', MB_OKCANCEL +
    MB_DEFBUTTON1) = IDOK then
    SaveGridFile
  else
    Grid.ClearRows(1, Grid.RowCount - 1);
  with PlayDlg.FXLabel1 do
    begin
      TEffect := 0;
      TDelay := 1;
      TGrain := 10;
      TEnabled := True;
      TOnly := True;
      FXEnabled := True;
      Update := True;
      Refresh;
      Paint;
    end;
  Playdlg.Image1.Picture := nil;
  Playdlg.Image2.Picture := nil;
  PlayDlg.BackBmp;
  Grid.RowCount := 2;
  MainForm.Caption := '';
end;

procedure TMainForm.N6Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  GridIns := False;
  SaveGridFile;
end;

procedure TMainForm.N3Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  GridIns := False;
  if Application.MessageBox('文件是否存盘?', '警告', MB_OKCANCEL +
    MB_DEFBUTTON1) = IDOK then
    SaveGridFile;
  openfile.InitialDir := '';
  openfile.Filter := '';
  openfile.InitialDir := Path + 'prg\';
  openfile.Filter := '节目文件|*.ply';
  if Openfile.Execute then
    if openfile.Files.Strings[0] <> '' then
      begin
        Grid.ClearRows(1, Grid.RowCount - 1);
        Grid.RowCount := 2;
        Grid.LoadFromCSV(Openfile.filename);
        MainForm.Caption := Openfile.filename;
        Grid.AutoNumberCol(0);
      end;

end;

procedure TMainForm.N16Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  GridIns := False;
  TabPanel.Visible := not TabPanel.Visible;
  if TabPanel.Visible then
    TabGrid.SetFocus;
end;

procedure TMainForm.N17Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  GridIns := False;
  IndexRow := 1;
  Grid.TopRow := 1;
  Grid.Row := 1;
  SimFlag.Active := True;
  btnPlayClick(Self);
end;

procedure TMainForm.N19Click(Sender: TObject);
begin
  btnStepClick(Self);
end;

procedure TMainForm.N22Click(Sender: TObject);
begin
  IndexRow := 1;
  Grid.TopRow := 1;
  Grid.Row := 1;
  btnPlayClick(Self);
end;

procedure TMainForm.N9Click(Sender: TObject);
begin
  sendmessage(mainform.Handle, WM_CLOSE, 0, 0);
end;

procedure TMainForm.N34Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  playdlg.SaveBack;
  playdlg.BackBmp;
  GridIns := False;
  Text_Command;
end;

procedure TMainForm.N37Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  playdlg.SaveBack;
  playdlg.BackBmp;
  GridIns := False;
  grp_Command;
end;

procedure TMainForm.N35Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  playdlg.SaveBack;
  playdlg.BackBmp;
  GridIns := False;
  cls_Command
end;

procedure TMainForm.N36Click(Sender: TObject);
begin
  playdlg.FXLabel1.FXEnabled := False;
  playdlg.SaveBack;
  playdlg.BackBmp;
  GridIns := False;
  flc_Command;

end;

procedure TMainForm.N11Click(Sender: TObject);
begin
  N14.Enabled := True;
  Edit_Copy1Click(self);
end;

procedure TMainForm.N14Click(Sender: TObject);
begin
  N14.Enabled := False;
  Edit_Paste1Click(self);
end;

procedure TMainForm.N24Click(Sender: TObject);
begin
  Pospanel.Visible := not Pospanel.Visible;
end;

procedure TMainForm.N28Click(Sender: TObject);
begin
  N28.Checked := not N28.Checked;
  N10.Checked := not N10.Checked;
  TabPanel.Visible := not TabPanel.Visible;
end;

procedure TMainForm.N27Click(Sender: TObject);
begin
  N27.Checked := not N27.Checked;
  N2.Checked := not N2.Checked;
  GridPanel.Visible := not GridPanel.Visible;
end;

procedure TMainForm.N30Click(Sender: TObject);
begin
  N30.Checked := not N30.Checked;
  N23.Checked := not N23.Checked;
  Pospanel.Visible := not Pospanel.Visible;
end;

procedure TMainForm.N31Click(Sender: TObject);
begin
  N31.Checked := not N31.Checked;
  N25.Checked := not N25.Checked;
  if playdlg.showing then
    playdlg.Hide
  else
    playdlg.Show;
end;

procedure TMainForm.N32Click(Sender: TObject);
begin
  N32.Checked := not N32.Checked;
  N33.Checked := not N33.Checked;
  if fontdlg.showing then
    fontdlg.Hide
  else
    fontdlg.Show;
end;

procedure TMainForm.N12Click(Sender: TObject);
begin
  N12.Checked := not N12.Checked;
  N15.Checked := not N15.Checked;
  SimPanel.Visible := not SimPanel.Visible;
end;

procedure TMainForm.MenuOff;
begin
  mnuCommand.Enabled := False;
  mnuEdit.Enabled := False;
  mnuPrg.Enabled := False;
  mnuSim.Enabled := False;
  mnuWindow.Enabled := False;
end;

procedure TMainForm.MenuOn;
begin
  mnuCommand.Enabled := True;
  mnuEdit.Enabled := True;
  mnuPrg.Enabled := True;
  mnuSim.Enabled := True;
  mnuWindow.Enabled := True;
end;

procedure TMainForm.GridPanelMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  GridPanel.Perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TMainForm.SimPanelMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SimPanel.Perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TMainForm.TabPanelMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  TabPanel.Perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TMainForm.PosPanelMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  Pospanel.Perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TMainForm.btnVcdStopClick(Sender: TObject);
begin
  VcdSize.Enabled := True;
  VcdSavePos.Enabled := True;
  playdlg.VCD.Notify := False;
  playdlg.VCD.Command := CMD_Close;
  playdlg.VCD.Command := CMD_none;
  playdlg.VCD.Visible := False;
  btnVcdPlay.Enabled := True;
  btnVcdStop.Enabled := False;
  playdlg.edittext.Visible := False;
  playdlg.BringToFront;
end;

procedure TMainForm.btnVcdPlayClick(Sender: TObject);
begin
  if ListBox1.Items.Count = 0 then
    begin
      MessageDlg('未选择要播放的文件', mtError, [mbOK], 0);
      Exit;
    end;
  if VcdCount > ListBox1.Items.Count - 1 then
    begin
      btnVcdStopclick(Self);
      Exit;
    end;
  btnVcdPlay.Enabled := False;
  btnVcdStop.Enabled := True;
  VcdSize.Enabled := False;
  VcdSavePos.Enabled := False;
  if playdlg.Flc.Visible = True then
    begin
      playdlg.Flc.PlayState := 0;
      playdlg.Flc.Visible := False;
      playdlg.Flc.FileName := '';
      IndexRow := IndexRow + 1;
      playdlg.FXLabel1.Notify := True;
      Sim_Grid;
    end;
  ReadVcdReg;
  playdlg.EditText.Visible := False;
  playdlg.VCD.Command := CMD_none;
  playdlg.VCD.FileName := ListBox1.Items[VcdCount];
  playdlg.VCD.Visible := True;
  playdlg.VCD.Command := CMD_OpenAndPlay;
  playdlg.VCD.Notify := True;
  playdlg.BringToFront;
  playdlg.VCD.BoundsRect := playdlg.EditText.BoundsRect;
end;

procedure TMainForm.ListBox1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  Accept := True;
end;

procedure TMainForm.ListBox1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  i, j: Integer;
begin
  i := 0;
  j := FileListBox1.SelCount;
  while j <> 0 do
    begin
      if FileListBox1.Selected[i] = True then
        begin
          ListBox1.Items.Add(FileListBox1.Directory + '\' +
            FileListBox1.Items[i]);
          j := j - 1;
        end;
      i := i + 1;
    end;
end;

procedure TMainForm.ListBox1DblClick(Sender: TObject);
begin
  ListBox1.Items.Clear;
end;

procedure TMainForm.WriteVcdReg;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey('\Play2000\vcd', True) then
      begin
        Reg.WriteString('top', IntToStr(playdlg.edittext.Top));
        Reg.WriteString('Left', IntToStr(playdlg.edittext.Left));
        Reg.WriteString('Width', IntToStr(playdlg.edittext.Width));
        Reg.WriteString('Height', IntToStr(playdlg.edittext.Height));
        Reg.WriteString('drive', Vcddrive.Drive);
        Reg.WriteString('path', DirectoryListBox1.Directory);
      end;
  finally
    Reg.CloseKey;
    Reg.Free;
  end;

end;

procedure TMainForm.ReadVcdReg;

⌨️ 快捷键说明

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