📄 canfind.pas
字号:
var b1,b2:boolean;
begin
if (trim(combobox1.text)+trim(combobox2.text)+trim(combobox3.text)
+trim(combobox4.text)+trim(combobox5.text)+trim(combobox6.text)
+trim(combobox7.text)+trim(combobox8.text)+trim(combobox9.text)
+trim(combobox10.text)+trim(combobox11.text)
+trim(combobox13.text)+trim(combobox14.text)+trim(combobox15.text)+trim(combobox16.text))='' then
begin
changetrue:=true;
exit;
end;
if (trim(combobox4.text)<>'') and (trim(combobox3.text)='') then
begin
Application.Messagebox('请在第一个条件和第二个条件之间选择一种关系','Error',mb_ok+mb_iconerror);
changetrue:=true;
exit;
end;
if (trim(combobox7.text)<>'') and (trim(combobox6.text)='') then
begin
Application.Messagebox('请在第二个条件和第三个条件之间选择一种关系','Error',mb_ok+mb_iconerror);
changetrue:=true;
exit;
end;
if (trim(combobox10.text)<>'') and (trim(combobox9.text)='') then
begin
Application.Messagebox('请在第三个条件和第四个条件之间选择一种关系','Error',mb_ok+mb_iconerror);
changetrue:=true;
exit;
end;
if (trim(combobox1.text)='') or (trim(combobox2.text)='') or (trim(combobox13.text)='') then
b1:=true
else
b1:=false;
if (trim(combobox1.text)+trim(combobox2.text)+trim(combobox13.text))<>'' then
b2:=true
else
b2:=false;
if b1 and b2 then
begin
Application.Messagebox('第一个条件不合格','Warning',mb_ok+mb_iconwarning);
changetrue:=true;
exit;
end;
if (trim(combobox4.text)='') or (trim(combobox5.text)='') or (trim(combobox14.text)='') then
b1:=true
else
b1:=false;
if (trim(combobox4.text)+trim(combobox5.text)+trim(combobox14.text))<>'' then
b2:=true
else
b2:=false;
if b1 and b2 then
begin
Application.Messagebox('第二个条件不合格','Warning',mb_ok+mb_iconwarning);
changetrue:=true;
exit;
end;
if (trim(combobox7.text)='') or (trim(combobox8.text)='') or (trim(combobox15.text)='') then
b1:=true
else
b1:=false;
if (trim(combobox7.text)+trim(combobox8.text)+trim(combobox15.text))<>'' then
b2:=true
else
b2:=false;
if b1 and b2 then
begin
Application.Messagebox('第三个条件不合格','Warning',mb_ok+mb_iconwarning);
changetrue:=true;
exit;
end;
if (trim(combobox10.text)='') or (trim(combobox11.text)='') or (trim(combobox16.text)='') then
b1:=true
else
b1:=false;
if (trim(combobox10.text)+trim(combobox11.text)+trim(combobox16.text))<>'' then
b2:=true
else
b2:=false;
if b1 and b2 then
begin
Application.Messagebox('第四个条件不合格','Warning',mb_ok+mb_iconwarning);
changetrue:=true;
exit;
end;
changetrue:=false;
end;
procedure Tformcanfind.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(Activecontrol,true,true);
end;
end;
procedure Tformcanfind.SpeedButton1Click(Sender: TObject);
begin
combobox1.Text :='';
combobox2.Text :='';
combobox3.Text :='';
combobox13.Text :='';
speedbutton1.Enabled :=false;
end;
procedure Tformcanfind.SpeedButton2Click(Sender: TObject);
begin
combobox4.Text :='';
combobox5.Text :='';
combobox6.Text :='';
combobox14.Text :='';
speedbutton2.Enabled :=false;
end;
procedure Tformcanfind.SpeedButton3Click(Sender: TObject);
begin
combobox7.Text :='';
combobox8.Text :='';
combobox9.Text :='';
combobox15.Text :='';
speedbutton3.Enabled :=false;
end;
procedure Tformcanfind.SpeedButton4Click(Sender: TObject);
begin
combobox10.Text :='';
combobox11.Text :='';
combobox16.Text :='';
speedbutton4.Enabled :=false;
end;
procedure Tformcanfind.ComboBox1Change(Sender: TObject);
var fs:string;
begin
speedbutton1.Enabled :=true;
if trim(combobox1.text)<>'' then
begin
fs:=adt.Fields[strtoint(copy(combobox1.text,1,2))-1].FieldName;
itemadd('13',fs);
end;
end;
procedure Tformcanfind.ComboBox4Change(Sender: TObject);
var fs:string;
begin
speedbutton2.Enabled :=true;
if trim(combobox4.text)<>'' then
begin
fs:=adt.Fields[strtoint(copy(combobox4.text,1,2))-1].FieldName;
itemadd('14',fs);
end;
end;
procedure Tformcanfind.ComboBox7Change(Sender: TObject);
var fs:string;
begin
speedbutton3.Enabled :=true;
if trim(combobox7.text)<>'' then
begin
fs:=adt.Fields[strtoint(copy(combobox7.text,1,2))-1].FieldName;
itemadd('15',fs);
end;
end;
procedure Tformcanfind.ComboBox10Change(Sender: TObject);
var fs:string;
begin
speedbutton4.Enabled :=true;
if trim(combobox10.text)<>'' then
begin
fs:=adt.Fields[strtoint(copy(combobox10.text,1,2))-1].FieldName;
itemadd('16',fs);
end;
end;
procedure Tformcanfind.itemadd(cs,f:string);
var cbx:Tcombobox;
begin
cbx:=Tcombobox(findcomponent('combobox'+cs));
with cbx do
begin
cbx.Clear;
datamod.ADOQuery1.sql.Clear;
datamod.ADOQuery1.sql.Add('select distinct('+f+') from '+tabname+' ');
datamod.ADOQuery1.open;
while not datamod.ADOQuery1.eof do
begin
cbx.Items.Add(datamod.ADOQuery1.fields[0].AsString);
datamod.ADOQuery1.next;
end;
datamod.ADOQuery1.close;
end;
end;
procedure Tformcanfind.N1Click(Sender: TObject);
var i:0..5;
begin
for i:=1 to fcount1 do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount1<5 then
begin
fcount1:=fcount1+1;
findex[fcount1]:=dbgrid1.selectedindex;
fsort[fcount1]:='ASC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure Tformcanfind.N2Click(Sender: TObject);
var i:0..5;
begin
for i:=1 to fcount1 do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='DESC';
exit;
end;
if fcount1<5 then
begin
fcount1:=fcount1+1;
findex[fcount1]:=dbgrid1.selectedindex;
fsort[fcount1]:='DESC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure Tformcanfind.N4Click(Sender: TObject);
var i:0..5;
sortexp:string;
begin
sortexp:='';
for i:=1 to fcount1 do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
sortexp:=Sortexp+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount1 then Sortexp:=Sortexp+',';
end;
end;
if sortexp<>'' then
begin
// if aryB then ary.Sort :=sortexp;
// if adtB then adt.Sort :=sortexp;
adoquery1.Sort :=sortexp;
end;
end;
procedure Tformcanfind.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount1 do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount1:=0;
end;
procedure Tformcanfind.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
adoquery1.Sort :=column.FieldName+' '+f;
end;
//用创建的checkbox来执行已存在的copycheck的click事件
procedure Tformcanfind.copycheckClick(Sender: TObject);
begin
SpnNewshowClick(sender);
end;
procedure tformcanfind.showcomboxitem(y:integer);
var i:integer;
s:string;
ckx:Tcheckbox;
begin
s:='';
for i:=0 to y-1 do
begin
ckx:=Tcheckbox(findcomponent('check'+inttostr(i)));
with ckx do
begin
if i<9 then
s:='0'+inttostr(i+1)+' '+ckx.caption
else
s:=inttostr(i+1)+' '+ckx.caption;
combobox1.Items.add(s);
combobox4.Items.add(s);
combobox7.Items.add(s);
combobox10.Items.add(s);
end;
end;
end;
procedure Tformcanfind.ToolButton4Click(Sender: TObject);
begin
close;
end;
procedure Tformcanfind.ToolButton1Click(Sender: TObject);
begin
SpnNewshowclick(sender);
end;
procedure Tformcanfind.SpnToExcelClick(Sender: TObject);
begin
formmain.output.Click;
end;
procedure Tformcanfind.ToolButton5Click(Sender: TObject);
begin
formmain.output.Click;
end;
procedure Tformcanfind.SpnPrintClick(Sender: TObject);
begin
command:=AdoQuery1.sql.text;
formprintsel:=TFormprintsel.create(self);
formprintsel.showmodal;
formprintsel.free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -