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

📄 urightsmanage.pas

📁 该系统将温度数据以类似股票K线显示方式进行分析
💻 PAS
字号:
unit uRightsManage;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, DBGridEh,   ActnList, ExtCtrls, GridsEh;

type
  TRightsManageFrm = class(TForm)
    adotUser: TADOTable;
    adotRights: TADOTable;
    dsRights: TDataSource;
    adotModule: TADOTable;
    adotRightsModuleName: TStringField;
    dbgehRights: TDBGridEh;
    adotUserUserName: TWideStringField;
    adotUserPassword: TWideStringField;
    adocMain: TADOConnection;
    Splitter1: TSplitter;
    dbgModule: TDBGridEh;
    dsUser: TDataSource;
    adotUserTrueName: TStringField;
    adotUserUserId: TStringField;
    adotRightsUserId: TStringField;
    adotRightsModuleId: TStringField;
    adotRightsReadOnly: TBooleanField;
    procedure adotUserAfterScroll(DataSet: TDataSet);
    procedure acPostExecute(Sender: TObject);
    procedure acAddModuleExecute(Sender: TObject);
    procedure acDelModuleExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

uses uAddModuleDlg;

{$R *.dfm}

procedure TRightsManageFrm.adotUserAfterScroll(DataSet: TDataSet);
begin
  with adotRights do
  begin
    Filtered := False;
    Filter := 'UserID=' + adotUser.FieldByName('UserID').AsString;
    Filtered := True;
  end;
end;

procedure TRightsManageFrm.acPostExecute(Sender: TObject);
begin
  adotRights.Post;
end;

procedure TRightsManageFrm.acAddModuleExecute(Sender: TObject);
var
  i: Integer;
  bkList: TBookmarkListEh;                
begin
  with TAddModuleDlg.Create(Self) do
  try
    if ShowModal = mrOK then
    begin
      bkList := dbgehModule.SelectedRows;
      with adotRights do
      begin
        for i := 0 to bkList.Count-1 do
        begin
          adotModuleSelect.Bookmark := bkList[i];
          if VarIsNull(Lookup('UserID;ModuleID',
            VarArrayOf ([adotUser.FieldByName('UserID').AsInteger,
              adotModuleSelect.FieldByName('ID').AsInteger]), 'ModuleID')) then
          begin
            Append;
            FieldByName('UserID').AsInteger := adotUser.FieldByName('UserID').AsInteger;
            FieldByName('ModuleID').AsInteger := adotModuleSelect.FieldByName('ID').AsInteger;
            FieldByName('ReadOnly').AsBoolean := True;
          end;  
        end;
      end;
    end;
  finally
    Free;
  end;
end;

procedure TRightsManageFrm.acDelModuleExecute(Sender: TObject);
var
  i: Integer;
  bkList: TBookmarkListEh;
begin
  bkList := dbgehRights.SelectedRows;
  for i := bkList.Count-1 downto 0 do
  begin
    adotRights.Delete;
  end;
end;

procedure TRightsManageFrm.FormShow(Sender: TObject);
begin
     dbgModule.DataSource.DataSet.Open;
     dbgehRights.DataSource.DataSet.Open;
end;

end.

⌨️ 快捷键说明

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