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

📄 unemployee.pas

📁 设备巡检操作系统 本程序是专门为某电厂开发的设备巡检系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit UnEmployee;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, ExtCtrls, ComCtrls, ToolWin, ADODB,
  Buttons,strutils, ImgList;

type
  TEmployee_Frm = class(TForm)
    Panel1: TPanel;
    Label2: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    Edit2: TEdit;
    Label1: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Edit3: TEdit;
    Label6: TLabel;
    Edit4: TEdit;
    Cbx_Dept: TComboBox;
    Panel2: TPanel;
    DS: TDataSource;
    DBGrid1: TDBGrid;
    Cbx_Purview: TComboBox;
    AdoRY: TADOQuery;
    SpeedButton1: TSpeedButton;
    ImageList1: TImageList;
    Panel3: TPanel;
    ToolBar1: TToolBar;
    Tbnadd: TToolButton;
    Tbnedt: TToolButton;
    Tbnview: TToolButton;
    Tbndel: TToolButton;
    Tbncel: TToolButton;
    Tbnsv: TToolButton;
    TbnFirst: TToolButton;
    TbnPrior: TToolButton;
    TbnNext: TToolButton;
    TbnLast: TToolButton;
    ToolButton15: TToolButton;
    ToolButton1: TToolButton;
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TbnaddClick(Sender: TObject);
    procedure TbnsvClick(Sender: TObject);
    procedure TbnedtClick(Sender: TObject);
    procedure TbndelClick(Sender: TObject);
    procedure TbnFirstClick(Sender: TObject);
    procedure TbnPriorClick(Sender: TObject);
    procedure TbnNextClick(Sender: TObject);
    procedure TbnLastClick(Sender: TObject);
    procedure ToolButton15Click(Sender: TObject);
    procedure TbncelClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
    procedure AdoRYNewRecord(DataSet: TDataSet);
    procedure AdoRYFilterRecord(DataSet: TDataSet; var Accept: Boolean);
    procedure AdoRYRecordChangeComplete(DataSet: TCustomADODataSet;
      const Reason: TEventReason; const RecordCount: Integer;
      const Error: Error; var EventStatus: TEventStatus);
    procedure AdoRYRecordsetChangeComplete(DataSet: TCustomADODataSet;
      const Reason: TEventReason; const Error: Error;
      var EventStatus: TEventStatus);
    procedure AdoRYWillMove(DataSet: TCustomADODataSet;
      const Reason: TEventReason; var EventStatus: TEventStatus);
    procedure TbnviewClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure Cbx_PurviewClick(Sender: TObject);
  private
    { Private declarations }

    Function ControlEdit():boolean;
    Function DelUser():boolean;
  public
    { Public declarations }
    procedure listrec(adotmp:TADOQuery);
  end;

var
  Employee_Frm: TEmployee_Frm;

implementation

uses Undm, UnFuntion, UnEmployeeFind, UnDept, Math;

{$R *.dfm}

procedure TEmployee_Frm.FormShow(Sender: TObject);
begin
  with adory do
  begin
    close;
    sql.Clear;
    sql.Text:='select * from abc where 人员编号<>''0001'' order by 人员编号';
    Prepared:=True;
    Open;
  end; 
  
  with  dm.AQ1 do
  begin
    Close;
    SQL.Text:='Select * from T_Employee where no<>''0001'' order by No';
    Prepared:=True;
    Open;
  end;

  Tbncel.Click;
  listrec(dm.AQ1);
end;





procedure TEmployee_Frm.FormCreate(Sender: TObject);
var
  ado_tmp:TADOQuery;
begin
  TOP:=5; LEFT:=5; width:=886;Height:= 606;
 with  ado_tmp  do
 begin
  ado_tmp:=TADOQuery.Create(self);
  try
    SQL.Clear;
    Connection:=DM.AdoConn;
    SQL.Text:='select * from T_Dept';
    Prepared:=true;
    Open;
    while not Recordset.EOF do begin
      Cbx_Dept.Items.Add(Fieldbyname('DeptNo').AsString+'-'+Fieldbyname('DeptName').AsString);
      Next;
    end;
    Close;
  finally
    Free;
  end;
 end;
 if not AnsiContainsText(UserName,'admin') then
 begin
  Cbx_Purview.Enabled:=False;
 end;
end;


procedure TEmployee_Frm.TbnaddClick(Sender: TObject);
begin
  with dm.AQ1 do
  begin
    if not Active then
    begin
      Close;
      SQL.Text:='Select * from T_Employee';
      Prepared:=True;
      Open;
    end;
    try
      DM.AdoConn.BeginTrans;
    except
      dm.AdoConn.Cancel;
      DM.AdoConn.BeginTrans;
    end;
    DBGrid1.Enabled:=False;
    Append;
  end;
  Cbx_Purview.ItemIndex:=0;
  tbnadd.Enabled:=False;
  Tbnedt.Enabled:=False;
  Tbnview.Enabled:=False;
  Tbndel.Enabled:=False;
  Tbncel.Enabled:=True;
  Tbnsv.Enabled:=True;
  TbnFirst.Enabled:=False;
  TbnPrior.Enabled:=False;
  TbnNext.Enabled:=False;
  TbnLast.Enabled:=False;


end;

procedure TEmployee_Frm.TbnsvClick(Sender: TObject);
var
  ado_tmp:TADOQuery;
begin
  ado_tmp:=nil;
  if not ControlEdit then exit;
 with dm.AQ1 do
  begin
    if Not Active then exit;
    if not ((DM.AQ1.State in [dsInsert]) or (DM.AQ1.State in [dsEdit])) then exit;
    case DM.AQ1.State of
      dsInsert:begin
        try
        ado_tmp:=TADOQuery.Create(self);
        ado_tmp.Connection:=dm.AdoConn;
        ado_tmp.SQL.Clear;
        ado_tmp.SQL.Text:='select * from T_Employee where Username='+quotedstr(Edit1.Text);
        ado_tmp.Prepared:=true;
        ado_tmp.Open;
        if ado_tmp.Recordset.RecordCount>0 then
          if MessageBox(0,'此人名已经存在,你真的想增加吗?','提示',MB_YESNO)=idno then
          begin
            Tbncel.Click;
            exit;
          end;
        finally
          ado_tmp.Free;
        end;
          FieldByName('NO').AsString:=FormatMe(Qbh('T_Employee','No'),4);
          FieldByName('UserName').AsString:=Edit1.Text;
          FieldByName('Password').AsString:=Edit2.Text;
          FieldByName('Purview').AsInteger:=Cbx_Purview.ItemIndex;
          FieldByName('DeptNo').AsString:=copy(Cbx_Dept.Text,1,2);
          FieldByName('Prefession').AsString:=Edit3.Text;
          FieldByName('Remark').AsString:=Edit4.Text;
          if cbx_Purview.ItemIndex=0 then
            FieldByName('Purview2').AsString:='普通用户'
          else
            FieldByName('Purview2').AsString:='高级用户';
      end;

      dsEdit:begin
        FieldByName('UserName').AsString:=Edit1.Text;
        //FieldByName('Password').AsString:=Edit2.Text;
        FieldByName('Purview').AsInteger:=Cbx_Purview.ItemIndex;
        FieldByName('DeptNo').AsString:=copy(Cbx_Dept.Text,1,2);
        FieldByName('Prefession').AsString:=Edit3.Text;
        FieldByName('Remark').AsString:=Edit4.Text;
        if cbx_Purview.ItemIndex=0 then
            FieldByName('Purview2').AsString:='普通用户'
          else
            FieldByName('Purview2').AsString:='高级用户';
      end;
    end;
    try
      DBGrid1.Enabled:=True;
      Update;
      Refresh;
      dm.AdoConn.CommitTrans;
       with AdoRY do
        begin
          Active:=not Active;
          SQL.Text:='select * from abc order by 人员编号';
          Prepared:=True;
          Open;
        end;
    except
      DBGrid1.Enabled:=True;
      dm.AQ1.Cancel;
      dm.AdoConn.RollbackTrans;
    end;
    
  end;
  {try
  adory.Close;
  adory.SQL.Text:='select * from abc order by 人员编号';
  adory.Prepared:=true;
  adory.Open;
  adory.RecNo:=dm.AQ1.RecNo;
  AdoRY.Refresh;
  except end; }
  Cbx_Purview.Enabled:=True;
  tbnadd.Enabled:=True;
  Tbnedt.Enabled:=True;
  Tbnview.Enabled:=True;
  Tbndel.Enabled:=True;
  Tbncel.Enabled:=False;
  Tbnsv.Enabled:=False;
  TbnFirst.Enabled:=True;
  TbnPrior.Enabled:=True;
  TbnNext.Enabled:=True;
  TbnLast.Enabled:=True;
end;

procedure TEmployee_Frm.TbnedtClick(Sender: TObject);
begin

  if not AnsiContainsText(UserName,'admin') then
  begin
    if dm.AQ1.FieldByName('no').AsString=copy(UserName,1,4) then
    begin
      Cbx_Purview.Enabled:=False;
    end else begin
      if dm.AQ1.FieldByName('purview').AsString='1' then begin
      Application.MessageBox('对不起,你没有权限!','信息',MB_OK+MB_ICONWARNING);
      exit ;end
      else
      Cbx_Purview.Enabled:=False;
    end;
  end
  else
     Cbx_Purview.Enabled:=True;
  tbnadd.Enabled:=False;
  Tbnedt.Enabled:=False;
  Tbnview.Enabled:=False;
  Tbndel.Enabled:=False;
  Tbncel.Enabled:=True;

⌨️ 快捷键说明

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