⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user_pas.pas

📁 delphi6.0电子寻更源程序,用来计算保安有无查抄
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit user_pas;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, Grids, DBGrids, RXCtrls, ExtCtrls, ImgList, ComCtrls;

type
  Tuser = class(TForm)
    Panel12: TPanel;
    BitBtn1: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn3: TBitBtn;
    ImageList1: TImageList;
    Panel3: TPanel;
    Panel14: TPanel;
    DBGrid2: TDBGrid;
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    CheckBox9: TCheckBox;
    CheckBox10: TCheckBox;
    CheckBox19: TCheckBox;
    CheckBox18: TCheckBox;
    CheckBox17: TCheckBox;
    CheckBox16: TCheckBox;
    CheckBox20: TCheckBox;
    CheckBox21: TCheckBox;
    CheckBox22: TCheckBox;
    CheckBox23: TCheckBox;
    BitBtn9: TBitBtn;
    CheckBox11: TCheckBox;
    procedure TreeView1Click(Sender: TObject);
    procedure DBGrid2CellClick(Column: TColumn);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure DBGrid2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox7Click(Sender: TObject);
    procedure CheckBox13Click(Sender: TObject);
    procedure CheckBox20Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure CheckBox5Click(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure CheckBox8Click(Sender: TObject);
    procedure CheckBox9Click(Sender: TObject);
    procedure CheckBox10Click(Sender: TObject);
    procedure CheckBox11Click(Sender: TObject);
    procedure CheckBox14Click(Sender: TObject);
    procedure CheckBox16Click(Sender: TObject);
    procedure CheckBox18Click(Sender: TObject);
    procedure CheckBox12Click(Sender: TObject);
    procedure CheckBox15Click(Sender: TObject);
    procedure CheckBox17Click(Sender: TObject);
    procedure CheckBox19Click(Sender: TObject);
    procedure CheckBox6Click(Sender: TObject);
    procedure CheckBox21Click(Sender: TObject);
    procedure CheckBox23Click(Sender: TObject);
    procedure CheckBox22Click(Sender: TObject);
    procedure DBGrid2ColEnter(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
  procedure onsee(s: string);
 // procedure onsee_add(s:string);
  function onadd:string;
  function encrypt(const s : string ):string;
  function decrypt(const s: string ):string;
  procedure check_true(flag:boolean);

    { Public declarations }
  end;

var
  user: Tuser;

implementation
uses dm_user_pas,menu,add_user_pas;
  const
  c1=45395;
  c2=56569;

{$R *.DFM}
procedure tuser.check_true(flag:boolean);
begin
{checkbox1.Enabled:=flag;
checkbox2.Enabled:=flag;
checkbox3.Enabled:=flag;
checkbox4.Enabled:=flag;
checkbox5.Enabled:=flag;
checkbox6.Enabled:=flag;
checkbox7.Enabled:=flag;
checkbox8.Enabled:=flag;
checkbox9.Enabled:=flag;
checkbox10.Enabled:=flag;
checkbox19.Enabled:=flag;
checkbox16.Enabled:=flag;
checkbox17.Enabled:=flag;
checkbox18.Enabled:=flag;
checkbox20.Enabled:=flag;
checkbox11.Enabled:=flag;
checkbox21.Enabled:=flag;
checkbox22.Enabled:=flag;
checkbox23.Enabled:=flag;  }
end;
function Tuser.encrypt(const s: string ):string;
var
  I: byte;
  key: word;
begin
  key:=65535;
  Result:=s;
  for i:=1 to length(s)  do
  begin
//    result[i]:=char(byte(s[i]) xor (key shr 8));
    result[i]:=char(((byte(s[i])) xor (key shr 12))+39);
//    key:=(byte(result[i])+key)*c1+c2;
  end;
end;

function Tuser.decrypt(const s: string ):string;
var
  I: byte;
  key: word;
begin
  key:=65535;
  Result:=s;
  for i:=1 to length(s)  do
  begin
    result[i]:=char((byte(s[i])-39) xor (key shr 12));
//    key:=(byte(s[i])+key)*c1+c2;
  end;
end;
procedure Tuser.onsee(s: string);
var
  i: integer;
begin
{if s='0' then
  begin
  with treeview1 do
    begin
      for i:=0 to items.Count-1 do
        begin
          items.Item[i].ImageIndex:=0;
          items.Item[i].StateIndex:=0;
          items.Item[i].SelectedIndex:=0;
        end;
    end;
  end
else
  begin
    for i:=0 to length(s)-1 do
    begin
       with treeview1 do
       begin
         if strtoint(copy(s,i+1,1))=1 then
           begin
             items.Item[i].ImageIndex:=1;
             //showmessage(inttostr(i)) ;
             items.Item[i].StateIndex:=1;
             items.Item[i].SelectedIndex:=1;
           end
         else
           begin
             items.Item[i].ImageIndex:=0;
             items.Item[i].StateIndex:=0;
             items.Item[i].SelectedIndex:=0;
           end;
       end;
    end;
  end; }//目录树
if s='0' then
  begin
  with groupbox1 do
    begin
      for i:=0 to groupbox1.controlcount-1 do
        begin
          ((controls[i]) as Tcheckbox).checked:=false;
          controls[i].tag:=0;
        end;
    end;
  end
else
  begin
    for i:=0 to length(s)-1 do
    begin
       with groupbox1 do
       begin
         if strtoint(copy(s,i+1,1))=1 then
            ((controls[i]) as Tcheckbox).checked:=true
         else
            ((controls[i]) as Tcheckbox).checked:=false;
       end;
    end;
  end;
end;
function Tuser.onadd:string;
var
  i: integer;
  s: string;
begin
 { s:='';
  with treeview1 do
  begin
    for i:=0 to Items.Count-1 do
      s:=s+inttostr(Items.Item[i].selectedindex);
  end;
  result:=s; }//目录树
  s:='';
  with groupbox1 do
    with groupbox1 do
  begin
    for i:=0 to (controlcount-1) do
      s:=s+inttostr(controls[i].tag);
  end;
 Application.MessageBox(pchar(s),'消息',MB_ICONINFORMATION);
result:=encrypt(s);
end;

procedure Tuser.TreeView1Click(Sender: TObject);
begin
   { if (treeview1.selected.Expanded=false) and (treeview1.selected.haschildren=false) then
    begin
      if (treeview1.Selected.ImageIndex=1) then
        begin
          treeview1.Selected.ImageIndex:=0;
          treeview1.Selected.StateIndex:=0;
          treeview1.Selected.SelectedIndex:=0;
        end
      else
        begin
          treeview1.Selected.ImageIndex:=1;
          treeview1.Selected.StateIndex:=1;
          treeview1.Selected.SelectedIndex:=1;
        end;
    end;
  if (treeview1.selected.Expanded=false) and (treeview1.selected.haschildren=true) then
    begin
      if (treeview1.Selected.ImageIndex=1) then
        begin
          treeview1.Selected.ImageIndex:=0;
          treeview1.Selected.StateIndex:=0;
          treeview1.Selected.SelectedIndex:=0;
        end
      else
        begin
          treeview1.Selected.ImageIndex:=1;
          treeview1.Selected.StateIndex:=1;
          treeview1.Selected.SelectedIndex:=1;
        end;
    end;
  if (treeview1.selected.Expanded=true) and (treeview1.selected.haschildren=true) then
    begin
      if (treeview1.Selected.ImageIndex=1) then
        begin
          treeview1.Selected.ImageIndex:=0;
          treeview1.Selected.StateIndex:=0;
          treeview1.Selected.SelectedIndex:=0;
        end
      else
        begin
          treeview1.Selected.ImageIndex:=1;
          treeview1.Selected.StateIndex:=1;
          treeview1.Selected.SelectedIndex:=1;
        end;
    end;
   }
end;


procedure Tuser.DBGrid2CellClick(Column: TColumn);
var s:string;
ss:string;
begin
check_true(true);
s:=DM_user.T_user.fieldbyname('right').asstring;
s:=decrypt(s);
onsee(s);
//edit1.text:=DM_user.T_user.fieldbyname('username').asstring;
ss:=DM_user.T_user.fieldbyname('password').asstring;
//edit2.text:=ss;//decrypt(ss);
//edit3.text:=ss;//decrypt(ss);
check_true(false);
end;

procedure Tuser.BitBtn1Click(Sender: TObject);
var
  s: string;
begin
add_user:=tadd_user.Create(self);
add_user.Caption:='增加用戶資訊';
s:='0';
add_user.Label4.Caption:=s;
//onsee_add(s);
add_user.ShowModal;
add_user.free;
//edit1.text:='';
//Edit2.Text:='';
//Edit3.Text:='';
//s:='0';
//onsee(s);
//with DM_user.t_User do
//begin
 // append;
//end;
//edit1.setfocus;
//BitBtn1.Enabled:=false;
//BitBtn2.Enabled:=false;
end;

procedure Tuser.BitBtn2Click(Sender: TObject);
var s:string;
begin
if uppercase(DM_user.T_User.FieldByName('Username').asstring)=uppercase('Administrator') then
  begin
    Application.MessageBox('不能刪除管理員','消息',MB_ICONINFORMATION);
    exit;
  end
  else
  begin
  if Application.MessageBox('確實要刪除該操作員嗎?','消息', MB_ICONINFORMATION+MB_OKCANCEL) = IDOK then
  DM_user.T_User.delete;
  end;
{s:=DM_user.T_User.fieldbyname('right').asstring;
s:=decrypt(s);
s:=trim(s);
if length(s)=0 then
  s:='0';
onsee(s);
Edit1.Text:=DM_user.T_User.fieldbyname('Username').asstring;
}
end;

procedure Tuser.BitBtn6Click(Sender: TObject);
var s:string;
begin
BitBtn1.Enabled:=true;
BitBtn2.Enabled:=true;
DM_user.T_User.Close;
DM_user.T_User.Open;
s:=DM_user.T_User.fieldbyname('right').asstring;
s:=trim(s);
s:=decrypt(s);
if length(s)=0 then
  s:='0';
onsee(s);
//Edit1.Text:=DM_user.T_User.fieldbyname('Username').asstring;
//Edit2.Text:=DM_user.T_User.fieldbyname('password').asstring;
//Edit3.Text:=DM_user.T_User.fieldbyname('password').asstring;
end;
procedure Tuser.BitBtn5Click(Sender: TObject);
begin
{if trim(edit1.text)<>'' then
begin
//  if (trim(edit2.text)<>'')and(trim(edit3.text)<>'')and
    if (trim(edit2.text)=trim(edit3.text)) then
    begin
    if not checkbox1.Checked then
    begin
    CheckBox2.checked:=false;
    CheckBox3.checked:=false;
    CheckBox4.checked:=false;
    CheckBox5.checked:=false;
    end;
   if not checkbox6.Checked then
     begin
     CheckBox7.checked:=false;
     CheckBox9.checked:=false;
     CheckBox10.checked:=false;
     CheckBox8.checked:=false;
     end;
   if not checkbox19.Checked then
     begin
     CheckBox14.checked:=false;
     CheckBox16.checked:=false;
     CheckBox18.checked:=false;
     CheckBox12.checked:=false;
     CheckBox15.checked:=false;
     CheckBox17.checked:=false;
     CheckBox11.checked:=false;
     CheckBox13.checked:=false;
     end;
   if not checkbox20.Checked then
   begin
   checkbox21.Checked:=false;
   checkbox22.Checked:=false;
   checkbox23.Checked:=false;
   end;
    with DM_user do
    begin
     T_User.Edit;
     T_User.FieldByName('password').asstring:=edit2.text; //encrypt(edit2.Text);
     T_User.FieldByName('Username').asstring:=edit1.text;
     T_User.FieldByName('right').asstring:=onadd;
     //t_User.FieldByName('M_time').asdatetime:=now;
     t_User.Post;
     BitBtn1.Enabled:=true;
     BitBtn2.Enabled:=true;
     end ;
     end
      else//if2
    begin
      Application.MessageBox('口令爲空,或兩次輸入的口令不一致!','消息',MB_ICONINFORMATION);
    end;//if2
end
else
  begin
    Application.MessageBox('用戶名不能爲空!','消息',MB_ICONINFORMATION);
  end;

}
end;

procedure Tuser.BitBtn3Click(Sender: TObject);
begin
close;
end;

procedure Tuser.FormShow(Sender: TObject);
begin
//application.CreateForm(Tuser,user);
dm_user.T_user.close;
dm_user.t_user.open;
DBGrid2DblClick(self);
if (screen.Height<600)and (screen.width<800) then
begin
scaled:=true;
height:=363;//round(height*longint(screen.height)*96 / 600/screen.pixelsperinch);
width :=570;//round( width *longint(screen.width)*96 / 800/screen.pixelsperinch);
self.Top:=82;//mainform.Height-mainform.clientheight+mainform.ToolBar2.Height+round((mainform.ClientHeight-mainform.ToolBar2.Height-mainform.StatusBar.Height-self.Height)/2);
self.Left:=33;//round((mainform.Width-self.Width)/2);
//ScaleControls(screen.width, 800);
//ScaleControls(96,screen.pixelsperinch);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -