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

Delphi控件源码

开发平台:

Delphi

  1. unit AM_ajlb_cxs;
  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_ajlb_cx = 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 BitBtn2Click(Sender: TObject);
  26.     procedure SpeedButton2Click(Sender: TObject);
  27.     procedure ComboBox1Change(Sender: TObject);
  28.     procedure ComboBox2Change(Sender: TObject);
  29.     procedure SpeedButton1Click(Sender: TObject);
  30.     procedure BitBtn1Click(Sender: TObject);
  31.     procedure ComboBox3Change(Sender: TObject);
  32.     procedure FormCreate(Sender: TObject);
  33.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  34.   private
  35.     { Private declarations }
  36.   public
  37.     { Public declarations }
  38.   end;
  39. var
  40.   am_ajlb_cx: Tam_ajlb_cx;
  41.   str,s_zdm,s_logic,s_tj:string;//查找字符串,字段名
  42. Const ss:array [0..4] of string=('qz_dm','ajlb_sjlbdm','ajlb_dm','ajlb_mc','ajlb_js');
  43. implementation
  44. uses am_ajlb_xzs;
  45. {$R *.dfm}
  46. procedure Tam_ajlb_cx.BitBtn2Click(Sender: TObject);
  47. begin
  48.  close;
  49. end;
  50. procedure Tam_ajlb_cx.SpeedButton2Click(Sender: TObject);
  51. begin
  52.  combobox1.ItemIndex:=-1;
  53.  combobox2.ItemIndex:=-1;
  54.  edit1.Text:='';
  55.  combobox3.ItemIndex:=-1;
  56.  edit2.text:='';
  57. end;
  58. procedure Tam_ajlb_cx.ComboBox1Change(Sender: TObject);
  59. begin
  60.   s_zdm:=ss[combobox1.itemindex];//以上是获得下拉框中的值
  61.   combobox2.Clear;
  62.   combobox2.Items.Add('=');
  63.   combobox2.Items.Add('<>');
  64.   combobox2.Items.Add('模糊查询');
  65. end;
  66. procedure Tam_ajlb_cx.ComboBox2Change(Sender: TObject);
  67. begin
  68.  s_tj:='';
  69.  case combobox2.ItemIndex of
  70.   0:  s_tj:='=';
  71.   1:  s_tj:='<>';
  72.   2:  s_tj:='Like';
  73.  end; 
  74. end;
  75. procedure Tam_ajlb_cx.SpeedButton1Click(Sender: TObject);
  76. begin
  77. s_logic:='';
  78.  if trim(Combobox1.Text)='' then
  79.    begin
  80.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  81.     exit;
  82.    end;
  83.  if trim(Combobox2.Text)='' then
  84.    begin
  85.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  86.     exit;
  87.    end;
  88.    //有效性验证
  89.  case combobox3.ItemIndex of
  90.   0:  s_logic:=' and ';
  91.   1:  s_logic:=' or ';
  92.  end;
  93.  if Combobox2.Text='模糊查询' then
  94.    Edit2.Text:=Edit2.Text+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''+' '+s_logic+' '
  95.  else
  96.    Edit2.Text:=Edit2.Text+s_zdm+' '+s_tj+' '+''''+trim(edit1.Text)+''''+' '+s_logic+' ';
  97.  combobox1.ItemIndex:=-1;
  98.  combobox2.ItemIndex:=-1;
  99.  edit1.Text:='';
  100.  combobox3.ItemIndex:=-1;
  101.  SpeedButton1.Enabled:=false;
  102. end;
  103. procedure Tam_ajlb_cx.BitBtn1Click(Sender: TObject);
  104. var S_Edit,Hint:string;
  105. begin
  106.  S_Edit:=Edit2.Text;
  107.  if trim(Combobox1.Text)='' then
  108.    begin
  109.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  110.     exit;
  111.    end;
  112.  if trim(Combobox2.Text)='' then
  113.    begin
  114.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  115.     exit;
  116.    end;
  117.  //----------------------------------
  118.  if trim(Edit2.Text)='' then
  119.   begin
  120.     if Combobox2.Text='模糊查询' then
  121.      str:=s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  122.     else
  123.      str:=s_zdm+' '+s_tj+' '+''''+trim(edit1.Text)+'''';
  124.   end
  125.  else
  126.   begin
  127.     if Combobox2.Text='模糊查询' then
  128.      str:=s_Edit+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  129.     else
  130.      str:=s_Edit+s_zdm+' '+s_tj+' '+''''+trim(edit1.Text)+'''';
  131.   end;
  132.  //---------------------------------
  133.   Clientdataset1.Close;
  134.   Clientdataset1.CommandText:='select * from sz_ajlb where '+str;
  135.   Clientdataset1.Open;
  136.   am_ajlb_xz.ClientDataSet1.Data:=clientdataset1.Data;
  137.   if Clientdataset1.RecordCount=0 then
  138.      application.MessageBox('没有找到符合条件的纪录','提示',mb_ok+mb_iconinformation)
  139.   else
  140.    begin
  141.      Hint:='当前表中有'+IntToStr(Clientdataset1.RecordCount)+'条记录符合条件';
  142.      application.MessageBox(Pchar(hint),'提示',mb_ok+mb_iconinformation);
  143.    end;
  144. end;
  145. procedure Tam_ajlb_cx.ComboBox3Change(Sender: TObject);
  146. begin
  147. if trim(Combobox1.Text)='' then
  148.    begin
  149.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  150.     exit;
  151.    end;
  152.  if trim(Combobox2.Text)='' then
  153.    begin
  154.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  155.     exit;
  156.    end;
  157.  s_logic:='';
  158.  case combobox3.ItemIndex of
  159.   0:  s_logic:=' and ';
  160.   1:  s_logic:=' or ';
  161.  end;
  162.  SpeedButton1.Enabled:=true;
  163. end;
  164. procedure Tam_ajlb_cx.FormCreate(Sender: TObject);
  165. begin
  166.  combobox1.Items.Clear;
  167.  combobox1.Items.Add('全宗代码');
  168.  combobox1.Items.Add('上级类别代码');
  169.  combobox1.Items.Add('案卷类别代码');
  170.  combobox1.Items.Add('案卷类别名称');
  171.  Combobox1.Items.Add('案卷类别级数');
  172. end;
  173. procedure Tam_ajlb_cx.FormClose(Sender: TObject; var Action: TCloseAction);
  174. begin
  175.  action:=cafree;
  176.  am_ajlb_cx:=nil;
  177.  Clientdataset1.active:=false;
  178. end;
  179. end.