📄 chaxun1.pas
字号:
unit chaxun1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, DB, DBTables,shellapi,
TFlatGroupBoxUnit;
type
Tzdy = class(TForm)
ListBox1: TListBox;
RichEdit1: TRichEdit;
ListBox2: TListBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
bitbtn3: TSpeedButton;
bitbtn4: TSpeedButton;
bitbtn2: TSpeedButton;
speedbutton1: TSpeedButton;
bitbtn1: TSpeedButton;
FlatGroupBox1: TFlatGroupBox;
RadioButton5: TRadioButton;
RadioButton4: TRadioButton;
RadioButton3: TRadioButton;
RadioButton2: TRadioButton;
RadioButton1: TRadioButton;
FlatGroupBox2: TFlatGroupBox;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
procedure Button1Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ListBox2DblClick(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1Enter(Sender: TObject);
procedure RadioButton1DblClick(Sender: TObject);
procedure RadioButton2DblClick(Sender: TObject);
procedure RadioButton3DblClick(Sender: TObject);
procedure RadioButton4DblClick(Sender: TObject);
procedure RadioButton5DblClick(Sender: TObject);
procedure RadioButton6DblClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure RadioButton7DblClick(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
zdy: Tzdy;
txt:string;
implementation
uses chaxun2,quan;
{$R *.dfm}
procedure Tzdy.Button1Click(Sender: TObject);
begin
close;
end;
procedure Tzdy.ListBox1Click(Sender: TObject);
begin
SpeedButton1.Enabled:=false;
edit1.Enabled:=false;
listbox2.Enabled:=true;
bitbtn2.Enabled:=false;
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
if listbox1.Selected[0] then
begin
listbox2.Items.Clear;
listbox2.Items.Add('职工编号');
listbox2.Items.Add('姓名');
listbox2.Items.Add('职称');
listbox2.Items.Add('出生日期');
listbox2.Items.Add('');
end;
if listbox1.Selected[1] then
begin
listbox2.Items.Clear;
listbox2.Items.Add('迟到次数');
listbox2.Items.Add('旷工次数');
listbox2.Items.Add('事假次数');
listbox2.Items.Add('奖金');
end;
if listbox1.Selected[2] then
begin
listbox2.Items.Clear;
listbox2.Items.Add('部门名称');
end;
end;
procedure Tzdy.FormPaint(Sender: TObject);
var a,b:real;
i:integer;
begin
a:=clientheight/256;
b:=0;
for i:=255 downto 0 do
begin
canvas.Brush.Color:=$000000000+i*$10000;
canvas.FillRect(rect(0,round(b),clientwidth,round(a+b)));
b:=b+a;
end;
end;
procedure Tzdy.BitBtn3Click(Sender: TObject);
begin
shellexecute(application.Handle,'open',pchar(s+'\help\cha_xun.htm'),'','',SW_SHOW);
end;
procedure Tzdy.ListBox2DblClick(Sender: TObject);
begin
radiobutton1.Enabled:=true;
radiobutton2.Enabled:=true;
radiobutton3.Enabled:=true;
radiobutton4.Enabled:=true;
radiobutton5.Enabled:=true;
radiobutton1.Checked:=false;
radiobutton2.Checked:=false;
radiobutton3.Checked:=false;
radiobutton4.Checked:=false;
radiobutton5.Checked:=false;
bitbtn2.Enabled:=false;
if listbox2.Count=5 then
begin
if listbox2.Selected[0] then
begin
txt:=txt+'职工编号';
sq:=sq+'tem."bian_hao"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end
else
if listbox2.Selected[1] then
begin
txt:=txt+'姓名';
sq:=sq+'tem."xing_ming"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end
else
if listbox2.Selected[2] then
begin
txt:=txt+'职称';
sq:=sq+'tem."zhi_cheng"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end
else
if listbox2.Selected[3] then
begin
txt:=txt+'出生日期';
sq:=sq+'tem."date"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end;
end
else
if listbox2.Count=4 then
begin
if listbox2.Selected[0] then
begin
txt:=txt+'迟到次数';
sq:=sq+'tem."ci_dao"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end
else
if listbox2.Selected[1] then
begin
txt:=txt+'旷工次数';
sq:=sq+'tem."kuang_gong"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end
else
if listbox2.Selected[2] then
begin
txt:=txt+'事假次数';
sq:=sq+'tem."shi_jia"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end
else
if listbox2.Selected[3] then
begin
txt:=txt+'奖金';
sq:=sq+'tem."jiang_jin"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end;
end
else
if listbox2.Selected[0] then
begin
txt:=txt+'部门名称';
sq:=sq+'tem."bu_men"';
richedit1.Text:=txt;
listbox2.Enabled:=false;
listbox1.Enabled:=false;
end;
end;
procedure Tzdy.BitBtn4Click(Sender: TObject);
begin
richedit1.Clear;
txt:='';
sq:=txt;
listbox1.Enabled:=true;
SpeedButton1.Enabled:=false;
edit1.Enabled:=false;
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
radiobutton6.Enabled:=false;
radiobutton7.Enabled:=false;
bitbtn2.Enabled:=false;
listbox2.Enabled:=true;
listbox1.Selected[0]:=true;
listbox2.Items.Clear;
listbox2.Items.Add('职工编号');
listbox2.Items.Add('姓名');
listbox2.Items.Add('职称');
listbox2.Items.Add('出生日期');
listbox2.Items.Add('');
edit1.Text:='';
end;
procedure Tzdy.FormShow(Sender: TObject);
begin
listbox2.Enabled:=true;
edit1.Text:='';
txt:='';
sq:=txt;
richedit1.Clear;
listbox1.Enabled:=true;
SpeedButton1.Enabled:=false;
edit1.Enabled:=false;
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
radiobutton6.Enabled:=false;
radiobutton7.Enabled:=false;
bitbtn2.Enabled:=false;
listbox1.Selected[0]:=true;
listbox2.Items.Clear;
listbox2.Items.Add('职工编号');
listbox2.Items.Add('姓名');
listbox2.Items.Add('职称');
listbox2.Items.Add('出生日期');
listbox2.Items.Add('');
end;
procedure Tzdy.SpeedButton1Click(Sender: TObject);
var dex:integer;
begin
dex:=0;
if edit1.Text='' then
edit1.Text:='0';
if (listbox1.Selected[1]) and (listbox2.Selected[3]=false) then
begin
if edit1.Text='' then
edit1.Text:='0';
if strtoint(edit1.Text)>30 then
begin
if application.MessageBox('此处输入不可超过30!','错误!',mb_okcancel+mb_iconinformation)=idok then
begin
edit1.SetFocus;
edit1.SelectAll;
exit;
end
else
begin
bitbtn4.Click;
exit;
end;
end
else
begin
sq:=sq+edit1.Text;
txt:=txt+edit1.Text;
richedit1.Text:=txt;
radiobutton6.Enabled:=true;
radiobutton7.Enabled:=true;
bitbtn2.Enabled:=true;
speedbutton1.Enabled:=false;
edit1.Enabled:=false;
end;
end
else
if (listbox1.Selected[0])and(listbox2.Selected[3]) then
begin
if edit1.Text='' then
edit1.Text:='1111-11-11';
if length(edit1.Text)<>10 then
begin
if application.MessageBox('出生日期必须为日期,形如:1990-01-04 表示1990年1月4日 年份必须为四位数,月份2位不足则补0,日期也为2位不足则补0!','错误!',mb_okcancel+mb_iconinformation)=idok then
begin
edit1.SetFocus;
edit1.SelectAll;
exit;
end
else
begin
bitbtn4.Click;
exit;
end;
end
else
if (copy(edit1.Text,5,1)<>'-') or (copy(edit1.Text,8,1)<>'-') then
begin
if application.MessageBox('出生日期必须为日期,形如:1990-01-04 表示1990年1月4日 年份必须为四位数,月份2位不足则补0,日期也为2位不足则补0!','错误!',mb_okcancel+mb_iconinformation)=idok then
begin
edit1.SetFocus;
edit1.SelectAll;
exit;
end
else
begin
bitbtn4.Click;
exit;
end;
end
else
if (strtofloat(copy(edit1.Text,6,2))<0)or (strtofloat(copy(edit1.Text,6,2))>12) then
begin
if application.MessageBox('月份可以小于零或是大于12吗','信息',mb_okcancel+mb_iconinformation)=idok then
begin
edit1.SetFocus;
edit1.SelectAll;
exit;
end
else
begin
bitbtn4.Click;
exit;
end;
end
else
if (strtoint(copy(edit1.Text,6,2))=1)or(strtoint(copy(edit1.Text,6,2))=3)or(strtoint(copy(edit1.Text,6,2))=5)or(strtoint(copy(edit1.Text,6,2))=7)
or(strtoint(copy(edit1.Text,6,2))=8)or(strtoint(copy(edit1.Text,6,2))=10)or(strtoint(copy(edit1.Text,6,2))=12) then
begin
if (strtofloat(copy(edit1.Text,9,2))<0)or (strtofloat(copy(edit1.Text,9,2))>31) then
begin
if application.MessageBox('日期可以小于零或是大于31吗','信息',mb_ok+mb_iconinformation)=idok then
begin
edit1.SetFocus ;
edit1.SelectAll;
exit
end
else
begin
bitbtn4.Click;
exit;
end;
end;
end
else
if strtoint(copy(edit1.Text,6,2))=2 then
begin
if ((frac(strtofloat(copy(edit1.Text,1,4))/4)=0)and(frac(strtofloat(copy(edit1.Text,1,4))/100)<>0))or((frac(strtofloat(copy(edit1.Text,1,4))/100)=0)and(frac(strtofloat(copy(edit1.Text,1,4))/400)=0)) then
begin
if (strtofloat(copy(edit1.Text,9,2))<0)or (strtofloat(copy(edit1.Text,9,2))>29) then
begin
if application.MessageBox('闰年2月份的日期可以小于零或是大于29吗','信息',mb_okcancel+mb_iconinformation)=idok then
begin
edit1.SetFocus;
edit1.SelectAll;
exit;
end
else
begin
bitbtn4.Click;
exit;
end;
end;
end
else
if (strtofloat(copy(edit1.Text,9,2))<0)or (strtofloat(copy(edit1.Text,9,2))>28) then
begin
if application.MessageBox('平年2月份的日期可以小于零或是大于28吗','信息',mb_okcancel+mb_iconinformation)=idok then
begin
edit1.SetFocus;
edit1.SelectAll;
exit;
end
else
begin
bitbtn4.Click;
exit;
end;
end;
end
else
if (strtofloat(copy(edit1.Text,9,2))<0)or (strtofloat(copy(edit1.Text,9,2))>29) then
begin
if application.MessageBox('日期可以小于零或是大于30吗','信息',mb_okcancel+mb_iconinformation)=idok then
begin
edit1.SetFocus;
edit1.SelectAll;
exit;
end
else
begin
bitbtn4.Click;
exit;
end;
end;
if dex=0 then
begin
sq:=sq+'"'+edit1.Text+'"';
txt:=txt+'"'+edit1.Text+'"';
richedit1.Text:=txt;
radiobutton6.Enabled:=true;
radiobutton7.Enabled:=true;
bitbtn2.Enabled:=true;
speedbutton1.Enabled:=false;
edit1.Enabled:=false;
end;
end
else
begin
sq:=sq+'"'+edit1.Text+'"';
txt:=txt+'"'+edit1.Text+'"';
richedit1.Text:=txt;
radiobutton6.Enabled:=true;
radiobutton7.Enabled:=true;
bitbtn2.Enabled:=true;
speedbutton1.Enabled:=false;
edit1.Enabled:=false;
end;
end;
procedure Tzdy.Edit1Enter(Sender: TObject);
begin
speedbutton1.Enabled:=true;
edit1.Text:='';
end;
procedure Tzdy.RadioButton1DblClick(Sender: TObject);
begin
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
txt:=txt+' 小于 ';
sq:=sq+'<';
richedit1.Text:=txt;
edit1.Enabled:=true;
bitbtn2.Enabled:=false;
edit1.SetFocus;
end;
procedure Tzdy.RadioButton2DblClick(Sender: TObject);
begin
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
txt:=txt+' 大于 ';
sq:=sq+'>';
richedit1.Text:=txt;
edit1.Enabled:=true;
bitbtn2.Enabled:=false;
edit1.SetFocus;
end;
procedure Tzdy.Radiobutton3DblClick(Sender: TObject);
begin
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
txt:=txt+' 不大于 ';
sq:=sq+'<=';
richedit1.Text:=txt;
edit1.Enabled:=true;
bitbtn2.Enabled:=false;
edit1.SetFocus;
end;
procedure Tzdy.RadioButton4DblClick(Sender: TObject);
begin
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
txt:=txt+' 不小于 ';
sq:=sq+'>=';
richedit1.Text:=txt;
edit1.Enabled:=true;
bitbtn2.Enabled:=false;
edit1.SetFocus;
end;
procedure Tzdy.RadioButton5DblClick(Sender: TObject);
begin
radiobutton1.Enabled:=false;
radiobutton2.Enabled:=false;
radiobutton3.Enabled:=false;
radiobutton4.Enabled:=false;
radiobutton5.Enabled:=false;
txt:=txt+' 为 ';
sq:=sq+'=';
richedit1.Text:=txt;
edit1.Enabled:=true;
bitbtn2.Enabled:=false;
edit1.SetFocus;
end;
procedure Tzdy.RadioButton6DblClick(Sender: TObject);
begin
txt:=txt+' 并且 ';
sq:=sq+' and ';
richedit1.Text:=txt;
speedbutton1.Enabled:=false;
edit1.Enabled:=false;
bitbtn2.Enabled:=false;
listbox1.Enabled:=true;
radiobutton6.Enabled:=false;
end;
procedure Tzdy.BitBtn2Click(Sender: TObject);
var t:string;
begin
zcx.query2.Active:=false;
zcx.query2.sql.Clear;
t:='select * from tem where ';
zcx.query2.sql.Add(t+sq);
zcx.query2.Open;
end;
procedure Tzdy.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
speedbutton1.Click;
end;
procedure Tzdy.RadioButton7DblClick(Sender: TObject);
begin
txt:=txt+' 或者 ';
sq:=sq+' or ';
richedit1.Text:=txt;
speedbutton1.Enabled:=false;
edit1.Enabled:=false;
bitbtn2.Enabled:=false;
listbox1.Enabled:=true;
radiobutton6.Enabled:=false;
radiobutton7.Enabled:=false;
end;
procedure Tzdy.BitBtn1Click(Sender: TObject);
begin
zcx.Query2.Open;
close;
end;
procedure Tzdy.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if listbox1.Selected[1] then
begin
ky:=edit1.text;
if (key <>48)and((key<97) OR (key>105))and (key <>144)and (key <>8) and (key <>49)and (key <>50)and (key <>51)and (key <>52)and (key <>53)and (key <>54)and (key <>55)and (key <>56)and (key <>57)and (key <>13)then
begin
application.MessageBox('此处应输入数字','错误',mb_ok);
edit1.Text:=ky;
edit1.SelStart:=length(ky);
end
else
ky:=edit1.Text;
end
else
if (listbox1.Selected[0])and(listbox2.Selected[3]) then
begin
ky:=edit1.text;
if (key <>48)and (key <>8) and (key <>49)and (key <>50)and (key <>51)and (key <>52)and (key <>53)and (key <>54)and (key <>55)and (key <>56)and (key <>57)and (key <>13)and (key <>189)then
begin
application.MessageBox('此处应输入数字','错误',mb_ok);
edit1.Text:=ky;
edit1.SelStart:=length(ky);
end
else
ky:=edit1.Text;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -