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

📄 sysoperatorinputfrm.pas

📁 这是一个本人初定的小制作
💻 PAS
字号:
unit SysOperatorInputFrm;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  Buttons, ExtCtrls, ComCtrls, ToolWin, MainDM, DBCtrls, Mask, CommonFunc,
  Grids, DBGrids, Messages;

type
  TSysOperatorInputDlg = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label6: TLabel;
    ToolBar1: TToolBar;
    TBAdd: TToolButton;
    TBEdit: TToolButton;
    TBDelete: TToolButton;
    TBOK: TToolButton;
    TBCancel: TToolButton;
    TBExit: TToolButton;
    DBEdtUserName: TDBEdit;
    DBEdtUserRealName: TDBEdit;
    DBEdtPassword: TDBEdit;
    EdtPasswordAgain: TEdit;
    DBCBSex: TDBComboBox;
    DBMRemark: TDBMemo;
    DBGrid1: TDBGrid;
    DBCBPermission: TDBComboBox;
    procedure TBExitClick(Sender: TObject);
    procedure TBOKClick(Sender: TObject);
    procedure TBAddClick(Sender: TObject);
    procedure TBEditClick(Sender: TObject);
    procedure TBDeleteClick(Sender: TObject);
    procedure TBCancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    FMode: string;
    procedure MakeMode(AValue: string);
  public
    { Public declarations }
  end;

var
  SysOperatorInputDlg: TSysOperatorInputDlg;

implementation

{$R *.dfm}
{ TODO : 需要增加检查编号是否重复 }
procedure TSysOperatorInputDlg.MakeMode(AValue: string);
begin
  FMode := AValue;
  if AValue = 'add' then
  begin
    DBEdtUserName.Enabled := true;
    TBEdit.Enabled := false;
    TBDelete.Enabled := false;
    TBOK.Enabled := true;
    TBCancel.Enabled := true;
    TBAdd.Enabled := false;
  end
  else if AValue = 'edit' then
  begin
    TBAdd.Enabled := false;
    TBDelete.Enabled := false;
    TBOK.Enabled := true;
    TBCancel.Enabled := true;
    TBAdd.Enabled := false;
    DBEdtUserName.Enabled := false;
  end
  else if AValue = 'ok' then
  begin
    DBEdtUserName.Enabled := true;
    TBAdd.Enabled := true;
    TBDelete.Enabled := true;
    TBEdit.Enabled := true;
    TBOK.Enabled := false;
    TBCancel.Enabled := false;
    TBAdd.Enabled := true;
  end
  else
  begin
    DBEdtUserName.Enabled := true;
    LCShowMessage('无法识别的状态!');
  end;
end;
procedure TSysOperatorInputDlg.TBExitClick(Sender: TObject);
begin
  Close;
end;

procedure TSysOperatorInputDlg.TBOKClick(Sender: TObject);
begin
  CheckInput(DBEdtUserName);
  CheckInput(DBEdtUserRealName);
    if (FMode = 'add') then
  begin
    DMMain.ADOQueryMain.Close;
    DMMain.ADOQueryMain.SQL.Clear;
    DMMain.ADOQueryMain.SQL.Add('select UserName from T_SysOperator ');
    DMMain.ADOQueryMain.SQL.Add('where UserName=:UserName');
    DMMain.ADOQueryMain.Parameters.ParamByName('UserName').Value := DBEdtUserName.Text;
    DMMain.ADOQueryMain.Open;
    if DMMain.ADOQueryMain.RecordCount > 0 then
    begin
      LCShowMessage('编号已经存在!');
      DMMain.ADOTOperator.Cancel;
      if FMode = 'add' then
        MakeMode('add')
      else if FMode = 'edit' then
        MakeMode('edit');
      DBEdtUserName.SetFocus;
      Exit;
    end;
  end;

  MakeMode('ok');
  DMMain.ADOTOperator.Post;
end;

procedure TSysOperatorInputDlg.TBAddClick(Sender: TObject);
begin
  MakeMode('add');
  DMMain.ADOTOperator.Append;
end;

procedure TSysOperatorInputDlg.TBEditClick(Sender: TObject);
begin
  MakeMode('edit');
  DMMain.ADOTOperator.Edit;
end;

procedure TSysOperatorInputDlg.TBDeleteClick(Sender: TObject);
begin
  if LCConfirmEx('sysoperatordel', '您真的想删除此条记录吗?') = mrYes then
  begin
    MakeMode('ok');
    DMMain.ADOTOperator.Delete;
  end;
end;

procedure TSysOperatorInputDlg.TBCancelClick(Sender: TObject);
begin
  MakeMode('ok');
  DMMain.ADOTOperator.Cancel;
end;

procedure TSysOperatorInputDlg.FormShow(Sender: TObject);
var
  s: string;
begin
  DMMain.ADOTPermission.Open;
  DMMain.ADOTPermission.First;
  while not DMMain.ADOTPermission.Eof do
  begin
    s := DMMain.ADOTPermission.FieldByName('Name').AsString;
    DBCBPermission.Items.Add(s);
    DMMain.ADOTPermission.Next;
  end;
  DMMain.ADOTOperator.Open;
end;

procedure TSysOperatorInputDlg.DBGrid1KeyPress(Sender: TObject;
  var Key: Char);
begin
  Key := #0;
end;

procedure TSysOperatorInputDlg.FormKeyPress(Sender: TObject;
  var Key: Char);
begin
  if Key = #13 then
    Perform(WM_NEXTDLGCTL, 0, 0);
end;

procedure TSysOperatorInputDlg.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action := caFree;
end;

end.

⌨️ 快捷键说明

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