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

📄 unitsysman.pas

📁 评估系统
💻 PAS
字号:
unit unitSysMan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Mask, ExtCtrls, DB, ADODB, jpeg;

type
  TfrmPerMan = class(TForm)
    dbLL: TDBLookupListBox;
    edtName: TLabeledEdit;
    edtPass: TLabeledEdit;
    edtWeight: TLabeledEdit;
    cbAdmin: TCheckBox;
    btnAdd: TButton;
    btnModi: TButton;
    btnDel: TButton;
    btnCancel: TButton;
    btnOK: TButton;
    Bevel1: TBevel;
    Label1: TLabel;
    Image1: TImage;
    Bevel2: TBevel;
    procedure FormShow(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure dbLLClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnDelClick(Sender: TObject);
    procedure btnModiClick(Sender: TObject);
    procedure btnOKClick(Sender: TObject);
    procedure edtNameKeyPress(Sender: TObject; var Key: Char);
    procedure cbAdminMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    Modi: Boolean;
    tabPass: TADOTable;
    tempDS: TDataSource;
    procedure EnableControl;
  public
    { Public declarations }
  end;

var
  frmPerMan: TfrmPerMan;

function frmCreate(index:integer):integer;

implementation

uses unitDM;

{$R *.dfm}

function frmCreate(index:integer):integer;
var
  temp: TfrmPerMan;
begin
  temp:=TfrmPerMan.Create(Application);
  try
    frmCreate:=temp.ShowModal;
  finally
    temp.Free ;
  end;
end;

procedure TfrmPerMan.EnableControl;
begin
  btnDel.Enabled := (tabPass.RecordCount <> 0) ;
  btnModi.Enabled := Modi and btnDel.Enabled;
end;

procedure TfrmPerMan.FormShow(Sender: TObject);
begin
  dbLLClick(sender);
end;

procedure TfrmPerMan.btnAddClick(Sender: TObject);
begin
  tabPass.Append;
  btnModiClick(sender);
  Modi:=false;
  EnableControl;
end;

procedure TfrmPerMan.dbLLClick(Sender: TObject);
begin
  with tabPass do
  begin
    edtName.Text := FieldByName('user').AsString;
    edtPass.Text := FieldByName('passwd').AsString;
    edtWeight.Text := FieldByName('userweight').AsString;
    cbAdmin.Checked := FieldByName('isAdmin').AsBoolean;
  end;
end;

procedure TfrmPerMan.FormCreate(Sender: TObject);
begin
  Modi:=false;
  tabPass:=TADOTable.Create(Application);
  tabPass.Connection := DM.AC;
  tabPass.TableName := 'SysPassword';
  tempDS:= TDataSource.Create(Application);
  tempDS.DataSet := tabPass;
  if tabPass.Active = false then
    tabPass.Active := true;
  dbLL.ListSource:=tempDS;
  dbLL.ListField := 'user';
  dbLL.KeyField := 'ID';
  EnableControl;
end;

procedure TfrmPerMan.btnDelClick(Sender: TObject);
var
  s:string;
begin
   if not tabPass.Fields.FieldByName('candel').AsBoolean  then
   begin
     s:= '确实要删除"'+edtName.text+'"吗?';
     if  MessageBox(handle,pchar(s),'提示',mb_IconInformation+mb_YesNo)=id_yes then
     begin
       tabPass.Delete;
       dbLLClick(sender);
     end;
   end
   else
     MessageBox(handle,'不能删除系统管理员!','提示',mb_IconInformation+mb_OK);
  EnableControl;
end;

procedure TfrmPerMan.btnModiClick(Sender: TObject);
begin
  with tabPass do
  begin
    Edit;
    FieldByName('user').AsString := edtName.Text;
    FieldByName('passwd').AsString:=edtPass.Text;
    FieldByName('userweight').AsFloat :=strtofloatdef(edtWeight.Text ,0);
    FieldByName('isAdmin').AsBoolean:=cbAdmin.Checked;
    Post;
  end;
  EnableControl;
end;

procedure TfrmPerMan.btnOKClick(Sender: TObject);
begin
  if btnModi.Enabled then
    btnModiClick(Sender);
end;

procedure TfrmPerMan.edtNameKeyPress(Sender: TObject; var Key: Char);
begin
  Modi:= true;
  EnableControl;
end;

procedure TfrmPerMan.cbAdminMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Modi:= true;
  EnableControl;
end;

procedure TfrmPerMan.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  tempDS.Free; 
  tabPass.Free ;
end;

end.

⌨️ 快捷键说明

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