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

Delphi控件源码

开发平台:

Delphi

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