unitmain.~pa
来自「智能监控delphi源码, 操作说明 1. 在两台微机上分别运行文件夹中的可」· ~PA 代码 · 共 661 行 · 第 1/2 页
~PA
661 行
begin
btnStartGet3.Caption := '开始录象';
NStartGet3.Enabled := True;
NStopGet3.Enabled := False;
end;
if (MoniterNo3.Checked) then //让子窗体的按钮也和主窗体的同步;
begin
//FormNo3.tmr1.Enabled := not FormNo3.tmr1.Enabled;
FormNo3.btnStartGet3.Caption := btnStartGet3.Caption;
end;
end;
//状态栏显示系统时间,监控模式,报警方式等信息;
procedure TFormMain.SysTimeTimer(Sender: TObject);
//var
// panels: TStatusPanel;
begin
stat1.Panels[3].Text :=
TimeToStr(Time) + ' '
+ DateToStr(Date);
if ManMode.Checked then stat1.Panels[2].Text := '您现在选择的是:' + ManMode.Caption
else stat1.Panels[2].Text := '您现在选择的是:' + ComputerMode.Caption;
if AlarmOn.Checked then stat1.Panels[1].Text := AlarmOn.Caption
else stat1.Panels[1].Text := AlarmOff.Caption;
end;
//procedure TFormMain.N8Click(Sender: TObject);
//begin
// Close;
//end;
//退出系统;
procedure TFormMain.Exit1Click(Sender: TObject);
begin
Close;
end;
//人工模式和自动模式的选择
procedure TFormMain.ManModeClick(Sender: TObject);
begin
ManMode.Checked := True;
ComputerMode.Checked := False;
end;
procedure TFormMain.ComputerModeClick(Sender: TObject);
begin
ComputerMode.Checked := True;
ManMode.Checked := False;
end;
//启动报警和取消报警的选择
procedure TFormMain.AlarmOnClick(Sender: TObject);
begin
AlarmOn.Checked := True;
AlarmOff.Checked := False;
end;
procedure TFormMain.AlarmOffClick(Sender: TObject);
begin
AlarmOff.Checked := True;
AlarmOn.Checked := False;
end;
//点击菜单项中开始录象,要与窗口保持一直
//对1#开始录象菜单的处理
procedure TFormMain.NStartGet1Click(Sender: TObject);
begin
tmr1.Enabled := not tmr1.Enabled;
NStartGet1.Enabled := False;
NStopGet1.Enabled := True;
btnStartGet1.Caption := '停止录像';
if (MoniterNo1.Checked) then
begin
FormNo1.btnStartGet1.Caption := btnStartGet1.Caption;
FormNo1.tmr1.Enabled := not FormNo1.tmr1.Enabled;
end;
end;
//对1#结束录象菜单的处理;
procedure TFormMain.NStopGet1Click(Sender: TObject);
begin
tmr1.Enabled := not tmr1.Enabled;
NStartGet1.Enabled := False;
NStartGet1.Enabled := True;
btnStartGet1.Caption := '开始录像';
if (MoniterNo1.Checked) then
begin
FormNo1.btnStartGet1.Caption := btnStartGet1.Caption;
FormNo1.tmr1.Enabled := not FormNo1.tmr1.Enabled;
end;
end;
//对2#开始录象菜单的处理,与前面类似;
procedure TFormMain.NStartGet2Click(Sender: TObject);
begin
tmr2.Enabled := not tmr2.Enabled;
NStartGet1.Enabled := False;
NStopGet1.Enabled := True;
btnStartGet2.Caption := '停止录像';
if (MoniterNo2.Checked) then
begin
FormNo2.btnStartGet2.Caption := btnStartGet2.Caption;
FormNo2.tmr1.Enabled := not FormNo2.tmr1.Enabled;
end;
end;
//对2#结束录象菜单的处理,与前面类似;
procedure TFormMain.NStopGet2Click(Sender: TObject);
begin
tmr2.Enabled := not tmr2.Enabled;
NStartGet2.Enabled := True;
NStopGet2.Enabled := False;
btnStartGet2.Caption := '开始录像';
if (MoniterNo2.Checked) then
begin
FormNo2.btnStartGet2.Caption := btnStartGet2.Caption;
FormNo2.tmr1.Enabled := not FormNo2.tmr1.Enabled;
end;
end;
//对3#开始录象菜单的处理,与前面类似;
procedure TFormMain.NStartGet3Click(Sender: TObject);
begin
tmr3.Enabled := not tmr3.Enabled;
NStartGet3.Enabled := False;
NStopGet3.Enabled := True;
btnStartGet3.Caption := '停止录像';
if (MoniterNo3.Checked) then
begin
FormNo3.btnStartGet3.Caption := btnStartGet3.Caption;
FormNo3.tmr1.Enabled := not FormNo3.tmr1.Enabled;
end;
end;
//对3#结束录象菜单的处理,与前面类似;
procedure TFormMain.NStopGet3Click(Sender: TObject);
begin
tmr3.Enabled := not tmr3.Enabled;
NStopGet3.Enabled := False;
NStartGet3.Enabled := True;
btnStartGet3.Caption := '开始录像';
if (MoniterNo3.Checked) then
begin
FormNo3.btnStartGet3.Caption := btnStartGet3.Caption;
FormNo3.tmr1.Enabled := not FormNo3.tmr1.Enabled;
end;
end;
//打开打开对话框;
procedure TFormMain.Open1Click(Sender: TObject);
begin
dlgOpen1.Execute;
end;
//打开保存对话框;
procedure TFormMain.Save1Click(Sender: TObject);
begin
dlgsave1.Execute;
end;
//打开另存为对话框;
procedure TFormMain.SaveAs1Click(Sender: TObject);
begin
dlgsave1.Execute;
end;
//开始运行系统时,系统处于3个摄像头同时监控模式;
procedure TFormMain.MoniterAllClick(Sender: TObject);
begin
if MoniterNo2.Checked then //保证每次只可以监视一个摄像头窗口;
FormNo2.Visible := False
else if MoniterNo3.Checked then
FormNo3.Visible := False
else if MoniterNo1.Checked then
FormNo1.Visible := False;
MoniterAll.Checked := True;
MoniterNo1.Checked := False;
MoniterNo2.Checked := False;
MoniterNo3.Checked := False;
end;
//当选择1#摄像头监控模式的情况;
procedure TFormMain.MoniterNo1Click(Sender: TObject);
begin
if MoniterNo2.Checked then //保证每次只可以监视一个摄像头窗口;
FormNo2.Visible := False
else if MoniterNo3.Checked then
FormNo3.Visible := False;
MoniterNo1.Checked := True;
MoniterAll.Checked := False;
MoniterNo2.Checked := False;
MoniterNo3.Checked := False;
FormNo1.show; //显示1#摄像头的监控窗口;
FormNo1.btnStartGet1.Caption := btnStartGet1.Caption; //和主窗体的显示同步;
//FormNo1.tmr1.Enabled := not FormNo1.tmr1.Enabled;
//if (btn1.Caption = '开始录像') then
//FormNo1.tmr1.Enabled := False
//else FormNo1.tmr1.Enabled := True ;
end;
//当选择2#摄像头监控模式的情况,处理方法和前面相同;
procedure TFormMain.MoniterNo2Click(Sender: TObject);
begin
if MoniterNo1.Checked then //保证每次只可以监视一个摄像头窗口;
FormNo1.Visible := False
else if MoniterNo3.Checked then
FormNo3.Visible := False;
MoniterNo2.Checked := True;
MoniterAll.Checked := False;
MoniterNo1.Checked := False;
MoniterNo3.Checked := False;
FormNo2.Show; //显示2#摄像头的监控窗口;
FormNo2.btnStartGet2.Caption := btnStartGet2.Caption;
end;
//当选择3#摄像头监控模式的情况,处理方法和前面相同;
procedure TFormMain.MoniterNo3Click(Sender: TObject);
begin
if MoniterNo2.Checked then //保证每次只可以监视一个摄像头窗口;
FormNo2.Visible := False
else if MoniterNo1.Checked then
FormNo1.Visible := False;
MoniterNo3.Checked := True;
MoniterAll.Checked := False;
MoniterNo1.Checked := False;
MoniterNo2.Checked := False;
FormNo3.Show; //显示3#摄像头的监控窗口;
FormNo3.btnStartGet3.Caption := btnStartGet3.Caption;
end;
//驱动程序选择(来自串行通道那本书)
//procedure TFormMain.N9Click(Sender: TObject);
//var
// drvlist:TStrings;
//begin
// frmdriverselect:=tfrmdriverselect.create(Self );
// try
// //调用自己的成员函数getdriverlist;
// drvlist :=GetDriverList ;
// frmdriverselect.combobox1.items:=drvlist;
// cap1 .DriverOpen :=False ;
// //将combox.itemindex 初始化为当前的驱动器;
// frmdriverselect.combobox1.itemindex:=cap1.driverindex;
// if frmdriverselect.showmodal =mrok then
// begin
// cap1 .DriverIndex :=frmdriverselect.combobox1.itemindex;
//
// end;
// cap1 .DriverOpen :=True ;
// frmdriverselect.free;
// finally
// //释放tstring 资源
// drvlist .Clear ;
// drvlist .Free ;
//
//end;
//系统开始运行的时候 显示3个摄像头同时监控的窗口,并对现场的情况进行实时监控
//同时创建Avi1,Avi2,Avi3和Inf文件夹,并检查是否存在n.txt,如果存在则读取其内容
procedure TFormMain.FormCreate(Sender: TObject);
begin
if not DirectoryExists('Avi1') then MkDir('Avi1');
if not DirectoryExists('Avi2') then MkDir('Avi2');
if not DirectoryExists('Avi3') then MkDir('Avi3');
if not DirectoryExists('Inf') then MkDir('Inf');
if FileExists('.\Inf\n1.txt') then
begin
assignfile(f1, '.\Inf\n1.txt');
Reset(F1);
Readln(F1, Str1);
n1 := StrToInt(str1);
CloseFile(F1);
end;
if FileExists('.\Inf\n2.txt') then
begin
assignfile(f1, '.\Inf\n2.txt');
Reset(F2);
Readln(F2, Str2);
n2 := StrToInt(str2);
CloseFile(F2);
end;
if FileExists('.\Inf\n3.txt') then
begin
assignfile(f1, '.\Inf\n3.txt');
Reset(F3);
Readln(F3, Str3);
n3 := StrToInt(str3);
CloseFile(F3);
end;
videocap1.DriverIndex := 0;
VideoCap1.DriverOpen := True;
VideoCap1.VideoPreview := True;
VideoCap1.visible := True;
btnStartGet1.Enabled := True; //此时可以选择录象;
videocap2.DriverIndex := 0;
VideoCap2.DriverOpen := True;
VideoCap2.VideoPreview := True;
VideoCap2.visible := True;
btnStartGet2.Enabled := True; //此时可以选择录象;
videocap3.DriverIndex := 0;
VideoCap3.DriverOpen := True;
VideoCap3.VideoPreview := True;
VideoCap3.visible := True;
btnStartGet3.Enabled := True; //此时可以选择录象;
end;
procedure TFormMain.LvEventClick(Sender: TObject);
var
mListItem: TListItem;
mDataTime: TDataTime;
begin
//显示打开对话框;
dlgOpen1.Execute;
end;
//响应Tvideo的状态返回事件,该事件是Tvideo特有的事件。通过
//读取控件的属性,更新用户界面。代码如下:
//procedure TFormMain.VideoCap1Status(Sender: TObject);
//begin
//if
//end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?