Ulogin.pas
上传用户:jiete_yjc
上传日期:2010-02-11
资源大小:422k
文件大小:4k
源码类别:

医药行业

开发平台:

Delphi

  1. unit Ulogin;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs,udm, StdCtrls, DBCtrls, Buttons, ExtCtrls, Menus, Mask, DBCtrlsEh,
  6.   DBLookupEh;
  7. type
  8.   TFlogin = class(TForm)
  9.     Edit2: TEdit;
  10.     Label1: TLabel;
  11.     Label2: TLabel;
  12.     btok: TBitBtn;
  13.     btno: TBitBtn;
  14.     yh: TDBLookupComboboxEh;
  15.     procedure FormShow(Sender: TObject);
  16.     procedure btokClick(Sender: TObject);
  17.     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  18.     procedure btnoClick(Sender: TObject);
  19.     procedure FormKeyDown(Sender: TObject; var Key: Word;
  20.       Shift: TShiftState);
  21.   private
  22.     check:boolean;
  23.     Ftimes:integer;{ Private declarations }
  24.   public
  25.     procedure iniapp(qx:int64);
  26.     { Public declarations }
  27.   end;
  28. var
  29.   Flogin: TFlogin;
  30. implementation
  31. uses umain;
  32. {$R *.dfm}
  33. procedure TFlogin.FormShow(Sender: TObject);
  34. begin
  35.  
  36.   Ftimes:=0;
  37.   check:=false;
  38.   yh.SetFocus;
  39.   edit2.text:='';
  40. end;
  41. procedure TFlogin.btokClick(Sender: TObject);
  42. var mm:string;qx:int64;
  43. begin
  44.    Ftimes:=Ftimes+1;
  45.    mm:=trim(adodm.tuser.Fieldbyname('password').AsString);
  46.    qx:=adodm.tuser.FieldValues['able'];
  47.    if (mm=trim(edit2.text)) and  (qx>1000000000) then
  48.       begin
  49.       
  50.       fmain.auser.name:=adodm.tuser.FieldValues['oper'];
  51.       fmain.auser.qx:=qx;
  52.       fmain.auser.id:=adodm.tuser.fieldvalues['userid'];
  53.       adodm.toper.Open;
  54.       adodm.toper.append;
  55.       adodm.toper.FieldByName('登录时间').AsDateTime:=now;
  56.       adodm.toper.FieldByName('userid').AsVariant:=fmain.auser.id;
  57.       adodm.toper.Post;
  58.       adodm.toper.Last;
  59.       fmain.operid:=adodm.toper.FieldByName('operid').AsVariant ;
  60.       iniapp(qx);
  61.      // showmessage(inttostr(fmain.operid));
  62.       flogin.Close;
  63.       end
  64.    else
  65.    if ftimes<3 then
  66.    if mm<>trim(edit2.Text) then
  67.    begin
  68.       showmessage('密码不对,请重新录入!');
  69.       edit2.SetFocus;
  70.       exit;
  71.    end else
  72.    begin
  73.        showmessage('你的权限数据被破坏!请与管理员联系重新分配!');
  74.        yh.SetFocus;
  75.        exit;
  76.    end
  77.    else
  78.    begin
  79.    showmessage('对不起,你没有通过口令认证!');
  80.    application.Terminate;
  81.    end;
  82. end;
  83. procedure TFlogin.iniapp(qx: int64);
  84. var i,j:integer;
  85. begin
  86.   for i:=0 to fmain.MainMenu1.items.Count-1 do
  87.    for j:=0 to fmain.MainMenu1.Items[i].Count-1 do
  88.    fmain.MainMenu1.items[i].Items[j].Enabled:=false;
  89.     qx:=qx xor 1234567890;
  90.    qx:=qx shr 10;
  91.    for i:=0 to 6 do //共有7 种权限
  92.    if ((1 shl i) and qx)<>0 then
  93.    case i of
  94.      0:begin
  95.         fmain.ls1.Enabled:=true;
  96.         fmain.pf1.Enabled:=true;
  97.         fmain.crlist1.Enabled:=true;
  98.         end;
  99.      1:begin
  100.         fmain.rk1.Enabled:=true;
  101.         fmain.ty1.Enabled:=true;
  102.         fmain.bs1.Enabled:=true;
  103.         fmain.xl1.Enabled:=true;
  104.         fmain.pd1.Enabled:=true;
  105.         fmain.kclist1.Enabled:=true;
  106.        end;
  107.      2:begin
  108.         fmain.xstj.Enabled:=true;
  109.         fmain.kctj.Enabled:=true;
  110.         fmain.djsearch.Enabled:=true;
  111.         fmain.support.Enabled:=true;
  112.        end;
  113.      3:begin
  114.         fmain.yplist1.Enabled:=true;
  115.         fmain.ypadd.Enabled:=true;
  116.         fmain.ypedit.Enabled:=true;
  117.         fmain.ypprice.Enabled:=true;
  118.        end;
  119.      4:begin
  120.         fmain.yg1.Enabled:=true;
  121.         fmain.bm1.Enabled:=true;
  122.         fmain.company1.Enabled:=true;
  123.        end;
  124.      5:begin
  125.         fmain.user1.Enabled:=true;
  126.        end;
  127.      6:begin
  128.         fmain.back1.Enabled:=true;
  129.        end;
  130.      end;
  131.         fmain.mm.Enabled:=true;
  132.         fmain.relogin.Enabled:=true;
  133.         fmain.quit.Enabled:=true;
  134.         fmain.systemhelp.Enabled:=true;
  135.         fmain.about.Enabled:=true;
  136.         
  137.         check:=true;
  138.         fmain.StatusBar1.Panels[1].Text:='操作员:'+fmain.auser.name;
  139.         fmain.StatusBar1.Panels[2].Text:='鞍山威特软件开发服务中心 Tel:0412-2662251';
  140. end;
  141. procedure TFlogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  142. begin
  143. if not check then
  144.  btno.Click
  145. else canclose:=true;
  146. end;
  147. procedure TFlogin.btnoClick(Sender: TObject);
  148. begin
  149.   application.Terminate;
  150. end;
  151. procedure TFlogin.FormKeyDown(Sender: TObject; var Key: Word;
  152.   Shift: TShiftState);
  153. begin
  154.   if key=vk_return then
  155.   sendmessage(handle,wm_keydown,vk_tab,0);
  156. end;
  157. end.