📄 mainsrc.pas
字号:
FormBJData.ADOQuery1.SQL.Clear;
FormBJData.ADOQuery1.SQL.Text := strSQL;
FormBJData.ADOQuery1.Open;
FormBJData.ShowModal();
end;
procedure TFormMain.Look16to20Click(Sender: TObject);
var
strSQL:string;
begin
strSQL := 'select * from 报警器档案 where 楼号 >= 16 and 楼号 <= 20';
FormBJData.ADOQuery1.Close;
FormBJData.ADOQuery1.SQL.Clear;
FormBJData.ADOQuery1.SQL.Text := strSQL;
FormBJData.ADOQuery1.Open;
FormBJData.ShowModal();
end;
///////////////////////////////////////////
/////////////////////////////////////////////
//////////////////////////////////////////////
procedure TFormMain.Timer1Timer(Sender: TObject);
var i:Integer;
begin
EditDataAndTime.Text := DateToStr(date) + '--' + TimeToStr(Time);
end;
procedure TFormMain.Timer2Timer(Sender: TObject);
var i:Integer;
ARec: PNoteList;
AMainRec: PMainList;
begin
for i:=0 to MyList.Count-1 do
begin
ARec := MyList.Items[i];
AMainRec := MyMainList.Items[i];
if ARec^.State=1 then
begin
AMainRec^.MainBtn.Visible := not AMainRec^.MainBtn.Visible;
end;
end;
end;
procedure TFormMain.BitBtn4Click(Sender: TObject);
var i:Integer;
ARec: PNoteList;
AMainRec: PMainList;
begin
for i:=0 to MyMainList.Count-1 do
begin
ARec := MyList.Items[i];
AMainRec := MyMainList.Items[i];
if AMainRec^.MainBtn.TabOrder=TBitBtn(Sender).TabOrder then
begin
ARec^.State:=0;
FormHardwareInterface.biaozhi:=0;
FormHardwareInterface.MediaPlayer1.Close;
TBitBtn(Sender).Visible := false;
FormMap1.title:=strtoint(ARec^.dyyjjd);
if ARec^.tp<>'' then FormMap1.Image1.Picture.LoadFromFile(ARec^.tp)
else FormMap1.Image1.Picture.LoadFromFile('');
FormMap1.ShowModal();
break;
end;
end;
end;
procedure TFormMain.BitBtn3Click(Sender: TObject);
begin
FormMap1.Title:=3;//Alert[3];
Alert[3]:=0;
//Bitbtn3.Visible := false;
FormMap1.Image1.Picture.LoadFromFile('picture\map3.jpg');
FormMap1.ShowModal();
end;
procedure TFormMain.BitBtn2Click(Sender: TObject);
begin
FormMap1.Title:=2;//Alert[2];
Alert[2]:=0;
//Bitbtn2.Visible := false;
FormMap1.Image1.Picture.LoadFromFile('picture\map2.jpg');
FormMap1.ShowModal();
end;
procedure TFormMain.BitBtn1Click(Sender: TObject);
begin
FormMap1.Title:=1;//Alert[1];
Alert[1]:=0;
//Bitbtn1.Visible := false;
FormMap1.Image1.Picture.LoadFromFile('picture\map1.jpg');
FormMap1.ShowModal();
end;
procedure TFormMain.MenuHardwareInterfaceClick(Sender: TObject);
begin
FormHardwareInterface.ShowModal();
end;
procedure TFormMain.MenuDataRestoreClick(Sender: TObject);
var
strFile : string;
strOrigin,SPath : string;
ret:Boolean;
Dir:String;
i,Len:Integer;
bbb:boolean;
ARec: PNoteList;
AMainRec: PMainList;
begin
i := strcomp(pChar('Admin'), pChar(strStore1));
if i <> 0 then
begin
Messagebox(Application.Handle, '只有管理员才能进行数据备份,请以管理员帐号重新登陆','16路报警--数据管理',MB_OK);
Exit;
end;
FormHardwareInterface.ListenComm.StopComm;
Timer2.Enabled:=false;
FormBJInfo.ADOConnection1.Connected := false;
FormBJData.ADOConnection1.Connected := false;
FormLogon.ADOConnection1.Connected := false;
FormHardwareInterface.ADOConnection1.Connected := false;
Formjiedian.ADOConnection1.Connected:=false;
GetDir(0 , Dir);
if not OpenDialogStore.Execute then
begin
FormBJData.ADOConnection1.Connected := TRUE;
FormLogon.ADOConnection1.Connected := TRUE;
FormHardwareInterface.ADOConnection1.Connected := TRUE;
FormBJInfo.ADOConnection1.Connected := TRUE;
Formjiedian.ADOConnection1.Connected:=true;
BJDataSrc.FormBJData.ADOQuery1.Active := TRUE;
BJInfoSrc.FormBJInfo.ADOQuery1.Active := TRUE;
FormLogon.ADOQuery1.Active := TRUE;
Formjiedian.ADOQuery1.Active:=true;
Exit;
end;
strFile := OpenDialogStore.FileName;
strOrigin := 'bj.mdb';
/////////////////////
//////////////////////
ChDir(Dir);
//if IOResult <> 0 then MessageDlg('Cannot find directory', mtWarning, [mbOk], 0);
//bbb:=FileExists(strOrigin); // 文件存在,返回真(-1)
//ShowMessage(pchar(booltostr(bbb)));
ret := DeleteFile(strOrigin);
if ret = true then
begin
ret := CopyFileTo(strFile, strOrigin);
if ret = TRUE then
begin
for i:=MyList.Count-1 Downto 0 do
begin
ARec := MyList.Items[i];
ARec^.Btn.Free;
MyList.Delete(i);//Dispose(ARecord);
AMainRec := MyMainList.Items[i];
AMainRec^.MainBtn.Free;
MyMainList.Delete(i);
end;
Formjiedian.ADOConnection1.Connected:=TRUE;
Formjiedian.ADOQuery1.Active:=true;
if Formjiedian.ADOQuery1.Eof=false then
begin
SPath:=extractFilePath(ParamStr(0));
Len:= Formjiedian.ADOQuery1.RecordCount;
Formjiedian.ADOQuery1.First;
for i:=0 to Len-1 do
begin
New(ARec);
ARec^.State := 0;
ARec^.bjqbh := Formjiedian.ADOQuery1.FieldByName('报警器编号').AsInteger;
ARec^.szdz := Formjiedian.ADOQuery1.FieldByName('所在地址').AsString;
ARec^.bjqzt := Formjiedian.ADOQuery1.FieldByName('报警器状态').AsString;
ARec^.dyyjjd := Formjiedian.ADOQuery1.FieldByName('对应硬件节点').AsString;
ARec^.bz := Formjiedian.ADOQuery1.FieldByName('备注').AsString;
ARec^.tp := Formjiedian.ADOQuery1.FieldByName('对应图片').AsString;
ARec^.Btn:=TBitBtn.Create(self);
ARec^.Btn.Parent:= Formjiedian;
ARec^.Btn.Height := 27;
ARec^.Btn.Width := 28;
ARec^.Btn.Left:=Formjiedian.ADOQuery1.FieldByName('左边').AsInteger;
ARec^.Btn.Top:=Formjiedian.ADOQuery1.FieldByName('上边').AsInteger;
ARec^.Btn.Glyph.LoadfromFile(SPath+'\picture\BELL.bmp');
ARec^.Btn.DragMode:= dmAutomatic;
ARec^.Btn.OnStartDrag := Formjiedian.BitBtnStartDrag;
ARec^.Btn.OnMouseDown := Formjiedian.BitBtnMouseDown;
ARec^.Btn.OnKeyDown := Formjiedian.BitBtnKeyDown;
MyList.Add(ARec);
New(AMainRec);
AMainRec^.MainState:=0;
AMainRec^.MainBtn:=TBitBtn.Create(self);
AMainRec^.MainBtn.Parent:= FormMain;
AMainRec^.MainBtn.Height := 27;
AMainRec^.MainBtn.Width := 28;
AMainRec^.MainBtn.Left:=ARec^.Btn.Left;
AMainRec^.MainBtn.Top:=ARec^.Btn.Top-35;
AMainRec^.MainBtn.Visible:=false;
AMainRec^.MainBtn.Glyph.LoadfromFile(SPath+'\picture\BELL.bmp');
AMainRec^.MainBtn.OnClick := FormMain.BitBtn4Click;
MyMainList.Add (AMainRec);
Formjiedian.ADOQuery1.Next;
end;
end;
MessageBox(Application.Handle, '数据恢复成功!', '16路报警--数据导入', MB_OK);
end
else MessageBox(Application.Handle, '数据恢复失败,请退出程序!', '16路报警--数据导入', MB_OK);
end
else ShowMessage('删除bj.mdb失败,');
FormBJData.ADOConnection1.Connected := TRUE;
FormLogon.ADOConnection1.Connected := TRUE;
FormHardwareInterface.ADOConnection1.Connected := TRUE;
FormBJInfo.ADOConnection1.Connected := TRUE;
Formjiedian.ADOConnection1.Connected:=TRUE;
BJDataSrc.FormBJData.ADOQuery1.Active := TRUE;
BJInfoSrc.FormBJInfo.ADOQuery1.Active := TRUE;
FormLogon.ADOQuery1.Active := TRUE;
Formjiedian.ADOQuery1.Active:=true;
Timer2.Enabled:=true;
FormHardwareInterface.ListenComm.StartComm;
end;
procedure TFormMain.N11Click(Sender: TObject);
begin
QuickReportSrc.DataReport.Preview;
end;
procedure TFormMain.N12Click(Sender: TObject);
begin
InfoReportSrc.InfoReport.Preview;
end;
procedure TFormMain.N5Click(Sender: TObject);
begin
AutoSaveSrc.FormAutoSave.ShowModal;
end;
procedure TFormMain.TimerAutoSaveTimer(Sender: TObject);
var
strSource:string;
strDest:string;
i, len:Integer;
begin
strSource := 'bj.mdb';
strDest := TimeToStr(time);
len := strLen( PChar(strDest) );
for i:=1 to len do
if strDest[i] = ':' then
begin
strDest[i] := '-';
end;
strDest := 'BackUp\' + DateToStr(date)+'-'+strDest + '.mdb';
CopyFileTo(strSource, strDest);
end;
procedure TFormMain.MenuAboutClick(Sender: TObject);
begin
FormAbout.ShowModal();
end;
procedure TFormMain.MenuDeleteInfoClick(Sender: TObject);
var nTemp:Integer;
begin
nTemp := strcomp(pChar('Admin'), pChar(strStore1) );
if nTemp <> 0 then
begin
Messagebox(Application.Handle, '只有管理员才能删除,请以管理员帐号重新登陆','16路报警--清除历史报警信息',MB_OK);
Exit;
end;
FormDeleteInfo.ShowModal();
end;
procedure TFormMain.MenuHelpClick(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'help.hlp', nil, nil, SW_SHOW);
end;
procedure TFormMain.MenuSeachItemClick(Sender: TObject);
begin
FormSearchBJData.ShowModal();
end;
procedure TFormMain.N7Click(Sender: TObject);
var nTemp:Integer;
begin
nTemp := strcomp(pChar('Admin'), pChar(strStore1) );
if nTemp <> 0 then
begin
Messagebox(Application.Handle, '只有管理员才能进行节点管理,请以管理员帐号重新登陆','联网报警中心--节点管理',MB_OK);
Exit;
end;
Formjiedian.ShowModal();
end;
procedure TFormMain.Timer3Timer(Sender: TObject);
begin
if FormHardwareInterface.biaozhi=1 then
begin
with FormHardwareInterface.MediaPlayer1 do
begin
if Position=FormHardwareInterface.endposition then
begin
close; open; play;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -