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