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

📄 utype.pas

📁 非长好的DELPHI办公系统 直接可以用
💻 PAS
字号:
unit uType;

interface

uses               
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMenu, StdCtrls, Grids, DBGrids, DB, ADODB, DBCtrls, Mask,DBGridEh,
   Buttons, ExtCtrls;

type
  TfrmType = class(Tform)
    dsadmin: TDataSource;
    aqAdmin: TADOQuery;
    aqAdminuid: TWideStringField;
    aqAdminpwd: TWideStringField;
    Panel1: TPanel;
    dgAdmin: TDBGridEh;
    Panel2: TPanel;
    lbluid: TLabel;
    lblpwd: TLabel;
    deBh: TDBEdit;
    deName: TDBEdit;
    btnAdd: TBitBtn;
    btnEdit: TBitBtn;
    btnDel: TBitBtn;
    btnClose: TBitBtn;
    Panel3: TPanel;
    lbladmin: TLabel;
    procedure btnEditClick(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure btnDelClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    procedure SetState(ViewState: Boolean);
  public
    { Public declarations }
  end;

var
  frmType: TfrmType;

implementation

uses uDM, uGlobal;

var
  aqCheck: TADOQuery;

{$R *.dfm}

procedure TfrmType.FormCreate(Sender: TObject);
begin
  Log.Write('进入办公用品类别模块');
  aqCheck := TADOQuery.Create(Self);
  SetState(True);
  DM.OpenQuery(aqAdmin, 'select * from typeTable');
end;

procedure TfrmType.FormDestroy(Sender: TObject);
begin
  aqCheck.Free;
end;

procedure TfrmType.SetState(ViewState: Boolean);
var
  sColor: TColor;
begin
  deBh.ReadOnly := ViewState;
  deName.ReadOnly := ViewState;

  dgAdmin.Enabled := ViewState;
  btnDel.Visible := ViewState;
  if ViewState then
  begin
    btnEdit.Caption := '编 辑';
    btnAdd.Caption := '添 加';
    sColor := ViewColor;
  end
  else
  begin
    if aqAdmin.State = dsEdit then
      btnEdit.Caption := '确 定'
    else btnEdit.Caption := '提 交';
    btnAdd.Caption := '取 消';
    deBh.SetFocus;
    sColor := clWindow;
  end;
  deBh.Color := sColor;
  deName.Color := sColor;
end;

procedure TfrmType.btnEditClick(Sender: TObject);
begin
  if btnEdit.Caption = '编 辑' then
  begin
    aqAdmin.Edit;
    SetState(False);
  end
  else
  begin
    if deBh.Text = '' then
    begin
      MessageBox(Handle, '请输入类别编号!', '提示', mb_IconInformation + mb_Ok);
      deBh.SetFocus;
      Abort;
    end;
    if aqAdmin.State = dsInsert then
    begin
      DM.OpenQuery(aqCheck, 'select bh from typeTable where bh=' + QuotedStr(deBh.Text));
      if not aqCheck.Eof then
      begin
        MessageBox(Handle, '此类别编号已存在,请另输入!', '提示', mb_IconInformation + mb_Ok);
        deBh.SetFocus;
        Abort;
      end;
    end;
    try
      if aqAdmin.State = dsInsert then
        Log.Write('添加办公用品类别' + aqAdmin.FieldByName('name').AsString)
      else
        Log.Write('更新办公用品类别' + aqAdmin.FieldByName('name').AsString);
      aqAdmin.UpdateBatch();
      SetState(True);
    except
      MessageBox(Handle, '办公用品类别更新失败!', '提示', mb_IconInformation + mb_Ok);
    end;
  end;
end;

procedure TfrmType.btnAddClick(Sender: TObject);
begin
  if btnAdd.Caption = '添 加' then
  begin
    aqadmin.Append;
    SetState(False);
  end
  else
  begin
    aqAdmin.CancelBatch();
    SetState(True);
  end;
end;

procedure TfrmType.btnDelClick(Sender: TObject);
begin
  DM.OpenQuery(aqCheck, 'select count(id) as acount from typeTable');
  if aqCheck.FieldByName('acount').AsInteger >= 1 then
  begin
    if MessageBox(handle, '真的要删除此办公用品类别吗?', '提示',  mb_IconQuestion + mb_OkCancel) = idOk then
    begin
      Log.Write('删除办公用品类别' +  aqAdmin.FieldByName('name').AsString);
      aqAdmin.Delete;
      aqAdmin.UpdateBatch();
    end;
  end;
  
end;

procedure TfrmType.btnCloseClick(Sender: TObject);
begin
  Close();
end;

end.

⌨️ 快捷键说明

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