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

📄 userandpassword.~pas

📁 彩票销售系统
💻 ~PAS
字号:
unit UserAndPassWord;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, Db, DBTables, StdCtrls, ImgList, ExtCtrls, Buttons, Variants,
  ADODB;

type
  TUserAndPassWordFrm = class(TForm)
    ListView1: TListView;
    ImageList1: TImageList;
    Image2: TImage;
    Label1: TLabel;
    Label2: TLabel;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    GroupBox1: TGroupBox;
    Image1: TImage;
    BitBtn1: TBitBtn;
    Label3: TLabel;
    Label5: TLabel;
    ManagerTable: TADOTable;
    procedure FormCreate(Sender: TObject);
    procedure ListView1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ListView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ListView1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
    OldItem: TListItem;
    procedure ManagerInsertListView1;
  end;

var
  UserAndPassWordFrm: TUserAndPassWordFrm;
  gpLoginName: ShortString;
  gpPassLevel: integer;

procedure SetUserAndPassword(const LoginName: ShortString; const PassLevel: integer); export;

implementation

uses ChangePassWord, ChangeCharacter, UserGuide,NumberManger;

{$R *.DFM}


//**********************************************************************
procedure SetUserAndPassword(const LoginName: ShortString; const PassLevel: integer);
begin
  gpLoginName := LoginName;
  gpPassLevel := PassLevel;
  UserAndPassWordFrm := TUserAndPassWordFrm.Create(Application);        //-- Create the Aboutbox
  try
    UserAndPassWordFrm.ShowModal;                           //-- Try and make the Aboutbox modal
  finally                                       //-- Finally, or "make sure"
    UserAndPassWordFrm.Free;                               //-- Unload the instance of our Aboutbox
  end;
end;
//**********************************************************************

//**********************************************************************
//显示库中所有用户
procedure TUserAndPassWordFrm.ManagerInsertListView1;
var
  ListItem: TListItem;
begin
  ListView1.Items.Clear;
  try
    if not ManagerTable.Active then ManagerTable.Open;
    ManagerTable.First;
    while not ManagerTable.Eof do
    begin
      with ListView1 do
      begin
        { Process each record here }
        ListItem := Items.Add;
        ListItem.Caption:=ManagerTable.FieldByName('FUserName').AsString;
        ListItem.SubItems.Add(ManagerTable.FieldByName('FUserPower').AsString);
      end;
      ManagerTable.Next;
    end;
  finally
    ManagerTable.Close;
  end;

end;
//**********************************************************************

//**********************************************************************
procedure TUserAndPassWordFrm.FormCreate(Sender: TObject);
begin
  ManagerInsertListView1;

end;
//**********************************************************************

//**********************************************************************
procedure TUserAndPassWordFrm.ListView1Click(Sender: TObject);
begin
  if Assigned(ListView1.Selected) then
  begin
    GroupBox1.Caption := '【'+ListView1.Selected.Caption + '】' + ListView1.Selected.SubItems.Strings[0] + '的密码';
    Label3.Caption := '要更改'+ListView1.Selected.Caption + ListView1.Selected.SubItems.Strings[0]+'的密码,';
    OldItem := ListView1.Selected;
  end
  else
    ListView1.Selected := OldItem;
end;

procedure TUserAndPassWordFrm.FormActivate(Sender: TObject);
begin
  ListView1.SetFocus;
  if ListView1.Items.Count > 0 then
  begin
    ListView1.Selected := ListView1.Items[0];
    OldItem := ListView1.Items[0];
    GroupBox1.Caption := '【'+ListView1.Items[0].Caption + '】' + ListView1.Items[0].SubItems.Strings[0] + '的密码';
    Label3.Caption := '要更改'+GroupBox1.Caption;
    BitBtn1.Enabled := True;
  end else
  begin
    GroupBox1.Caption := '';
    Label3.Caption := '';
    OldItem := nil;    
    BitBtn1.Enabled := False;
  end;

end;

procedure TUserAndPassWordFrm.ListView1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if not Assigned(ListView1.Selected) then
    ListView1.Selected := OldItem;
end;

procedure TUserAndPassWordFrm.BitBtn1Click(Sender: TObject);
begin
  ChangePassWordFrm := TChangePassWordFrm.Create(Self);
  try
    ChangePassWordFrm.ShowModal;
  finally
    ChangePassWordFrm.Free;
  end;  
end;

procedure TUserAndPassWordFrm.BitBtn3Click(Sender: TObject);
begin
  //UserGuide.UserGuideFrm.Button3Click(Sender);
  UserGuideFrm := TUserGuideFrm.Create(self);
  {try
    UserGuideFrm.ShowModal;
  finally
    UserGuideFrm.Free;
  end; }
end;

procedure TUserAndPassWordFrm.BitBtn4Click(Sender: TObject);
var
  MyListItem: TListItem;
  Str1, Str2, TmpStr: string;
begin

  if gpPassLevel = 1 then
     TmpStr := '超级用户'
  else if gpPassLevel = 2 then
     TmpStr := '高级用户'
  else if gpPassLevel = 3 then
     TmpStr := '普通用户';

  if ListView1.SelCount < 1 then
    MessageDlg('请选择要删除的用户!', mtError, [mbOK], 0)
  else
  begin
    MyListItem := ListView1.Selected;
    Str1 := MyListItem.Caption;
    Str2 := MyListItem.SubItems.Strings[0];

    with ManagerTable do begin
      if not Active then Open;
      try
        if not Locate('FUserName;FUserPower', VarArrayOf([Str1,Str2]), []) then
           MessageDlg('该用户不存在!', mtError, [mbOK], 0)
        else begin
          if Str1 = 'Administrator' then begin
             MessageDlg('【Administrator】是系统默认用户,不允许删除,但可以更改密码!', mtError, [mbOK], 0);
             Exit;
          end;

          if (Str1 = gpLoginName) and (Str2 = TmpStr) then begin
             MessageDlg('不允许删除登录用户,但可以更改密码!', mtError, [mbOK], 0);
             Exit;
          end;

          if (MessageDlg('确实要删除【' + Str1 + '】' + Str2 + '吗?', mtConfirmation, [mbOK,mbCancel], 0) = mrCancel) then
            Exit
          else
            Delete;
        end;
      finally
        Close;
      end;  
    end;
  end;

  ManagerInsertListView1;
  ListView1.Refresh;
  if ListView1.Items.Count = 0 then
  begin
    GroupBox1.Caption := '';
    Label3.Caption := '';
    BitBtn1.Enabled := False;
  end else
  begin
    GroupBox1.Caption := '【'+ListView1.Items[0].Caption +'】的密码';
    Label3.Caption := '要更改【'+ListView1.Items[0].Caption+'】的密码,';
    ListView1.SetFocus;
    ListView1.Selected := ListView1.Items[0];
    OldItem := ListView1.Items[0];
    BitBtn1.Enabled := True;
  end;

end;

procedure TUserAndPassWordFrm.BitBtn5Click(Sender: TObject);
begin
  if ListView1.Selected.Caption = 'Administrator' then
  begin
    MessageDlg('该用户是系统默认用户,不允更改属性,但可以更改密码!', mtError, [mbOK], 0);
    Exit;
  end;
  ChangeCharacterFrm := TChangeCharacterFrm.Create(Self);
  try
    ChangeCharacterFrm.ShowModal;
  finally
    ChangeCharacterFrm.Free;
  end;  

end;

procedure TUserAndPassWordFrm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  if ManagerTable.Active = True then
     ManagerTable.Close;
end;

procedure TUserAndPassWordFrm.ListView1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if Key = VK_DELETE then BitBtn4.Click;
end;

procedure TUserAndPassWordFrm.ListView1SelectItem(Sender: TObject;
  Item: TListItem; Selected: Boolean);
begin
  if Assigned(ListView1.Selected) then
  begin
    GroupBox1.Caption := '【' + Item.Caption + '】' + Item.SubItems.Strings[0] + '的密码';
    Label3.Caption := '要更改' + GroupBox1.Caption;
    OldItem := Item;
  end;

end;

end.

⌨️ 快捷键说明

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