📄 zfrm_projectqueryu.pas
字号:
{
'┌───────────────────────────────────┐
'│**********************************************************************│
'│*** 文件名称:zfrm_ProjectQueryU *│
'│*** 功能描述: *│
'│*** 编写人员:朱华 *│
'│*** 编写日期:2001-06-06 *│
'│*** 修改人员: *│
'│*** 修改日期: *│
'│**********************************************************************│
'└───────────────────────────────────┘
}
unit zfrm_ProjectQueryU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls,zfrm_ProjectNewU;
type
TQueryRec=record
Comp:TComponent;//控件
StrSql:String[30];//查询Sql的where
ComType:integer; //控件类型 0_TEdit,1_TComboBox,2_BeginTime,3_EndTime
end;
PQueryRec=^TQueryRec;
Tzfrm_ProjectQuery = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label10: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label1: TLabel;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
Label5: TLabel;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Label7: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1Change(Sender: TObject);
procedure DateTimePicker3Change(Sender: TObject);
procedure DateTimePicker4Change(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
QueryList:TList;
procedure Proc_Clear;
public
{ Public declarations }
end;
var
zfrm_ProjectQuery: Tzfrm_ProjectQuery;
implementation
uses zfrm_MainBiddingU, zfrm_ProjectSetup1U;
{$R *.DFM}
//---------------------------
procedure Tzfrm_ProjectQuery.Proc_Clear;
var
i:integer;
begin
for i:=0 to Self.ComponentCount-1 do
begin
if (Self.Components[i] is TEdit) then
(Self.Components[i] as TEdit).Text:='';
if (Self.Components[i] is TComboBox) then
(Self.Components[i] As TComboBox).ItemIndex:=-1;
end;
end;
//---------------------------
procedure Tzfrm_ProjectQuery.Button1Click(Sender: TObject);
var
i:integer;
StrSql,StrWhere:string;
QRec:TQueryRec;
EndTime:String;
begin
// 开始查询
StrSql:='Select * From tm_projectinfo ';
StrWhere:='';
for i:=0 to QueryList.Count-1 do
begin
QRec:=PQueryRec(QueryList.Items[i])^;
Case QRec.ComType of
0,2:
begin
if Trim((Qrec.Comp as TEdit).Text)<>'' then
begin
if Pos('where',StrWhere)<=0 then
begin
if QRec.ComType= 0 then
StrWhere:=StrWhere+' where '+QRec.StrSql+''''+'%'+Trim((Qrec.Comp as TEdit).Text)+'%'+''''
else
StrWhere:=StrWhere+' where '+QRec.StrSql+''''+Trim((Qrec.Comp as TEdit).Text)+'''';
end
else
if QRec.ComType= 0 then
StrWhere:=StrWhere+' and '+QRec.StrSql+''''+'%'+Trim((Qrec.Comp as TEdit).Text)+'%'+''''
else
StrWhere:=StrWhere+' and '+QRec.StrSql+''''+Trim((Qrec.Comp as TEdit).Text)+''''
end;
end;
1:
begin
if Trim((Qrec.Comp as TComboBox).Text)<>'' then
begin
if Pos('where',StrWhere)<=0 then
begin
StrWhere:=StrWhere+' where '+QRec.StrSql+''''+Trim((Qrec.Comp as TComboBox).Text)+'''';
end
else
StrWhere:=StrWhere+' and '+QRec.StrSql+''''+Trim((Qrec.Comp as TComboBox).Text)+'''';
end;
end;
3:
begin
if Trim((Qrec.Comp as TEdit).Text)<>'' then
begin
EndTime:=DateToStr(StrToDate(Trim((Qrec.Comp as TEdit).Text))+1);
if Pos('where',StrWhere)<=0 then
begin
StrWhere:=StrWhere+' where '+QRec.StrSql+''''+EndTime+'''';
end
else
StrWhere:=StrWhere+' and '+QRec.StrSql+''''+EndTime+'''';
end;
end;
end;
end;
StrSql:=StrSql+StrWhere+' order by g_pi_id';
zfrm_MainBidding.z_FlashProjectListView1P(StrSql);
//
end;
procedure Tzfrm_ProjectQuery.Button2Click(Sender: TObject);
begin
// 取消
zfrm_MainBidding.z_FlashProjectListView1P('ALL');
Close ;
//
end;
procedure Tzfrm_ProjectQuery.FormClose(Sender: TObject;
var Action: TCloseAction);
var
i:integer;
begin
//
zfrm_MainBidding.ztool_Project4.Down := False ;
zfrm_MainBidding.z_Project4.Enabled := True ;
for i:= 0 to QueryList.Count-1 do
FreeMem(QueryList.Items[i]);
//
end;
procedure Tzfrm_ProjectQuery.FormShow(Sender: TObject);
var
QRec:PQueryRec;
begin
Proc_Clear;
QueryList:=TList.Create;
zfrm_ProjectNew.AddListBox(ComboBox1,'Select BT_NAME from TM_PI_BIDTYPEA') ;
zfrm_ProjectNew.AddListBox(ComboBox2,'Select ST_NAME from TM_PI_SENDTYPEA') ;
zfrm_ProjectNew.AddListBox(ComboBox3,'Select PT_NAME from TM_PI_PROJECTTYPEA') ;
if (ComboBox1.Items.Count=0) or (ComboBox2.Items.Count=0) or (ComboBox3.Items.Count=0) then
begin
Application.MessageBox('请您首先设置工程参数','提示信息', MB_OK+MB_ICONASTERISK);
zfrm_ProjectSetup.ShowModal;
zfrm_ProjectNew.AddListBox(ComboBox1,'Select BT_NAME from TM_PI_BIDTYPEA') ;
zfrm_ProjectNew.AddListBox(ComboBox2,'Select ST_NAME from TM_PI_SENDTYPEA') ;
zfrm_ProjectNew.AddListBox(ComboBox3,'Select PT_NAME from TM_PI_PROJECTTYPEA') ;
end;
if (ComboBox1.Items.Count=0) or (ComboBox2.Items.Count=0) or (ComboBox3.Items.Count=0) then
PostMessage(Handle,WM_CLOSE,0,0);
ComboBox1.Items.Add('');
ComboBox2.Items.Add('');
ComboBox3.Items.Add('');
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=Edit1;
QRec^.StrSql:=' pi_Name like ';
QRec^.ComType:=0;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=Edit2;
QRec^.StrSql:=' pi_BidUnit like ';
QRec^.ComType:=0;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=ComboBox1;
QRec^.StrSql:=' pi_bidtype=';
QRec^.ComType:=1;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=ComboBox2;
QRec^.StrSql:=' pi_sendtype=';
QRec^.ComType:=1;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=ComboBox3;
QRec^.StrSql:=' pi_projecttype=';
QRec^.ComType:=1;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=Edit3;
QRec^.StrSql:=' pi_Datetime>=';
QRec^.ComType:=2;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=Edit6;
QRec^.StrSql:=' pi_Datetime<';
QRec^.ComType:=3;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=Edit4;
QRec^.StrSql:=' pi_opendate>=';
QRec^.ComType:=2;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=Edit5;
QRec^.StrSql:=' pi_opendate<';
QRec^.ComType:=3;
QueryList.Add(QRec);
GetMem(QRec,SizeOf(TQueryRec));
QRec^.Comp:=combobox4;
QRec^.StrSql:=' pi_statetype=';
QRec^.ComType:=1;
QueryList.Add(QRec);
end;
procedure Tzfrm_ProjectQuery.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#8 then (Sender As TEdit).Text:='';
end;
procedure Tzfrm_ProjectQuery.DateTimePicker1Change(Sender: TObject);
begin
if (DateTimepicker2.Date<DateTimepicker1.Date) and (Edit6.Text<>'')then
Application.MessageBox('终止时间不能小于起始时间','提示信息', MB_OK+MB_ICONASTERISK)
else
Edit3.Text:=FormatDateTime('yyyy-mm-dd',DateTimepicker1.Date);
//Edit3.Text:=DateToStr();
end;
procedure Tzfrm_ProjectQuery.DateTimePicker3Change(Sender: TObject);
begin
if (DateTimepicker4.Date<DateTimepicker3.Date) and (Edit5.Text<>'') then
Application.MessageBox('终止时间不能小于起始时间','提示信息', MB_OK+MB_ICONASTERISK)
else
Edit4.Text:=FormatDateTime('yyyy-mm-dd',DateTimepicker3.Date);
end;
procedure Tzfrm_ProjectQuery.DateTimePicker4Change(Sender: TObject);
begin
if (DateTimepicker4.Date<DateTimepicker3.Date) and (Edit4.Text<>'') then
Application.MessageBox('终止时间不能小于起始时间','提示信息', MB_OK+MB_ICONASTERISK)
else
Edit5.Text:=FormatDateTime('yyyy-mm-dd',DateTimepicker4.Date);
end;
procedure Tzfrm_ProjectQuery.DateTimePicker2Change(Sender: TObject);
begin
if (DateTimepicker2.Date<DateTimepicker1.Date) and (Edit3.Text<>'')then
Application.MessageBox('终止时间不能小于起始时间','提示信息', MB_OK+MB_ICONASTERISK)
else
Edit6.Text:=FormatDateTime('yyyy-mm-dd',DateTimepicker2.Date);
end;
procedure Tzfrm_ProjectQuery.BitBtn1Click(Sender: TObject);
begin
Proc_Clear;
end;
procedure Tzfrm_ProjectQuery.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//处理按键,进行回车跳转
If (Key = Vk_Return) Then
Begin
Perform(WM_NextDlgCtl, 0, 0);
key := vk_Tab;
End;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -