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

📄 mainsrc.pas

📁 报警地图电子显示源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
        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 + -