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

📄 frmpermissionmanage.pas

📁 物流供应链管理系统
💻 PAS
字号:
unit frmPermissionManage;

interface

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

type
  TFormPermissionManage = class(TForm)
    LCDBOperatToolMaster: TLCDBOperatTool;
    DBEdtId: TDBEdit;
    DBEdtName: TDBEdit;
    DBMemoRemark: TDBMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DSMaster: TDataSource;
    ADOTPerMaster: TADOTable;
    ADOTPerSlave: TADOTable;
    ADOCon: TADOConnection;
    DSSlave: TDataSource;
    ADOTPerSlaveMasterId: TSmallintField;
    ADOTPerSlaveFunc: TWideStringField;
    ADOQ: TADOQuery;
    DBGrid2: TDBGrid;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    LCDBOperatToolSlave: TLCDBOperatTool;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormDeactivate(Sender: TObject);
    procedure LCDBOperatToolSlaveModeChange(AMode: TBtnMode);
    procedure LCDBOperatToolMasterClick(Btn: TToolButton;
      var Continued: Boolean);
    procedure LCDBOperatToolMasterModeChange(AMode: TBtnMode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormPermissionManage: TFormPermissionManage;

implementation
uses untConfig, untGlobal;
{$R *.dfm}

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

procedure TFormPermissionManage.FormCreate(Sender: TObject);
begin
  ADOCon.Close;
  ADOCon.ConnectionString := GetConnectionString;
  try
    ADOCon.Open;
    ADOTPerMaster.Open;
    ADOTPerSlave.Open;
  except
    raise Exception.Create('数据库打开错误!');
  end;
end;

procedure TFormPermissionManage.FormDeactivate(Sender: TObject);
begin
  ADOCon.Close;
end;

procedure TFormPermissionManage.LCDBOperatToolSlaveModeChange(AMode: TBtnMode);
begin
  if AMode = bmAdd then
  begin
    DSSlave.DataSet.FieldByName('masterid').AsInteger :=
      DSMaster.DataSet.FieldByName('id').AsInteger;
  end;
end;

procedure TFormPermissionManage.LCDBOperatToolMasterClick(Btn: TToolButton;
  var Continued: Boolean);
begin
  if Btn = tbDel then
  begin
    Continued := false;

    ADOQ.Close;
    ADOQ.SQL.Text := 'delete  from t_PermissionSlave where masterid=:masterid';
    ADOQ.Parameters.ParamByName('masterid').Value :=
      DSMaster.DataSet.FieldByName('id').AsInteger;
    ADOCon.BeginTrans;
    try
      ADOQ.ExecSQL;
      DSMaster.DataSet.Open;
      DSMaster.DataSet.Delete;
      ADOCon.CommitTrans;
    except
      ADOCon.RollbackTrans;
      raise;
    end;
    LCDBOperatToolMaster.EnabledBtn := [tbCancel, tbAdd];
  end;
end;

procedure TFormPermissionManage.LCDBOperatToolMasterModeChange(AMode: TBtnMode);
begin
  if (AMode = bmAdd) or (AMode = bmDel) then
    LCDBOperatToolSlave.EnabledBtn := []
  else
    LCDBOperatToolSlave.EnabledBtn := [tbAdd, tbDel, tbEdit]
    
end;

end.

⌨️ 快捷键说明

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