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

📄 xjysxx_pas.pas

📁 delphi6.0电子寻更源程序,用来计算保安有无查抄
💻 PAS
字号:
unit xjysxx_pas;

interface

uses
  Windows, Messages, SysUtils, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask, ToolEdit, DBCtrls, Buttons, Grids, DBGrids, RXCtrls,
  ExtCtrls,db, Classes;

type
  Tsjysxx = class(TForm)
    DBGrid1: TDBGrid;
    Panel3: TPanel;
    BitBtn3: TBitBtn;
    Panel2: TPanel;
    DBLookupComboBox3: TDBLookupComboBox;
    GroupBox1: TGroupBox;
    DBLookupComboBox2: TDBLookupComboBox;
    DBLookupComboBox4: TDBLookupComboBox;
    GroupBox2: TGroupBox;
    DateEdit1: TDateEdit;
    DateEdit2: TDateEdit;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    DBLookupComboBox1: TDBLookupComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    BitBtn1: TBitBtn;
    BitBtn12: TBitBtn;
    BitBtn11: TBitBtn;
    BitBtn6: TBitBtn;
    procedure BitBtn12Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DateEdit2Exit(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure DateEdit1Exit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  sjysxx: Tsjysxx;

implementation
uses menu,dm_xjysxx_view_pas, xjysxx_report_pas,gvas,password_unit,QL_DATa;

{$R *.DFM}

procedure Tsjysxx.BitBtn12Click(Sender: TObject);
begin
dblookupcombobox1.KeyValue:=null;
//dblookupcombobox1.keyvalue:=null;
dblookupcombobox2.keyvalue:=null;
dblookupcombobox3.keyvalue:=null;
dblookupcombobox4.keyvalue:=null;
//dblookupcombobox2.keyvalue:=varempty;
//dblookupcombobox3.keyvalue:=varempty;
//dblookupcombobox4.keyvalue:=varempty;
RadioButton1.Checked:=false;
RadioButton2.Checked:=false;
RadioButton3.Checked:=false;
//RadioGroup1.ItemIndex:=-1;
dateedit1.date:=0;
dateedit1.text:='';
dateedit2.date:=0;
dateedit2.text:='';
//BitBtn3.Enabled:=false;
 with dm_xjysxx_view. q_xjysxx_view  do
 begin
Close;
sql.Clear ;
sql.add('select * from temp') ;
sql.add('order by pdate,workercode,linename,ptime,lseq'); // q_xjysxx_order.close;
open;
Filter:='';
Filtered:=false;
end;
end;

procedure Tsjysxx.BitBtn11Click(Sender: TObject);
var s1,s2:string;
begin
//dm_xjysxx_view.q_xjysxx_order.close;
//dm_xjysxx_view.q_xjysxx_order.EmptyTable;
with dm_xjysxx_view.q_xjysxx_view do
 begin
 close;
 sql.clear;
 sql.add('select * from temp') ;
sql.add('where (workercode<>'''')');
 //sql.add('and( point.linename=fpxl.linename)');
 if dblookupcombobox1.Text<>'' then //线路
   begin
   sql.add('and (linename =:linename)');
   parambyname('linename').asstring:=varastype(dblookupcombobox1.keyvalue,varstring);
   end;
 if dblookupcombobox3.Text<>'' then  //巡更员
   begin
   sql.add('and(workercode = :workercode)');
   parambyname('workercode').asstring:=varastype(dblookupcombobox3.keyvalue,varstring);
   end;
 if dblookupcombobox2.Text<>'' then// 巡更点(钮号)
   begin
   sql.add('and (node = :node)');
   parambyname('node').asstring:=varastype(dblookupcombobox2.keyvalue,varstring);
   end;
 if dblookupcombobox4.Text<>'' then//巡更点(设备名称)
   begin
   sql.add('and((nodename = :name))');
   parambyname('name').asstring:=dblookupcombobox4.Text;
   end;
 if (RadioButton1.Checked) or (RadioButton2.Checked) or (RadioButton3.Checked) then//巡更状态
  begin
  sql.add('AND  ((pstatu=:pstatu))');
    if (RadioButton1.Checked) then
     parambyname('pstatu').asstring:=RadioButton1.Caption
     else
      if (RadioButton2.Checked) then
       parambyname('pstatu').asstring:=RadioButton2.Caption
       else
        if (RadioButton3.Checked)  then
         parambyname('pstatu').asstring:=RadioButton3.Caption ;
  end;
  sql.Add('order by pdate,pencode,workercode,linename,ptime,lseq') ;
  filtered:=false;
  if  dateedit1.date<>0 then
    s1:='pdate>='+''''+datetostr(dateedit1.date)+'''';
  if dateedit2.date<>0 then
    s2:='pdate<='+''''+datetostr(dateedit2.date)+'''';
 if (dateedit1.date<>0) and (dateedit2.date<>0)  then
  begin
    filter:='';
    filtered:=true;
    filter:=s1+' and '+s2;
  end
  else
   if  dateedit1.date<>0 then
      begin
      filter:='';
      filtered:=true;
      filter:=s1;
      end
      else
        if dateedit2.date<>0 then
         begin
         filter:='';
         filtered:=true;
         filter:=s2;
         end;
   //showmessage(sql.text) ;
   open;
    end;
end;
procedure Tsjysxx.BitBtn3Click(Sender: TObject);
begin
//xjysxx_report.QuickRep1.preview;
DM_xjysxx_view.q_xjysxx_view.DisableControls;
xjysxx_report.QRLabel11.caption:=password.ComboBox1.Text;
xjysxx_report.QuickRep1.preview;
  xjysxx_report.QuickRep1.qrprinter:=nil;
  DM_xjysxx_view.q_xjysxx_view.enableControls;
end;
procedure Tsjysxx.BitBtn2Click(Sender: TObject);
begin
with dm_xjysxx_view do
begin
q_xjysxx_view.close;
q_xjysxx_order.close;
q_line.close;
q_worker.close;
q_point.close;
q_line.open;
q_worker.open;
q_point.open;

end;
close;

end;

procedure Tsjysxx.FormActivate(Sender: TObject);
begin
dateedit2.Text:='    -  -  ' ;
dateedit1.Text:='    -  -  ' ;
//BitBtn12click(self);
bitbtn11.SetFocus ;
//bitbtn3.Enabled:=false;
end;

procedure Tsjysxx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm_xjysxx_view.free;
xjysxx_report.free;
dm_xjysxx_view:=nil;
xjysxx_report:=nil;
action:=cafree;
sjysxx :=nil ;
end;

procedure Tsjysxx.FormCreate(Sender: TObject);
var
  ls,ms,rs:string;
begin
if not assigned(DM_xjysxx_view) then
  Application.CreateForm(TDm_xjysxx_view, DM_xjysxx_view);
if not assigned(xjysxx_report)then
application.createform(Txjysxx_report,xjysxx_report);
   getkeyset(ls,ms,rs);
 RadioButton1.Caption:=ls;
 RadioButton2.Caption:=ms;
RadioButton3.Caption:=rs;

end;

procedure Tsjysxx.FormShow(Sender: TObject);
var
  i1,i2,i3:integer;
  f1,f2:real;
_code,_node:string;
begin
 if (screen.Height<600) and( screen.Width<800) then
  begin
  scaled:=true;
  height:=354;//round(height*longint(screen.height)*96 / 600/screen.pixelsperinch);
  width :=635;//round( width *longint(screen.width)*96 / 800/screen.pixelsperinch);
  left:=2;//round((screen.Width-Width)/2);
  top:=90;//round((screen.height-self.height)/2);
  ScaleControls(screen.width, 800);
  ScaleControls(96,screen.pixelsperinch);
   f1:=screen.width*96/800/screen.pixelsperinch;
   f2:=screen.width/800;
  with dbgrid1  do
  begin
    i1:=columns.Count;
    i3:=round(12*f1);if i3<7  then i3:=7;
    label1.Font.Size:=i3-1;
    label2.Font.Size:=i3-1;
    label3.Font.Size:=i3-1;
    label4.Font.Size:=i3-1;
    label5.Font.Size:=i3-1;
    label6.Font.Size:=i3-1;
    dblookupcombobox1.Font.Size:=i3-1;
    dblookupcombobox3.Font.Size:=i3-1;
    dblookupcombobox2.Font.Size:=i3-1;
    dblookupcombobox4.Font.Size:=i3-1;
    dateedit1.Font.Size:=i3-1;
    dateedit2.Font.Size:=i3-1;
    RadioButton1.Font.Size:=i3-1;
    RadioButton3.Font.Size:=i3-1;
    RadioButton2.Font.Size:=i3-1;
    BitBtn1.Font.Size:=i3-1;
    BitBtn3.Font.Size:=i3-1;
    BitBtn6.Font.Size:=i3-1;
    BitBtn11.Font.Size:=i3-1;
    BitBtn12.Font.Size:=i3-1;
   // panel1.Font.Size:=20;
    groupbox1.Font.Size:=i3-1;
    groupbox2.Font.Size:=i3-1;
    groupbox3.Font.Size:=i3-1;
    //bitbtn1.Width:=112;
    //bitbtn6.Width:=112;
    //bitbtn3.Width:=112;
    //showmessage(inttostr(i3-1));
    for i2:=0 TO i1-1 DO
    begin
      columns[i2].title.font.size:=i3-1;
      columns[i2].width:=round(columns[i2].width*f2);
    end;
  end;
  end
  else
  begin
  self.Height:=428;
  self.Width:=777;
  end;
dm_xjysxx_view.q_del.close;
dm_xjysxx_view.q_del.sql.clear;
dm_xjysxx_view.q_del.sql.Add('delete from temp');
dm_xjysxx_view.q_del.execsql;
WITH    dm_xjysxx_view do
begin
q_point.close;
q_line.close;
q_worker.close;
q_xjysxx_order.close;
q_point.open;
q_line.open;
q_worker.open;
q_temp.close;
q_temp.Open;
end;
with dm_xjysxx_view.q_temp do
    begin
    dm_xjysxx_view.q_del.close;
    dm_xjysxx_view.q_del.sql.clear;
    dm_xjysxx_view.q_del.sql.Add('select * from temp');
    dm_xjysxx_view.q_del.open;
     while not eof do
       begin
       //showmessage(inttostr( dm_xjysxx_view.q_del.recordcount));
       dm_xjysxx_view.q_del.append;
       dm_xjysxx_view.q_del.edit;
       dm_xjysxx_view.q_del.fieldbyname('pdate').asdatetime:=fieldbyname('pdate').asdatetime;
       dm_xjysxx_view.q_del.fieldbyname('ptime').asdatetime:=fieldbyname('ptime').asdatetime;
       dm_xjysxx_view.q_del.fieldbyname('pencode').asstring:=fieldbyname('pencode').asstring;
       dm_xjysxx_view.q_del.fieldbyname('workercode').asstring:=fieldbyname('workercode').asstring;
       dm_xjysxx_view.q_del.fieldbyname('node').asstring:=fieldbyname('node').asstring;
       dm_xjysxx_view.q_del.fieldbyname('pstatu').asstring:=fieldbyname('pstatu').asstring;
       dm_xjysxx_view.q_del.fieldbyname('linename').asstring:=fieldbyname('linename').asstring;
       dm_xjysxx_view.q_del.fieldbyname('nodeplace').asstring:=fieldbyname('nodeplace').asstring;
       dm_xjysxx_view.q_del.fieldbyname('nodename').asstring:=fieldbyname('nodename').asstring;
       dm_xjysxx_view.q_del.fieldbyname('lseq').asstring:=fieldbyname('lseq').asstring;
       dm_xjysxx_view.q_del.fieldbyname('workername').asstring:=fieldbyname('workername').asstring;
       dm_xjysxx_view.q_del.post;
       next;
       end;
    dm_xjysxx_view.q_xjysxx_view.close;
    dm_xjysxx_view.q_xjysxx_view.open;
    dm_xjysxx_view.q_xjysxx_view.Filter:='';
    dm_xjysxx_view.q_xjysxx_view.Filtered:=false;
    end;
{with q_xxlr do
begin
close;
open;
  while not eof   do
   begin
   _code:=fieldbyname('workercode').asstring;
   _node:=fieldbyname('node').asstring;
    if not q_xxwh.Locate('code;node',vararrayOf([_code,_node]),[loCaseInsensitive]) then
      begin
      Application.MessageBox('巡更员或巡更点在此前没有完善维护,可能造成报表数据查询有误!','消息',MB_ICONINFORMATION);
      exit;
      end;
    next;
   end;
end;}
end;

procedure Tsjysxx.DateEdit2Exit(Sender: TObject);
var ss:tdate;
begin
if dateedit2.date<>0  then
begin
try
ss:=strtodate(dateedit2.text) ;
except
Application.MessageBox('输入的日期有误!','消息',MB_ICONINFORMATION);
dateedit2.Text:='    -  -  ';
dateedit2.SetFocus ;
exit;
end;
end;
if dateedit2.Text='    -  -  '  then
dateedit2.Date :=dateedit1.Date;
if dateedit2.Date<dateedit1.Date  then
begin
Application.MessageBox('终止日期不能小于起始日期!','消息',MB_ICONINFORMATION);
dateedit2.SetFocus ;
dateedit2.Text:='    -  -  ';
end;

end;

procedure Tsjysxx.BitBtn6Click(Sender: TObject);
begin
	with  dm_xjysxx_view.t_PATROLREC  do
  begin
  close;
  open;
      if recordcount=0 then 
    begin
    	Application.MessageBox('当前数据库空!','消息',MB_ICONINFORMATION);
    	EXIT;
    end;
  end;
  clearform:=tclearform.create(self);
  clearform.showmodal;
  clearform.free;

end;

procedure Tsjysxx.Button1Click(Sender: TObject);
begin
Application.MessageBox(Pchar('width='+inttostr(self.width)+'--'+'height='+inttostr(self.height)+'--'+'left='+inttostr(self.left)+'--top='+inttostr(self.top)),'消息',MB_ICONINFORMATION);

end;

procedure Tsjysxx.DateEdit1Exit(Sender: TObject);
var ss:tdate;
begin
if dateedit1.date<>0  then
begin
try
ss:=strtodate(dateedit1.text) ;
except
Application.MessageBox('输入的日期有误!','消息',MB_ICONINFORMATION);
dateedit1.Text:='    -  -  ';
dateedit1.SetFocus ;
exit;
end;
end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -