📄 xjysxx_pas.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 + -