📄 ulist.~pas
字号:
unit Ulist;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, DB, ADODB, AppEvnts;
type
Tlist = class(TForm)
DBlist: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ADOQlist: TADOQuery;
DataSlist: TDataSource;
Edit1: TEdit;
ADOQsl: TADOQuery;
ADOQzcx: TADOQuery;
ADOQlistDSDesigner: TAutoIncField;
ADOQlistch: TWideStringField;
ADOQlistgd: TWideStringField;
ADOQlistfcsj: TDateTimeField;
ADOQlisths: TWideStringField;
ADOQlistrq: TDateTimeField;
ApplicationEvents1: TApplicationEvents;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
procedure DBlistDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
list: Tlist;
implementation
uses tgl;
{$R *.dfm}
procedure Tlist.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tlist.BitBtn1Click(Sender: TObject);
var a1,a2,a3,a4,a5:string;
begin
ADOQzcx.Close;
ADOQzcx.SQL.Clear;
ADOQzcx.SQL.Add('select * from tjlb where frwdh='''+trim(edit1.text)+''' order by fscrq desc,fccsj desc');
ADOQzcx.Open;
//清空表//
adoqsl.Close;
adoqsl.SQL.Clear;
adoqsl.SQL.Add('delete from list');
adoqsl.ExecSQL;
//写入//
while not ADOQzcx.Eof do
begin
a1:=(ADOQzcx.fieldbyname('fshch').AsString+'>'+ADOQzcx.fieldbyname('fsjxm').AsString);
//showmessage(a1);
a2:=(ADOQzcx.fieldbyname('fgcmc').AsString);
a3:=(ADOQzcx.fieldbyname('fccsj').AsString);
try
a4:=(floattostr(round((strtotime(ADOQzcx.fieldbyname('fccsj').AsString)-strtotime(ADOQzcx.fieldbyname('fdcsj').AsString))/3*4*24*60)));
///////
if strtofloat(a4)>0 then
begin
if strtofloat(a4)>99 then a4:='超时'
else a4:=a4+'分';
end
else
begin
a4:=floattostr(strtofloat(a4)+24*60);
a4:=a4+'分';
end;
///////
except
a4:='不明';
end;
a5:=(ADOQzcx.fieldbyname('fscrq').AsString);
////写入数据////////////////////////////
adoqsl.Close;
adoqsl.SQL.Clear;
adoqsl.SQL.Add('insert into list(ch,gd,fcsj,hs,rq) values('''+a1+''','''+a2+''','''+a3+''','''+a4+''','''+a5+''')');
adoqsl.ExecSQL;
ADOQzcx.next;
end;
///////////////////////////
adoqlist.Close;
adoqlist.SQL.Clear;
adoqlist.SQL.Add('select * from list order by rq desc,fcsj desc');
adoqlist.Open;
dblist.Columns[0].FieldName:='ch';
dblist.Columns[0].Title.caption:='车号';
dblist.Columns[0].Width:=65;
dblist.Columns[1].FieldName:='gd';
dblist.Columns[1].Title.caption:='工地';
dblist.Columns[1].Width:=172;
dblist.Columns[2].FieldName:='rq';
dblist.Columns[2].Title.caption:='日期';
dblist.Columns[2].Width:=75;
dblist.Columns[3].FieldName:='fcsj';
dblist.Columns[3].Title.caption:='时间';
dblist.Columns[3].Width:=45;
dblist.Columns[4].FieldName:='hs';
dblist.Columns[4].Title.caption:='耗时';
dblist.Columns[4].Width:=33;
TStringGrid(dblist).DefaultRowHeight:=24;
///////////////////////
end;
procedure Tlist.FormShow(Sender: TObject);
begin
edit1.Text:=form1.ADOQuery1.FieldByName('frwdh').text;
BitBtn1.Click;
end;
procedure Tlist.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (DBlist.Focused) And (Msg.message = WM_MOUSEWHEEL) then
begin
if Msg.wParam > 0 then
SendMessage(DBlist.Handle, WM_KEYDOWN, VK_UP, 0)
else
SendMessage(DBlist.Handle, WM_KEYDOWN, VK_DOWN, 0);
Handled := True;
end;
end;
procedure Tlist.DBlistDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (DBlist.DataSource.DataSet.RecNo mod 2)=1 then
begin
DBlist.Canvas.Font.Color:=clBlue;
DBlist.Canvas.Brush.Color:=clCream;//clyellow;
end
else
begin
DBlist.Canvas.Font.Color := 00000000;
DBlist.Canvas.Brush.Color:=clwhite;// clGradientActiveCaption;
end;
DBlist.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -