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

📄 usersetup.pas

📁 提供产品的售后管理,客户资料管理,维修服务管理等功能
💻 PAS
字号:
unit UserSetup;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, TFlatPanelUnit, TFlatButtonUnit, TFlatTitlebarUnit,
  TFlatListBoxUnit, TFlatGroupBoxUnit, StdCtrls, TFlatComboBoxUnit,
  TFlatEditUnit, TFlatRadioButtonUnit, TFlatCheckBoxUnit, DB, ADODB;

type
  TFrmUserSetup = class(TForm)
    UserSetupTitle: TFlatTitlebar;
    BtnExit: TFlatButton;
    Panel1: TFlatPanel;
    GB1: TFlatGroupBox;
    LtbUser: TFlatListBox;
    EditUser: TFlatEdit;
    CmbQX: TFlatComboBox;
    BtnSave: TFlatButton;
    BtnCancel: TFlatButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    EditPwd: TFlatEdit;
    Panel2: TFlatPanel;
    RBAdd: TFlatRadioButton;
    RBModify: TFlatRadioButton;
    BtnDel: TFlatButton;
    GB2: TFlatGroupBox;
    Panel3: TFlatPanel;
    Chk1: TFlatCheckBox;
    CHK2: TFlatCheckBox;
    CHK3: TFlatCheckBox;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    BtnExit1: TFlatButton;
    procedure BtnExitClick(Sender: TObject);
    procedure CmbQXChange(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure LtbUserClick(Sender: TObject);
    procedure RBModifyClick(Sender: TObject);
    procedure RBAddClick(Sender: TObject);
    procedure BtnCancelClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnDelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    Procedure DBConnection;
    Procedure ReadUserName;
    Procedure ReadUserData; 
  public
    { Public declarations }
  end;

var
  FrmUserSetup: TFrmUserSetup;

implementation

{$R *.dfm}

procedure TFrmUserSetup.BtnExitClick(Sender: TObject);
begin
close;
end;

procedure TFrmUserSetup.CmbQXChange(Sender: TObject);
begin
 if cmbQX.ItemIndex =1 then
   begin
     chk1.Checked :=True;
     Chk2.Checked :=True;
     Chk3.Checked :=True;
   end  else
     begin
       Chk1.Checked :=False;
       Chk2.Checked :=False;
       Chk3.Checked :=False;
     end;
end;

procedure TFrmUserSetup.DBConnection;
var
  DataPath:string;
begin
  if ADOConnection1.Connected then ADOConnection1.Close;
  //防止被重复打开而导到数据连接错误

  DataPath:=ExtractFilePath(Application.ExeName)+'Data\mgr.db';
  {登录加密的数据库}

  ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataPath+';

  ADOConnection1.Open();
end;

procedure TFrmUserSetup.ReadUserName;
begin
DBConnection;
ADOQuery1.SQL.Clear ;
ADOQuery1.Close;
ADOQuery1.SQL.Text :='select * from Login';
ADOQuery1.Open ;
ADOQuery1.First ;
LtbUser.Items.Clear;
while not ADOQuery1.Eof do
  begin
    LtbUser.Items.Add(ADOQuery1.FieldValues['user']);
    ADOQuery1.Next ;
  end;
ADOQuery1.Close;
end;

procedure TFrmUserSetup.FormActivate(Sender: TObject);
begin
ReadUserName;
end;

procedure TFrmUserSetup.FormCreate(Sender: TObject);
begin
  EditUser.Clear;  EditPwd.Clear ;
end;

procedure TFrmUserSetup.LtbUserClick(Sender: TObject);
begin
if (ltbuser.ItemIndex <>-1) and (ltbuser.ItemIndex <ltbuser.Items.Count) then
    begin
      ReadUserData;
      btndel.Enabled :=true;
      CmbQx.OnChange(self);
    end;
end;

procedure TFrmUserSetup.ReadUserData;
var userTemp:string;
begin
  DBConnection;
  ADOQuery1.SQL.Clear ;
  ADOQuery1.Close;
  userTemp:=LtBuser.Items[LtBuser.ItemIndex];
  EditUser.Text :=UserTemp;
  ADOQuery1.SQL.Text :='select * from login where user='+'"'+userTemp+'"';
  ADOQuery1.Open ;
//  ADOQuery1.Locate('user',usertemp,[]);
  EditPwd.Text :=ADOQuery1.FieldValues['pwd'];
  if ADOQuery1.FieldValues ['level']=0 then
    begin
      CmbQX.ItemIndex :=cmbQX.Items.IndexOf('超级用户')
    end else
      CmbQX.ItemIndex :=cmbqx.Items.IndexOf('普通用户');
  ADOQuery1.Close;
end;

procedure TFrmUserSetup.RBModifyClick(Sender: TObject);
begin
  if RBModify.Checked then
    begin
      edituser.Enabled :=TRue;
      EditPwd.Enabled :=TRue;
      Cmbqx.Enabled :=True;
      BtnSave.Enabled :=True;
      ReadUserData;
      BtnCancel.Enabled :=True;
    end;
end;

procedure TFrmUserSetup.RBAddClick(Sender: TObject);
begin
  if RBAdd.Checked then
    begin
      edituser.Enabled :=TRue;
      EditPwd.Enabled :=TRue;
      Edituser.Clear;  Editpwd.Clear ;
      Cmbqx.Enabled :=True;
      BtnSave.Enabled :=True;
      BtnCancel.Enabled :=True;
    end;
end;

procedure TFrmUserSetup.BtnCancelClick(Sender: TObject);
begin
  EditUser.Enabled :=False;
  EditPwd.Enabled :=False;
  CmbQX.Enabled :=False;
  rbModify.Checked :=False;
  rbAdd.Checked :=False;
  BtnSave.Enabled :=False;
  BtnCancel.Enabled :=False;
end;

procedure TFrmUserSetup.BtnSaveClick(Sender: TObject);
var usertemp:string;
begin
  DBConnection;
  ADOQuery1.SQL.Clear ;
  ADOQuery1.Close;
  userTemp:=LtBuser.Items[LtBuser.ItemIndex];
  ADOQuery1.SQL.Text :='select * from login where user='+'"'+userTemp+'"';
  ADOQuery1.Open ;
  if rbAdd.Checked then ADOQuery1.Append else ADOQuery1.Edit;
  ADOQuery1.FieldByName('user').AsString :=EditUser.Text ;
  ADOQuery1.FieldByName('Pwd').AsString :=EditPwd.Text ;
  if CmbQX.ItemIndex =0 then
    ADOQuery1.FieldByName('level').AsInteger :=1
    else
      ADOQuery1.FieldByName('level').AsInteger :=0;
  ADOQuery1.Post;
  ReadUserName;
  ADOQuery1.Close;
  BtnCancel.Click;  
end;

procedure TFrmUserSetup.BtnDelClick(Sender: TObject);
var usertemp:string;
begin
  DBConnection;
  ADOQuery1.SQL.Clear ;
  ADOQuery1.Close;
  userTemp:=LtBuser.Items[LtBuser.ItemIndex];
  ADOQuery1.SQL.Text :='delete from login where user='+'"'+userTemp+'"';
  ADOQuery1.ExecSQL ;
  ReadUserName;
  ADOQuery1.Close;
  BtnCancel.Click;

end;

procedure TFrmUserSetup.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  ADOQuery1.Close;
  ADOConnection1.Close;
end;

end.

⌨️ 快捷键说明

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