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

📄 wnaddpostuser.pas

📁 个人写的一个操作员管理部分
💻 PAS
字号:
unit WnAddPostUser;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Db, Grids, DBGrids,Bde,DbCtrls,DbTables, Buttons;

type
  TFmAddPostuser = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    lbPostName: TLabel;
    dbgUser: TDBGrid;
    dsAvailUsers: TDataSource;
    btnAdd: TBitBtn;
    btnClose: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure dsAvailUsersDataChange(Sender: TObject; Field: TField);
    procedure btnCloseClick(Sender: TObject);
    procedure dbgUserKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    programid : Integer;
    PostNo : String;
    procedure Init;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FmAddPostuser: TFmAddPostuser;

implementation
  uses UnDlgShell,DnUserManager,WnUserManager;
{$R *.DFM}

{ TFmAddPostuser }

procedure TFmAddPostuser.Init;
begin
  with dmUserManager.qryAvailUsers,FmUserManager do
  begin
    programid := StrToInt(slProgramId.Strings[combPrograms.ItemIndex]);
    PostNo := dmUserManager.qryPosts.FieldByName('postno').AsString;
    lbPostName.Caption := dmUserManager.qryPosts.FieldByName('postname').AsString;
    if dmUserManager.qryAvailUsers.Active then
      dmUserManager.qryAvailUsers.Close;
    ParamByName('programid').AsInteger := programid;
    Open;
    btnAdd.Enabled := not IsEmpty;
  end;
end;

procedure TFmAddPostuser.FormShow(Sender: TObject);
begin
  Init;
end;

procedure TFmAddPostuser.btnAddClick(Sender: TObject);
begin
  try
    with dmUserManager.insUserPosts do
    begin
      Open;
      Insert;
      FieldByName('programid').AsInteger :=  programid;
      FieldByName('userno').AsString :=  dmUserManager.qryAvailUsers.FieldByName('userno').AsString;
      FieldByName('postno').AsString := PostNo;
      Post;
      Close;
    end;
  except
    on E:EDbEngineError do
       begin
         ShowError(E.Message);
         Exit;
       end;
  end;
  //重新选择操作员
  with dmUserManager.qryAvailUsers do
  begin
    Close;
    Open;
    btnAdd.Enabled := not IsEmpty;
  end;
  //

end;

procedure TFmAddPostuser.dsAvailUsersDataChange(Sender: TObject;
  Field: TField);
begin
  if dsAvailUsers.DataSet.IsEmpty then
    Exit;
  btnAdd.Enabled := True;
end;

procedure TFmAddPostuser.btnCloseClick(Sender: TObject);
begin
  dmUserManager.qryAvailUsers.Close;
  Close;
end;

procedure TFmAddPostuser.dbgUserKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    if btnAdd.Enabled then
      btnAdd.Click;
end;

procedure TFmAddPostuser.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #27 then
    btnClose.Click;
end;

end.

⌨️ 快捷键说明

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