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

Delphi控件源码

开发平台:

Delphi

  1. unit am_ajjs_cxs;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, ExtCtrls, StdCtrls, Buttons, Mask, DBCtrlsEh, DB, DBClient;
  6. type
  7.   Tam_ajjs_cx = class(TForm)
  8.     Panel1: TPanel;
  9.     Label1: TLabel;
  10.     ComboBox1: TComboBox;
  11.     ComboBox2: TComboBox;
  12.     Label2: TLabel;
  13.     Label3: TLabel;
  14.     DBDateTimeEditEh1: TDBDateTimeEditEh;
  15.     Label4: TLabel;
  16.     ComboBox3: TComboBox;
  17.     Panel2: TPanel;
  18.     Edit1: TEdit;
  19.     BitBtn2: TSpeedButton;
  20.     BitBtn1: TSpeedButton;
  21.     SpeedButton1: TSpeedButton;
  22.     SpeedButton2: TSpeedButton;
  23.     Edit2: TEdit;
  24.     ClientDataSet1: TClientDataSet;
  25.     procedure BitBtn2Click(Sender: TObject);
  26.     procedure ComboBox1Change(Sender: TObject);
  27.     procedure FormCreate(Sender: TObject);
  28.     procedure BitBtn1Click(Sender: TObject);
  29.     procedure ComboBox3Change(Sender: TObject);
  30.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  31.     procedure SpeedButton1Click(Sender: TObject);
  32.     procedure ComboBox2Change(Sender: TObject);
  33.     procedure SpeedButton2Click(Sender: TObject);
  34.     procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  35.   private
  36.     { Private declarations }
  37.   public
  38.     { Public declarations }
  39.   end;
  40. var
  41.   am_ajjs_cx: Tam_ajjs_cx;
  42.   str,s_zdm,s_logic,s_tj:string;//查找字符串,字段名
  43. Const ss:array [0..4] of string=('aj_dh','ajlb_mc','ajzt_mc','aj_ndh','aj_wsh');
  44. implementation
  45. uses am_dz_ajxzs;
  46. {$R *.dfm}
  47. procedure Tam_ajjs_cx.BitBtn2Click(Sender: TObject);
  48. begin
  49.  close;
  50. end;
  51. procedure Tam_ajjs_cx.ComboBox1Change(Sender: TObject);
  52. begin
  53.   s_zdm:=ss[combobox1.itemindex];//以上是获得下拉框中的值
  54.   combobox2.Clear;
  55.   combobox2.Items.Add('=');
  56.   combobox2.Items.Add('<>');
  57.   combobox2.Items.Add('模糊查询');
  58. end;
  59. procedure Tam_ajjs_cx.FormCreate(Sender: TObject);
  60. begin
  61.  combobox1.Items.Clear;
  62.  combobox1.Items.Add('档号');
  63.  combobox1.Items.Add('案卷类别');
  64.  combobox1.Items.Add('案卷状态');
  65.  combobox1.Items.Add('年代号');
  66.  Combobox1.Items.Add('微缩号');
  67. end;
  68. procedure Tam_ajjs_cx.BitBtn1Click(Sender: TObject);
  69. var S_Edit,Hint:string;
  70. begin
  71.  S_Edit:=Edit2.Text;
  72.  if trim(Combobox1.Text)='' then
  73.    begin
  74.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  75.     exit;
  76.    end;
  77.  if trim(Combobox2.Text)='' then
  78.    begin
  79.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  80.     exit;
  81.    end;
  82.  //----------------------------------
  83.  if trim(Edit2.Text)='' then
  84.   begin
  85.     if Combobox2.Text='模糊查询' then
  86.      str:=s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  87.     else
  88.      str:=s_zdm+' '+s_tj+' '+''''+trim(edit1.Text)+'''';
  89.   end
  90.  else
  91.   begin
  92.     if Combobox2.Text='模糊查询' then
  93.      str:=s_Edit+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  94.     else
  95.      str:=s_Edit+s_zdm+' '+s_tj+' '+''''+trim(edit1.Text)+'''';
  96.   end;
  97.  //---------------------------------
  98.   Clientdataset1.Close;
  99.   Clientdataset1.CommandText:='select * from V_ajxz where '+str;
  100.   Clientdataset1.Open;
  101.   am_dz_ajxz.ClientDataSet1.Data:=clientdataset1.Data;
  102.   if Clientdataset1.RecordCount=0 then
  103.      application.MessageBox('没有找到符合条件的纪录','提示',mb_ok+mb_iconinformation)
  104.   else
  105.    begin
  106.      Hint:='当前表中有'+IntToStr(Clientdataset1.RecordCount)+'条记录符合条件';
  107.      application.MessageBox(Pchar(hint),'提示',mb_ok+mb_iconinformation);
  108.    end;
  109. end;
  110. procedure Tam_ajjs_cx.ComboBox3Change(Sender: TObject);
  111. begin
  112.  if trim(Combobox1.Text)='' then
  113.    begin
  114.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  115.     exit;
  116.    end;
  117.  if trim(Combobox2.Text)='' then
  118.    begin
  119.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  120.     exit;
  121.    end;
  122.  s_logic:='';
  123.  case combobox3.ItemIndex of
  124.   0:  s_logic:=' and ';
  125.   1:  s_logic:=' or ';
  126.  end;
  127.  SpeedButton1.Enabled:=true;
  128. end;
  129. procedure Tam_ajjs_cx.FormClose(Sender: TObject; var Action: TCloseAction);
  130. begin
  131.  Action:=cafree;
  132.  am_ajjs_cx:=nil;
  133. end;
  134. procedure Tam_ajjs_cx.SpeedButton1Click(Sender: TObject);
  135. begin
  136.  s_logic:='';
  137.  if trim(Combobox1.Text)='' then
  138.    begin
  139.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  140.     exit;
  141.    end;
  142.  if trim(Combobox2.Text)='' then
  143.    begin
  144.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  145.     exit;
  146.    end;
  147.    //有效性验证
  148.  case combobox3.ItemIndex of
  149.   0:  s_logic:=' and ';
  150.   1:  s_logic:=' or ';
  151.  end;
  152.  if Combobox2.Text='模糊查询' then
  153.    Edit2.Text:=Edit2.Text+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''+' '+s_logic+' '
  154.  else
  155.    Edit2.Text:=Edit2.Text+s_zdm+' '+s_tj+' '+''''+trim(edit1.Text)+''''+' '+s_logic+' ';
  156.  combobox1.ItemIndex:=-1;
  157.  combobox2.ItemIndex:=-1;
  158.  edit1.Text:='';
  159.  combobox3.ItemIndex:=-1;
  160.  SpeedButton1.Enabled:=false;
  161. end;
  162. procedure Tam_ajjs_cx.ComboBox2Change(Sender: TObject);
  163. begin
  164.  s_tj:='';
  165.  case combobox2.ItemIndex of
  166.   0:  s_tj:='=';
  167.   1:  s_tj:='<>';
  168.   2:  s_tj:='Like';
  169.  end; 
  170. end;
  171. procedure Tam_ajjs_cx.SpeedButton2Click(Sender: TObject);
  172. begin
  173.  combobox1.ItemIndex:=-1;
  174.  combobox2.ItemIndex:=-1;
  175.  edit1.Text:='';
  176.  combobox3.ItemIndex:=-1; 
  177.  edit2.text:='';
  178. end;
  179. procedure Tam_ajjs_cx.Edit1KeyPress(Sender: TObject; var Key: Char);
  180. begin
  181.  if Combobox1.Text='年代号' then
  182.   begin
  183.    if not(key in['0'..'9',#8,#13]) then
  184.     key:=#13;
  185.     application.MessageBox('请输入整数','提示',mb_ok+mb_iconinformation);
  186.   end;
  187. end;
  188. end.