Am_GdAjCxs.pas
上传用户:szruida
上传日期:2007-06-01
资源大小:6518k
文件大小:7k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit Am_GdAjCxs;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, DB, DBClient, Buttons, StdCtrls, Mask, DBCtrlsEh, ExtCtrls;
  6. type
  7.   Tam_gdAjcx = class(TForm)
  8.     Panel1: TPanel;
  9.     Label1: TLabel;
  10.     Label2: TLabel;
  11.     Label3: TLabel;
  12.     Label4: TLabel;
  13.     ComboBox1: TComboBox;
  14.     ComboBox2: TComboBox;
  15.     DBDateTimeEditEh1: TDBDateTimeEditEh;
  16.     ComboBox3: TComboBox;
  17.     Edit1: TEdit;
  18.     Edit2: TEdit;
  19.     Panel2: TPanel;
  20.     BitBtn2: TSpeedButton;
  21.     BitBtn1: TSpeedButton;
  22.     SpeedButton1: TSpeedButton;
  23.     SpeedButton2: TSpeedButton;
  24.     ClientDataSet1: TClientDataSet;
  25.     procedure SpeedButton1Click(Sender: TObject);
  26.     procedure SpeedButton2Click(Sender: TObject);
  27.     procedure BitBtn1Click(Sender: TObject);
  28.     procedure BitBtn2Click(Sender: TObject);
  29.     procedure ComboBox1Change(Sender: TObject);
  30.     procedure ComboBox3Change(Sender: TObject);
  31.     procedure FormCreate(Sender: TObject);
  32.     procedure ComboBox2Change(Sender: TObject);
  33.     procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  34.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  35.   private
  36.     { Private declarations }
  37.   public
  38.     { Public declarations }
  39.   end;
  40. var
  41.   am_gdAjcx: Tam_gdAjcx;
  42.   str,s_zdm,s_logic,s_tj:string;//查找字符串,字段名
  43. Const ss:array [0..16] of string=('ajzt_mc','ajlb_mc','aj_ndh','user_name','mj_mc','bgqx_mc','aj_dh',
  44.     'aj_bzqsrq','aj_bzjsrq','aj_gdqsrq','aj_gdjsrq','aj_ljr','aj_jcr','aj_wsh','aj_kwmc','aj_ztc','aj_bmmc');
  45. implementation
  46. uses am_dz_ajxzs, am_gdaj_cxs, DMs;
  47. {$R *.dfm}
  48. procedure Tam_gdAjcx.SpeedButton1Click(Sender: TObject);
  49. begin
  50.  s_logic:='';
  51.  if trim(Combobox1.Text)='' then
  52.    begin
  53.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  54.     exit;
  55.    end;
  56.  if trim(Combobox2.Text)='' then
  57.    begin
  58.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  59.     exit;
  60.    end;
  61.    //有效性验证
  62.  case combobox3.ItemIndex of
  63.   0:  s_logic:=' and ';
  64.   1:  s_logic:=' or ';
  65.  end;
  66.  if Combobox2.Text='模糊查询' then
  67.    Edit2.Text:=Edit2.Text+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''+' '+s_logic+' '
  68.  else if (combobox1.Text='编制起始日期')or(combobox1.Text='编制结束日期')
  69.      or(combobox1.Text='归档起始日期')or(combobox1.Text='归档结束日期') then
  70.   begin
  71.    Edit2.Text:=Edit2.Text+s_zdm+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''+' '+s_logic+' ';   end
  72.  else
  73.    Edit2.Text:=Edit2.Text+s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+''''+' '+s_logic+' ';
  74.  combobox1.ItemIndex:=-1;
  75.  combobox2.ItemIndex:=-1;
  76.  edit1.Text:='';
  77.  combobox3.ItemIndex:=-1;
  78.  SpeedButton1.Enabled:=false;
  79. end;
  80. procedure Tam_gdAjcx.SpeedButton2Click(Sender: TObject);
  81. begin
  82.  combobox1.ItemIndex:=-1;
  83.  combobox2.ItemIndex:=-1;
  84.  edit1.Text:='';
  85.  combobox3.ItemIndex:=-1;
  86.  edit2.text:='';
  87. end;
  88. procedure Tam_gdAjcx.BitBtn1Click(Sender: TObject);
  89. var S_Edit,Hint:string;
  90. begin
  91.  S_Edit:=Edit2.Text;
  92.  if trim(Combobox1.Text)='' then
  93.    begin
  94.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  95.     exit;
  96.    end;
  97.  if trim(Combobox2.Text)='' then
  98.    begin
  99.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  100.     exit;
  101.    end;
  102.  //----------------------------------
  103.   if trim(Edit2.Text)='' then
  104.   begin
  105.     if Combobox2.Text='模糊查询' then
  106.      str:=s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  107.     else
  108.      str:=s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+'''';
  109.   end
  110.  else
  111.   begin
  112.     if Combobox2.Text='模糊查询' then
  113.        str:=s_Edit+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  114.     else if (combobox1.Text='编制起始日期')or(combobox1.Text='编制结束日期')
  115.      or(combobox1.Text='归档起始日期')or(combobox1.Text='归档结束日期') then
  116.        str:=s_Edit+s_zdm+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''
  117.     else
  118.        str:=s_Edit+s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+'''';
  119.   end;
  120.  //---------------------------------
  121.   Clientdataset1.Close;
  122.   Clientdataset1.CommandText:='select * from V_Ajgd where '+str;
  123.   Clientdataset1.Open;
  124.   //dm.V_AJGD.Data:=Clientdataset1.Data;
  125.   am_gdaj_cx.ClientDataSet1.data:=Clientdataset1.Data;
  126.   if Clientdataset1.RecordCount=0 then
  127.      application.MessageBox('没有找到符合条件的纪录','提示',mb_ok+mb_iconinformation)
  128.   else
  129.    begin
  130.      //Hint:='当前表中有'+IntToStr(dm.V_Ajgd.RecordCount)+'条记录符合条件';
  131.      Hint:='当前表中有'+IntToStr(ClientDataSet1.RecordCount)+'条记录符合条件';
  132.      application.MessageBox(Pchar(hint),'提示',mb_ok+mb_iconinformation);
  133.    end;
  134. end;
  135. procedure Tam_gdAjcx.BitBtn2Click(Sender: TObject);
  136. begin
  137.  close;
  138. end;
  139. procedure Tam_gdAjcx.ComboBox1Change(Sender: TObject);
  140. begin
  141.   s_zdm:=ss[combobox1.itemindex];//以上是获得下拉框中的值
  142.  if (combobox1.Text='年代号')or(combobox1.Text='编制起始日期')or(combobox1.Text='编制结束日期')
  143.      or(combobox1.Text='归档起始日期')or(combobox1.Text='归档结束日期') then
  144.   begin
  145.     combobox2.Clear;
  146.     Combobox2.Items.Add('=');
  147.     combobox2.Items.Add('>');
  148.     combobox2.Items.Add('>=');
  149.     Combobox2.Items.Add('<');
  150.     combobox2.Items.Add('<=');
  151.     combobox2.Items.Add('<>');
  152.   end
  153.  else
  154.   begin
  155.    combobox2.Clear;
  156.    combobox2.Items.Add('=');
  157.    combobox2.Items.Add('<>');
  158.    combobox2.Items.Add('模糊查询');
  159.   end;
  160. end;
  161. procedure Tam_gdAjcx.ComboBox3Change(Sender: TObject);
  162. begin
  163. if trim(Combobox1.Text)='' then
  164.    begin
  165.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  166.     exit;
  167.    end;
  168.  if trim(Combobox2.Text)='' then
  169.    begin
  170.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  171.     exit;
  172.    end;
  173.  s_logic:='';
  174.  case combobox3.ItemIndex of
  175.   0:  s_logic:=' and ';
  176.   1:  s_logic:=' or ';
  177.  end;
  178.  SpeedButton1.Enabled:=true;
  179. end;
  180. procedure Tam_gdAjcx.FormCreate(Sender: TObject);
  181. begin
  182.   combobox1.Clear;
  183.   combobox1.Items.Add('案卷状态');
  184.   combobox1.Items.Add('案卷类别');
  185.   combobox1.Items.Add('年代号');
  186.   combobox1.Items.Add('用户名');
  187.   combobox1.Items.Add('密级');
  188.   combobox1.Items.Add('保管期限');
  189.   combobox1.Items.Add('档号');
  190.   combobox1.Items.Add('编制起始日期');
  191.   combobox1.Items.Add('编制结束日期');
  192.   combobox1.Items.Add('归档起始日期');
  193.   combobox1.Items.Add('归档结束日期');
  194.   combobox1.Items.Add('立卷人');
  195.   combobox1.Items.Add('检查人');
  196.   combobox1.Items.Add('微缩号');
  197.   combobox1.Items.Add('库位');
  198.   combobox1.Items.Add('主题词');
  199.   combobox1.Items.Add('责任者');
  200. end;
  201. procedure Tam_gdAjcx.ComboBox2Change(Sender: TObject);
  202. begin
  203.  if (combobox1.Text='编制起始日期')or(combobox1.Text='编制结束日期')
  204.      or(combobox1.Text='归档起始日期')or(combobox1.Text='归档结束日期') then
  205.    begin
  206.     DBDateTimeEditEh1.Visible:=true;
  207.     edit1.Visible:=false;
  208.    end
  209.  else
  210.    begin
  211.     DBDateTimeEditEh1.Visible:=false;
  212.     edit1.Visible:=true;
  213.    end;
  214. end;
  215. procedure Tam_gdAjcx.Edit1KeyPress(Sender: TObject; var Key: Char);
  216. begin
  217.  if combobox1.Text='年代号' then
  218.   begin
  219.     if not(key in ['0'..'9',#8,#13]) then
  220.      begin
  221.        key:=#0;
  222.        application.MessageBox('请输入整数','提示',mb_ok+mb_iconinformation);
  223.        exit;
  224.      end;
  225.   end;
  226. end;
  227. procedure Tam_gdAjcx.FormClose(Sender: TObject; var Action: TCloseAction);
  228. begin
  229.  action:=cafree;
  230.  am_gdajcx:=Nil;
  231.  Clientdataset1.Active:=false;
  232. end;
  233. end.