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

📄 lsxx_pas.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  datamodal, StdCtrls, DBCtrls, ExtCtrls, Grids, DBGrids, ComCtrls,gvas,
  Mask, ToolEdit, RXCtrls, Buttons, Db, DBTables, RXSwitch;

type
  Tlsxx_form = class(TForm)
    DBGrid1: TDBGrid;
    Panel1: TPanel;
    Panel2: TPanel;
    DBLookupComboBox3: TDBLookupComboBox;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DateEdit1: TDateEdit;
    DateEdit2: TDateEdit;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    DBLookupComboBox1: TDBLookupComboBox;
    btn_print: TBitBtn;
    Edit1: TEdit;
    DBLookupComboBox2: TDBLookupComboBox;
    DBLookupComboBox4: TDBLookupComboBox;
    DBLookupComboBox5: TDBLookupComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label3: TLabel;
    BitBtn12: TBitBtn;
    BitBtn11: TBitBtn;
    CancelBtn: TBitBtn;
    procedure Button5Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btn_printClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
    procedure DateEdit2Exit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure DateEdit1Exit(Sender: TObject);

  private
    { Private declarations }
    procedure SetButton;
  public
    { Public declarations }
  end;

var
  lsxx_form: Tlsxx_form;
  sql1:string;
implementation

uses   reports_DEL,menu,password_unit;
//delrecord, ql_data, czdlg, InfoQuery, reports2;

{$R *.DFM}
var
  filtervar:string;
procedure Tlsxx_form.Button5Click(Sender: TObject);
begin
  close;
end;

procedure Tlsxx_form.FormCreate(Sender: TObject);
var
  ls,ms,rs:string;
begin
  getkeyset(ls,ms,rs);
  RadioButton1.Caption:=ls;
  RadioButton2.Caption :=ms;
  RadioButton3.Caption:=rs;
  if not assigned(lsreportForm1)then
application.createform(TlsreportForm1,lsreportForm1);
  end;

procedure Tlsxx_form.SetButton;
begin
end;

procedure Tlsxx_form.btn_printClick(Sender: TObject);
begin
 DataModule1.q_view.DisableControls;
 //lsreportform:=tlsreportform.create(self) 
  lsreportform1.qrlabel15.caption:=password.ComboBox1.text;
  lsreportForm1.QuickRep1.preview;
  lsreportForm1.QuickRep1.qrprinter:=nil;
  DataModule1.q_view.enableControls;

end;

procedure Tlsxx_form.FormActivate(Sender: TObject);
begin
self.Caption:=mainform.label1.caption;
mainform.Label1.Visible:=false;
with DataModule1.q_view do
begin
sql1:=sql.Text;
end;
end;

procedure Tlsxx_form.BitBtn2Click(Sender: TObject);
begin
close;
end;

procedure Tlsxx_form.FormShow(Sender: TObject);
var
  i1,i2,i3:integer;
  f1,f2:real;

begin
if (screen.Height<600) and( screen.Width<800) then
  begin
  scaled:=true;
  height:=374;//round(height*longint(screen.height)*96 / 600/screen.pixelsperinch);
  width :=632;//round( width *longint(screen.width)*96 / 800/screen.pixelsperinch);
  left:=4;//round((screen.Width-Width)/2);
  top:=78;//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;
    label7.Font.Size:=i3-1;
    label8.Font.Size:=i3-1;
    dblookupcombobox1.Font.Size:=i3-1;
    dblookupcombobox3.Font.Size:=i3-1;
    dblookupcombobox2.Font.Size:=i3-1;
    dblookupcombobox4.Font.Size:=i3-1;
    dblookupcombobox5.Font.Size:=i3-1;
    edit1.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;
    CancelBtn.Font.Size:=i3-1;
    btn_print.Font.Size:=i3-1;
    BitBtn11.Font.Size:=i3-1;
    BitBtn12.Font.Size:=i3-1;
    groupbox1.Font.Size:=i3-1;
    groupbox2.Font.Size:=i3-1;
    groupbox3.Font.Size:=i3-1;
    panel1.Font.Size:=20;
  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.Width :=780;
self.Height:= 450;
  end;

with DataModule1 do
begin
q_node.close;
q_worker.close;
q_line.close;
q_name.close;
q_place.Close;
q_node.Open;
q_worker.open;
q_line.open;
q_name.Open;
q_place.Open;
q_view.close;
q_view.open;
q_view.Filter:='';
q_view.Filtered:=false;
end;
dateedit1.text:='    -  -  ';
dateedit2.text:='    -  -  ';
edit1.Text :='';
RadioButton1.Checked:=false;
RadioButton2.Checked:=false;
RadioButton3.Checked:=false;
end;

procedure Tlsxx_form.BitBtn11Click(Sender: TObject);
var ch:string;
s1,s2:string;
begin
if (dateedit2.date<>0) and(dateedit1.date<>0)  then
 begin
   if dateedit2.Date<dateedit1.Date then
   begin
   Application.MessageBox('起始日不能大於截至日期,請重新輸入','消息',MB_ICONINFORMATION);
   exit;
   end;
 end;
if edit1.Text<>'' then
begin
ch:=uppercase(trim(edit1.Text));
  try
   if (length(trim(ch)))<>2 then
   begin
   Application.MessageBox('請輸入2位筆號,範圍在00-FF之間!','消息',MB_ICONINFORMATION);
   edit1.SetFocus ;
   edit1.Text :='';
   exit;
   end;
   s1:=uppercase(copy(ch,1,1));
   s2:=uppercase(copy(ch,2,1));
   if (((uppercase(s1)<'0')or(uppercase(s1)>'F'))or((uppercase(s2)<'0')or(uppercase(s2)>'F'))) then
   begin
   Application.MessageBox('請輸入2位合法的筆號,範圍在00-FF之間!','消息',MB_ICONINFORMATION);
   edit1.SetFocus ;
   edit1.Text :='';
   exit;
   end;
  except
  begin
   Application.MessageBox('請輸入2位合法的筆號,範圍在00-FF之間!','消息',MB_ICONINFORMATION);
   edit1.SetFocus ;
   edit1.Text :='';
   exit;
   end;
   end;
 end;
 with DataModule1.q_view do
 begin  //查询
 close;
 sql.Clear ;
 sql.add(SQL1);
 sql.add('where pencode<>''''');
 if edit1.Text<>'' then
  begin
 sql.add('and(pencode=:pencode)') ;
 parambyname('pencode').asstring:=edit1.Text ;
  end;
  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 dblookupcombobox5.Text<>'' then
   begin
   sql.add('and(nodeplace=:nodeplace)');
   parambyname('nodeplace').asstring:=dblookupcombobox5.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 dataseq desc') ;
  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;
    //filtered:=true;
  end
  else
   if  dateedit1.date<>0 then
      begin
      filter:='';
      filtered:=true;
      filter:=s1;
      //filtered:=true;
      end
      else
        if dateedit2.date<>0 then
         begin
         filter:='';
         filtered:=true;
         filter:=s2;
         //filtered:=true;
         end;
open;
 end;//查询
end;

procedure Tlsxx_form.BitBtn12Click(Sender: TObject);
begin
dblookupcombobox1.KeyValue:=null;
dblookupcombobox2.KeyValue:=null;
dblookupcombobox3.KeyValue:=null;
dblookupcombobox4.KeyValue:=null;
dblookupcombobox5.KeyValue:=null;
edit1.Text :='';
dateedit1.text:='    -  -  ';
dateedit2.text:='    -  -  ';
RadioButton1.Checked:=false;
RadioButton2.Checked:=false;
RadioButton3.Checked:=false;
with DataModule1.q_view do
begin
close;
sql.clear;
sql.add(sql1);sql.add('order by dataseq desc') ;
open;
filtered:=false;
//showmessage(inttostr(recordcount));
end;
end;

procedure Tlsxx_form.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.date<>0) and(dateedit1.date<>0)  then
 begin
   if dateedit2.Date<dateedit1.Date then
   begin
   Application.MessageBox('起始日不能大於截至日期,請重新輸入','消息',MB_ICONINFORMATION);
   exit;
   end;
 end;
end;

procedure Tlsxx_form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
lsreportForm1.Free;
lsreportForm1:=nil;
lsxx_form :=nil ;
end;

procedure Tlsxx_form.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 Tlsxx_form.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 ;
end;
end;
end;

end.

⌨️ 快捷键说明

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