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

Delphi控件源码

开发平台:

Delphi

  1. unit am_ghgl_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_ghgl_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.     Edit3: TEdit;
  26.     procedure ComboBox1Change(Sender: TObject);
  27.     procedure ComboBox2Change(Sender: TObject);
  28.     procedure ComboBox3Change(Sender: TObject);
  29.     procedure SpeedButton2Click(Sender: TObject);
  30.     procedure SpeedButton1Click(Sender: TObject);
  31.     procedure BitBtn1Click(Sender: TObject);
  32.     procedure BitBtn2Click(Sender: TObject);
  33.     procedure FormCreate(Sender: TObject);
  34.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  35.   private
  36.     { Private declarations }
  37.   public
  38.     { Public declarations }
  39.   end;
  40. var
  41.   am_ghgl_cx: Tam_ghgl_cx;
  42.   str,s_zdm,s_logic,s_tj:string;//查找字符串,字段名
  43. Const ss:array[0..5] of string=('dz_dm','dz_xm','aj_dh','jy_jyrq','jy_yhrq','jy_jyzt');
  44. implementation
  45. uses DMs;
  46. {$R *.dfm}
  47. procedure Tam_ghgl_cx.ComboBox1Change(Sender: TObject);
  48. begin
  49.  s_zdm:=ss[combobox1.itemindex];//以上是获得下拉框中的值
  50.  if (combobox1.Text='借阅日期')or (Combobox1.Text='应还日期')then
  51.    begin
  52.     combobox2.Clear;
  53.     combobox2.Items.Add('=');
  54.     combobox2.Items.Add('<>');
  55.     combobox2.Items.Add('<');
  56.     combobox2.Items.Add('>');
  57.     combobox2.Items.Add('>=');
  58.     combobox2.Items.Add('<=');
  59.    end
  60.   else
  61.    begin
  62.     combobox2.Clear;
  63.     combobox2.Items.Add('=');
  64.     combobox2.Items.Add('<>');
  65.     combobox2.Items.Add('模糊查询');
  66.    end;
  67. end;
  68. procedure Tam_ghgl_cx.ComboBox2Change(Sender: TObject);
  69. begin
  70.   if (combobox1.Text='借阅日期')or (Combobox1.Text='应还日期')then
  71.    begin
  72.     DBDateTimeEditEh1.Visible:=true;
  73.     edit1.Visible:=false;
  74.    end
  75.  else
  76.    begin
  77.     DBDateTimeEditEh1.Visible:=false;
  78.     edit1.Visible:=true;
  79.    end;
  80. end;
  81. procedure Tam_ghgl_cx.ComboBox3Change(Sender: TObject);
  82. begin
  83. if trim(Combobox1.Text)='' then
  84.    begin
  85.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  86.     exit;
  87.    end;
  88.  if trim(Combobox2.Text)='' then
  89.    begin
  90.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  91.     exit;
  92.    end;
  93.  s_logic:='';
  94.  case combobox3.ItemIndex of
  95.   0:  s_logic:=' and ';
  96.   1:  s_logic:=' or ';
  97.  end;
  98.  SpeedButton1.Enabled:=true;
  99. end;
  100. procedure Tam_ghgl_cx.SpeedButton2Click(Sender: TObject);
  101. begin
  102.  combobox1.ItemIndex:=-1;
  103.  combobox2.ItemIndex:=-1;
  104.  combobox3.ItemIndex:=-1;
  105.  edit1.Text:='';edit2.text:='';edit3.Text:='';
  106. end;
  107. procedure Tam_ghgl_cx.SpeedButton1Click(Sender: TObject);
  108. begin
  109.  s_logic:='';
  110.  if trim(Combobox1.Text)='' then
  111.    begin
  112.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  113.     exit;
  114.    end;
  115.  if trim(Combobox2.Text)='' then
  116.    begin
  117.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  118.     exit;
  119.    end;
  120.    //有效性验证
  121.  case combobox3.ItemIndex of
  122.   0:  s_logic:=' and ';
  123.   1:  s_logic:=' or ';
  124.  end;
  125.  if Combobox2.Text='模糊查询' then
  126.   begin
  127.    Edit2.Text:=Edit2.Text+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''+' '+s_logic+' ';
  128.    Edit3.Text:=Edit3.Text+combobox1.Text+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''+' '+combobox3.Text+' ';
  129.   end
  130.  else if (combobox1.Text='借阅日期')or (Combobox1.Text='应还日期')then
  131.   begin
  132.    Edit2.Text:=Edit2.Text+s_zdm+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''+' '+s_logic+' ';
  133.    Edit3.Text:=Edit3.Text+combobox1.Text+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''+' '+combobox3.Text+' ';
  134.   end
  135.  else
  136.   begin
  137.    Edit2.Text:=Edit2.Text+s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+''''+' '+s_logic+' ';
  138.    Edit3.Text:=Edit3.Text+combobox1.Text+' '+combobox2.Text+' '+''''+trim(edit1.Text)+''''+' '+combobox3.Text+' ';
  139.   end;
  140.  combobox1.ItemIndex:=-1;
  141.  combobox2.ItemIndex:=-1;
  142.  edit1.Text:='';
  143.  combobox3.ItemIndex:=-1;
  144.  SpeedButton1.Enabled:=false;
  145. end;
  146. procedure Tam_ghgl_cx.BitBtn1Click(Sender: TObject);
  147. var S_Edit,Hint:string;
  148. begin
  149.  S_Edit:=Edit2.Text;
  150.  if trim(Combobox1.Text)='' then
  151.    begin
  152.     application.MessageBox('字段名称不能为空','提示',mb_ok+mb_iconinformation);
  153.     exit;
  154.    end;
  155.  if trim(Combobox2.Text)='' then
  156.    begin
  157.     application.MessageBox('条件不能为空','提示',mb_ok+mb_iconinformation);
  158.     exit;
  159.    end;
  160.  //----------------------------------
  161.  if trim(Edit2.Text)='' then
  162.   begin
  163.     if Combobox2.Text='模糊查询' then
  164.      str:=s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  165.     else
  166.      str:=s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+'''';
  167.   end
  168.  else
  169.   begin
  170.     if Combobox2.Text='模糊查询' then
  171.        str:=s_Edit+s_zdm+' '+' like '+' '+''''+trim(edit1.Text)+'%'+''''
  172.     else if (combobox1.Text='借阅日期')or (Combobox1.Text='应还日期')then
  173.        str:=s_Edit+s_zdm+' '+combobox2.Text+' '+''''+DBDateTimeEditEh1.Text+''''
  174.     else
  175.        str:=s_Edit+s_zdm+' '+combobox2.Text+' '+''''+trim(edit1.Text)+'''';
  176.   end;
  177.  //---------------------------------
  178.   ClientDataSet1.Close;
  179.   ClientDataSet1.CommandText:='select * from V_GH where '+str;
  180.   ClientDataSet1.Open;
  181.   dm.V_GH.active:=false;
  182.   dm.V_GH.active:=true;
  183.   dm.V_GH.Data:=ClientDataSet1.Data;
  184.   if Clientdataset1.RecordCount=0 then
  185.      application.MessageBox('没有找到符合条件的纪录','提示',mb_ok+mb_iconinformation)
  186.   else
  187.    begin
  188.      Hint:='当前表中有'+IntToStr(Clientdataset1.RecordCount)+'条记录符合条件';
  189.      application.MessageBox(Pchar(hint),'提示',mb_ok+mb_iconinformation);
  190.    end;
  191. end;
  192. procedure Tam_ghgl_cx.BitBtn2Click(Sender: TObject);
  193. begin
  194.  Close;
  195. end;
  196. procedure Tam_ghgl_cx.FormCreate(Sender: TObject);
  197. begin
  198.  Combobox1.Clear;
  199.  Combobox1.Items.add('读者代码');
  200.  Combobox1.Items.add('读者姓名');
  201.  Combobox1.Items.add('案卷档号');
  202.  Combobox1.Items.add('借阅日期');
  203.  Combobox1.Items.add('应还日期');
  204.  Combobox1.Items.add('借阅状态');
  205. end;
  206. procedure Tam_ghgl_cx.FormClose(Sender: TObject; var Action: TCloseAction);
  207. begin
  208.  Action:=cafree;
  209.  am_ghgl_cx:=nil;
  210. end;
  211. end.