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

📄 mainplay.pas

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

interface

uses
  Windows,
  Messages,
  SysUtils,
  Classes,
  Graphics,
  Controls,
  Forms,
  Dialogs,
  Menus,
  ComCtrls,
  OleCtrls,
  ExtCtrls,
  StdCtrls,
  AxCtrls,
  lmdextcS,
  lmdstdcS,
  lmdctrl,
  Buttons,
  FXLBL50GLib_TLB,
  registry,
  FXVID50GLib_TLB,
  AdvGrid,
  lmdclass,
  SwareCtl,
  VrControls,
  VrBlotter,
  VrNavigator,
  VrLeds,
  lmdbtn,
  lmdstdcA,
  lmdcctrl,
  VrButtons,
  FileCtrl,
  ImgList,
  video,
  mmsystem,
  VrSystem,
  Grids,
  PFlcTHread,
  VrLcd;

const
  MY_FlcStop = WM_USER + 100;

type
  TMainForm = class(TForm)
    Savefile: TSaveDialog;
    Openfile: TOpenDialog;
    commandpopup: TPopupMenu;
    textcommand: TMenuItem;
    flccommand: TMenuItem;
    clscommand: TMenuItem;
    grpcommand: TMenuItem;
    N1: TMenuItem;
    edit_copy: TMenuItem;
    edit_paste: TMenuItem;
    ScrollBox1: TScrollBox;
    TabPanel: TVrBlotter;
    GridPanel: TVrBlotter;
    Grid: TAdvStringGrid;
    PosPanel: TVrBlotter;
    LMDSpeedButton6: TLMDSpeedButton;
    LMDSpeedButton7: TLMDSpeedButton;
    LMDSpeedButton8: TLMDSpeedButton;
    LMDSpeedButton9: TLMDSpeedButton;
    btnPosOK: TLMDSpeedButton;
    btnPosCancel: TLMDSpeedButton;
    FrameHeight: TLMDSpinEdit;
    FrameWidth: TLMDSpinEdit;
    FileTb: TVrCopyFile;
    SimPanel: TVrBlotter;
    btnPlay: TVrMediaButton;
    btnStop: TVrMediaButton;
    btnStep: TVrMediaButton;
    SimFlag: TVrLed;
    MainMenu1: TMainMenu;
    mnuFile: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    mnuEdit: TMenuItem;
    N11: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    mnuPrg: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    mnuSim: TMenuItem;
    N19: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    mnuWindow: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N29: TMenuItem;
    N30: TMenuItem;
    N31: TMenuItem;
    N32: TMenuItem;
    mnuCommand: TMenuItem;
    N34: TMenuItem;
    N35: TMenuItem;
    N36: TMenuItem;
    N37: TMenuItem;
    N40: TMenuItem;
    N41: TMenuItem;
    VCD2: TMenuItem;
    N12: TMenuItem;
    vcdpanel: TVrBlotter;
    btnVcdStop: TVrMediaButton;
    btnVcdPlay: TVrMediaButton;
    Vcddrive: TDriveComboBox;
    FileListBox1: TFileListBox;
    ListBox1: TListBox;
    DirectoryListBox1: TDirectoryListBox;
    VcdSize: TVrShadowButton;
    VcdSavePos: TVrShadowButton;
    Winpop: TPopupMenu;
    N2: TMenuItem;
    N10: TMenuItem;
    N15: TMenuItem;
    N18: TMenuItem;
    N23: TMenuItem;
    N25: TMenuItem;
    N33: TMenuItem;
    N42: TMenuItem;
    VCD3: TMenuItem;
    N43: TMenuItem;
    VCD4: TMenuItem;
    Video1: TMenuItem;
    N44: TMenuItem;
    videopanel: TVrBlotter;
    btnVideoPlay: TVrMediaButton;
    ComboBox1: TComboBox;
    VideoSource: TVrShadowButton;
    VideoSave: TVrShadowButton;
    btnVideoStop: TVrMediaButton;
    btnVideoSize: TVrShadowButton;
    VrUserLed1: TVrUserLed;
    VrUserLed2: TVrUserLed;
    TabGrid: TAdvStringGrid;
    VrBlotter7: TVrBlotter;
    DTApplay: TVrUserLed;
    StartData: TDateTimePicker;
    StartTime: TDateTimePicker;
    EndData: TDateTimePicker;
    EndTime: TDateTimePicker;
    VrMediaButton1: TVrMediaButton;
    VrMediaButton2: TVrMediaButton;
    TabNum: TVrNum;
    CtbFileList: TFileListBox;
    VrShadowButton1: TVrShadowButton;
    VrShadowButton2: TVrShadowButton;
    N7: TMenuItem;
    N20: TMenuItem;
    N24: TMenuItem;
    N38: TMenuItem;
    N39: TMenuItem;
    N45: TMenuItem;
    N46: TMenuItem;
    N47: TMenuItem;
    N48: TMenuItem;
    N49: TMenuItem;
    VCD1: TMenuItem;
    N50: TMenuItem;

    procedure FormCreate(Sender: TObject);
    procedure Text_Command;
    procedure Grp_Command;
    procedure Flc_Command;
    procedure Cls_Command;
    procedure textcommandClick(Sender: TObject);
    procedure flccommandClick(Sender: TObject);
    procedure clscommandClick(Sender: TObject);
    procedure grpcommandClick(Sender: TObject);
    procedure Edit_Copy1Click(Sender: TObject);
    procedure Edit_Paste1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure GridGetCellColor(Sender: TObject; ARow, ACol: Integer;
      AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
    procedure GridGetAlignment(Sender: TObject; ARow, ACol: Integer;
      var AAlignment: TAlignment);
    procedure GridAutoInsertRow(Sender: TObject; ARow: Integer);
    procedure GridAutoDeleteRow(Sender: TObject; aRow: Integer);
    procedure AdvStringGrid1AutoInsertRow(Sender: TObject; ARow: Integer);
    procedure AdvStringGrid1GetAlignment(Sender: TObject; ARow,
      ACol: Integer; var AAlignment: TAlignment);
    procedure AdvStringGrid1GetCellColor(Sender: TObject; ARow,
      ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
    procedure GridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure LMDSpeedButton6Click(Sender: TObject);
    procedure LMDSpeedButton7Click(Sender: TObject);
    procedure LMDSpeedButton8Click(Sender: TObject);
    procedure LMDSpeedButton9Click(Sender: TObject);
    procedure btnPosOKClick(Sender: TObject);
    procedure btnPosCancelClick(Sender: TObject);
    procedure FrameWidthChange(Sender: TObject);
    procedure FrameHeightChange(Sender: TObject);
    procedure VrMediaButton2Click(Sender: TObject);
    procedure VrMediaButton1Click(Sender: TObject);
    procedure DTApplayMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DTApplayMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TabGridClickCell(Sender: TObject; Arow, Acol: Integer);
    procedure btnStopClick(Sender: TObject);
    procedure btnPlayClick(Sender: TObject);
    procedure btnStepClick(Sender: TObject);
    procedure SimFlagClick(Sender: TObject);
    procedure GridRowMoved(Sender: TObject; FromIndex, ToIndex: Integer);
    procedure TabGridDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure TabGridDragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure GridDblClickCell(Sender: TObject; Arow, Acol: Integer);
    procedure N4Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N34Click(Sender: TObject);
    procedure N37Click(Sender: TObject);
    procedure N35Click(Sender: TObject);
    procedure N36Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure N31Click(Sender: TObject);
    procedure N32Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure GridPanelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SimPanelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TabPanelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure PosPanelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure btnVcdStopClick(Sender: TObject);
    procedure btnVcdPlayClick(Sender: TObject);
    procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure ListBox1DblClick(Sender: TObject);
    procedure vcdpanelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure VcdSizeClick(Sender: TObject);
    procedure VcdSavePosClick(Sender: TObject);
    procedure VrShadowButton1Click(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure VCD4Click(Sender: TObject);
    procedure Video1Click(Sender: TObject);
    procedure VideoSourceClick(Sender: TObject);
    procedure VideoFormatClick(Sender: TObject);
    procedure VrShadowButton4Click(Sender: TObject);
    procedure btnVideoPlayClick(Sender: TObject);
    procedure VideoSaveClick(Sender: TObject);
    procedure btnVideoStopClick(Sender: TObject);
    procedure btnVideoSizeClick(Sender: TObject);
    procedure videopanelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure VrUserLed1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure VrUserLed1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure VrUserLed2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure VrUserLed2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure VrShadowButton2Click(Sender: TObject);
    procedure N38Click(Sender: TObject);
    procedure N39Click(Sender: TObject);
    procedure N45Click(Sender: TObject);
    procedure N46Click(Sender: TObject);
    procedure N47Click(Sender: TObject);
    procedure N48Click(Sender: TObject);
    procedure N49Click(Sender: TObject);
    procedure VCD1Click(Sender: TObject);
    procedure N50Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure TabGridAutoDeleteRow(Sender: TObject; aRow: Integer);
    procedure TabGridAutoInsertRow(Sender: TObject; ARow: Integer);
    procedure TabGridRowMoved(Sender: TObject; FromIndex,
      ToIndex: Integer);
  private

    { Private declarations }
    procedure ReadReg;
    procedure WriteReg;
  public
    { Public declarations }
    GridIns: Boolean;
    Path: string;
    Index1, IndexRow: Integer;
    SimType: Integer;
    VcdCount: integer;

    procedure ReadGrid_Text();
    procedure ReadGrid_Cls();
    procedure ReadGrid_Avi();
    procedure ReadGrid_Grp();
    procedure ReadPosition();
    procedure SaveGridFile();
    procedure SimPlay(CommId: string);
    procedure Sim_Text(CTOption: Boolean; SPFlag: boolean);
    procedure Sim_Avi();
    procedure Sim_Grp(SPFlag: Boolean);
    procedure Sim_Grid;
    procedure ReadTabGrid();
    procedure MenuOff;
    procedure MenuOn;
    procedure WriteVcdReg;
    procedure ReadVcdReg;
    procedure ReadVideoReg;
    procedure WriteVideoReg;
    procedure MYFlcStop(var Msg: TMessage); message MY_FlcStop;
    function ReadCtab: Boolean;
  end;

var
  MainForm: TMainForm;
  FlcThread: TFlcHread;
  CommandID: integer;
  InsertFlag: integer;
  CopyItem: string;
  CopySubItem: string;
  CopyPos: integer;
  LedWidth, LedHeight: Integer;

implementation

uses fontdlg_frm,
  playdlg_frm;

{$R *.DFM}

Function IsCDROM(DriveNum:Integer):Boolean;
var
DriveChar:char;
DriveType:TDriveType;
DriveBits:set of 0..25;
begin
	Result:=False;
  Integer(DriveBits):=GetLogicalDrives;
  if (DriveNum in DriveBits) then
  begin
  	DriveChar:=Char(DriveNum+ord('A'));
    DriveType:=TDriveType(GetDriveType(PChar(Drivechar+':\')));
    if DriveType=dtCDROM then
    	Result:=True;
  end;
end;
procedure TMainForm.cls_Command;
begin
  playdlg.EditText.picture := nil;
  playdlg.EditText.AutoSize := False;
  if not playdlg.Showing then
    Playdlg.show;
  if not Fontdlg.Showing then
    FontDlg.show;
  CommandID := 3;
  playdlg.edittext.Caption := '';
  textcommand.Checked := False;
  clscommand.Checked := true;
  flccommand.Checked := False;
  grpcommand.Checked := False;
  playdlg.edittext.Visible := True;
  fontdlg.TabSheet5.Enabled := true;
  fontdlg.TabSheet3.Enabled := False;
  fontdlg.TabSheet4.Enabled := False;
  fontdlg.TabSheet1.Enabled := False;
  fontdlg.PageControl1.ActivePage := fontdlg.TabSheet5;
end;

procedure TMainForm.Flc_Command;
begin
  if not playdlg.Showing then
    Playdlg.show;
  if not Fontdlg.Showing then
    FontDlg.show;
  CommandID := 4;
  textcommand.Checked := False;
  clscommand.Checked := False;
  flccommand.Checked := true;
  grpcommand.Checked := False;
  playdlg.edittext.autosize := true;
  playdlg.EditText.caption := '';
  playdlg.EditText.Picture := nil;
  playdlg.edittext.Visible := True;
  fontdlg.TabSheet5.Enabled := False;
  fontdlg.TabSheet3.Enabled := False;
  fontdlg.TabSheet4.Enabled := true;
  fontdlg.TabSheet1.Enabled := False;
  fontdlg.PageControl1.ActivePage := fontdlg.TabSheet4;
end;

procedure TMainForm.Grp_Command;
begin
  if not playdlg.Showing then
    Playdlg.show;
  if not Fontdlg.Showing then
    FontDlg.show;
  CommandID := 2;
  textcommand.Checked := False;
  clscommand.Checked := False;
  flccommand.Checked := False;
  grpcommand.Checked := true;
  playdlg.edittext.autosize := true;
  playdlg.EditText.Picture := nil;
  playdlg.EditText.caption := '';
  playdlg.edittext.Visible := True;
  fontdlg.TabSheet5.Enabled := False;
  fontdlg.TabSheet3.Enabled := true;
  fontdlg.TabSheet4.Enabled := False;
  fontdlg.TabSheet1.Enabled := False;
  fontdlg.PageControl1.ActivePage := fontdlg.TabSheet3;
end;

procedure TMainForm.Text_Command;

begin
  playdlg.EditText.picture := nil;
  playdlg.EditText.Caption := '';
  if not playdlg.Showing then
    Playdlg.show;
  if not Fontdlg.Showing then
    FontDlg.show;
  CommandID := 1;
  textcommand.Checked := true;
  clscommand.Checked := False;
  flccommand.Checked := False;
  grpcommand.Checked := False;
  playdlg.edittext.Visible := True;
  fontdlg.TabSheet5.Enabled := False;

⌨️ 快捷键说明

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