📄 mainplay.pas
字号:
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 + -