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

📄 operinfounit.pas

📁 好用得程序
💻 PAS
字号:
unit OperInfoUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, ComCtrls, Grids, DBGrids, ToolWin, ExtCtrls;

type
  TOperInfoForm = class(TForm)
    PanelBkGnd: TPanel;
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    TB_add: TToolButton;
    TB_EDIT: TToolButton;
    TB_DEL: TToolButton;
    ToolButton5: TToolButton;
    TB_refresh: TToolButton;
    TB_EXIT: TToolButton;
    DBG_BASSMESS: TDBGrid;
    StatusBar: TStatusBar;
    DataSource: TDataSource;
    Query_data: TQuery;
    Query_del: TQuery;
    procedure TB_addClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TB_EDITClick(Sender: TObject);
    procedure TB_DELClick(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure TB_EXITClick(Sender: TObject);
    procedure TB_refreshClick(Sender: TObject);
  private
    B_create: boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  OperInfoForm: TOperInfoForm;

implementation

uses EditUserUnit, FunctionUnit, MainUnit;

{$R *.dfm}

procedure TOperInfoForm.TB_addClick(Sender: TObject);
begin
  if Checkrights(USERRIGHTS, '增加') then
  begin
    Application.CreateForm(TEditUserForm, EditUserForm);
    EditUserForm.Caption := '操作员信息(增加)';
    EditUserForm.P_state := 0;
    EditUserForm.C_rights.ItemIndex := 1;
    EditUserForm.showmodal;
    EditUserForm.free;
    tb_refresh.Click;
    query_data.Last;
  end
  else
  begin
    messagedlg(Errormsg0006 + '0007', mterror, [mbok], 0);
    exit;
  end;
end;

procedure TOperInfoForm.FormCreate(Sender: TObject);
begin
  B_create := false;
  query_data.DatabaseName := 'CPXSGL';
  query_del.DatabaseName := 'CPXSGL';
  self.Caption := Application.Title + ' - 操作员信息设置';
  with query_data do
  begin
    close;
    sql.Clear;
    sql.Text := 'SELECT * from Sysuser';
    try
      open;
      B_create := true;
    except
      messagedlg(Errormsg0001 + '0001', mtError, [mbok], 0);
      close;
      B_create := false;
    end;
  end;
end;

procedure TOperInfoForm.TB_EDITClick(Sender: TObject);
begin
  if (Checkrights(USERRIGHTS, '编辑')) and
    ((query_data.fieldbyname('name').asstring = USERNAME) or (USERRIGHTSNAME = '管理员')) then
  begin
    Application.CreateForm(TEditUserForm, EditUserForm);
    EditUserForm.P_state := 1;
    EditUserForm.Caption := '操作员信息(编辑)';
    with query_data do
    begin
      EditUserForm.E_name.Text := fieldbyname('name').asstring;
      EditUserForm.E_id.Text := fieldbyname('id').asstring;
      EditUserForm.E_sex.Text := fieldbyname('sex').asstring;
      EditUserForm.E_password.Text := fieldbyname('pass').asstring;
      if fieldbyname('rights').asstring = '管理员' then
        EditUserForm.C_rights.ItemIndex := 0
      else if fieldbyname('rights').asstring = '一级' then
        EditUserForm.C_rights.ItemIndex := 1
      else if fieldbyname('rights').asstring = '二级' then
        EditUserForm.C_rights.ItemIndex := 2
      else if fieldbyname('rights').asstring = '三级' then
        EditUserForm.C_rights.ItemIndex := 3
      else if fieldbyname('rights').asstring = '四级' then
        EditUserForm.C_rights.ItemIndex := 4
      else
        EditUserForm.C_rights.ItemIndex := 5;

      EditUserForm.E_memo.Text := fieldbyname('memo').asstring;
    end;
    EditUserForm.showmodal;
    EditUserForm.free;
    tb_refresh.Click;
  end
  else
  begin
    messagedlg(Errormsg0006 + '0007', mterror, [mbok], 0);
    exit;
  end;
end;

procedure TOperInfoForm.TB_DELClick(Sender: TObject);
begin
  if not Checkrights(USERRIGHTS, '删除') then
  begin
    messagedlg(Errormsg0006 + '0007', mterror, [mbok], 0);
    exit;
  end;
  if messagedlg('警告:删除操作员信息数据可能产生严重数据丢失现象,请不要在此删除操作员信息数据' + chr(13) + chr(13)
    + '删除数据操作将不可恢复,确定要删除本记录吗?', mtWarning, [mbyes, mbno], 0) = mryes then
    if messagedlg('再次警告:为了保证数据库内数据信息的完整性,请不要在此删除操作员信息数据' + chr(13) + chr(13)
      + '删除数据操作将不可恢复,确定要删除本记录吗?', mtWarning, [mbyes, mbno], 0) = mryes then
    begin
      if query_data.FieldByName('rights').AsString = '管理员' then
      begin
        messagedlg(Errormsg0007 + '0005', mtError, [mbok], 0);
        exit;
      end;
      with query_del do
      begin
        close;
        sql.Clear;
        sql.Text := 'delete from Sysuser where id=''' + query_data.fieldbyname('ID').asstring + '''';
        try
          execsql;
        except
          messagedlg(Errormsg0005 + '0005', mtError, [mbok], 0);
          close;
          exit;
        end;
        messagedlg(Infmsg0002, mtInformation, [mbok], 0);
        close;
        tb_refresh.Click;
      end;
    end;

end;

procedure TOperInfoForm.FormPaint(Sender: TObject);
begin
  if not B_create then
    self.Close;
end;

procedure TOperInfoForm.TB_EXITClick(Sender: TObject);
begin
  Self.Close;
end;

procedure TOperInfoForm.TB_refreshClick(Sender: TObject);
begin
  OperInfoForm.Query_data.Close;
  OperInfoForm.Query_data.Open;
end;

end.

⌨️ 快捷键说明

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