亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unitgroupinfoframe.pas

?? 此代碼是關(guān)于mapgis的在
?? PAS
字號:
unit UnitGroupInfoFrame;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, ComCtrls, ExtCtrls, Grids, yhbGrid, StdCtrls, ADODB,
  YHBCheckBoxCellEditor, VirtualDBEngine, mis_Right, AnyDBFactory;

type
  TFrame_GroupInfo = class(TFrame)
    ModuleGrid: TYHBStringGrid;
    Splitter1: TSplitter;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    ScrollBox1: TScrollBox;
    TabSheet2: TTabSheet;
    FuncGrid: TYHBStringGrid;
    YHBCheckBoxCellEditor2: TYHBCheckBoxCellEditor;
    YHBCheckBoxCellEditor1: TYHBCheckBoxCellEditor;
    procedure ModuleGridSetEditText(Sender: TObject; ACol, ARow: Integer;
      const Value: String);
    procedure FuncGridSetEditText(Sender: TObject; ACol, ARow: Integer;
      const Value: String);
    procedure ModuleGridClick(Sender: TObject);
  private
    FGroupInfo: TGroupInfo;
    FDBFactory: TAnyDBFactory;
    { Private declarations }
  public
    { Public declarations }
    OldRow:Integer;
    procedure ClearRow(const RowIndex:Integer);
    procedure UnDisplayViewModule;
    procedure DisplayGroupInfo;
    property DBFactory:TAnyDBFactory read FDBFactory write FDBFactory;
    property GroupInfo:TGroupInfo read FGroupInfo write FGroupInfo;
  end;

implementation

uses
  mis_AppStruct, mis_RightDBStore, StringOperations;
  
{$R *.dfm}

procedure TFrame_GroupInfo.ClearRow(const RowIndex: Integer);
var
  i:Integer;
begin
  for i:=0 to FuncGrid.ColCount-1 do
    FuncGrid.Cells[i, RowIndex]:='';
end;

procedure TFrame_GroupInfo.UnDisplayViewModule;
var
  AModule:TAppModule;
begin
  if (OldRow>0)and(OldRow<ModuleGrid.RowCount) then
  begin
    AModule:=TAppModule(ModuleGrid.Objects[0, OldRow]);
    if AModule<>nil then AModule.UnViewModule;
  end;  
end;

procedure TFrame_GroupInfo.ModuleGridSetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
var
  AModuleRight:TModuleRight;
begin
  if ModuleGrid.Row=-1 then Exit;

  AModuleRight:=TModuleRight(ModuleGrid.Objects[1, ModuleGrid.Row]);

  if AModuleRight=nil then Exit;

  if ACol=0 then
  begin
    AModuleRight.CanEnter:=TextToBool(ModuleGrid.Cells[ACol, ARow]);
    SetModuleChecked(FDBFactory, GroupInfo.GroupID,
                     AModuleRight.ModuleID, AModuleRight.CanEnter);
  end;
end;

procedure TFrame_GroupInfo.FuncGridSetEditText(Sender: TObject; ACol, ARow: Integer;
  const Value: String);
var
  AModuleRight:TModuleRight;
  AFuncRight:TFuncRight;
begin
  if ModuleGrid.Row=-1 then Exit;
  AModuleRight:=TModuleRight(ModuleGrid.Objects[1, ModuleGrid.Row]);
  if AModuleRight=nil then Exit;
  if ACol=1 then
  begin
    AFuncRight:=AModuleRight.FuncRights.Items[ARow-1];
    AFuncRight.Checked:=TextToBool(FuncGrid.Cells[ACol, ARow]);
    SetFunctionChecked(FDBFactory, GroupInfo.GroupID,
                       AModuleRight.ModuleID, AFuncRight.FuncID,
                       AFuncRight.Checked);
  end;
end;

procedure TFrame_GroupInfo.DisplayGroupInfo;

  procedure DecRowCount;
  begin
    if ModuleGrid.RowCount>2 then
      ModuleGrid.RowCount:=ModuleGrid.RowCount-1
    else if ModuleGrid.RowCount=2 then
      ClearRow(1);
  end;
  
var
  i:Integer;
  AModule:TAppModule;
  AModuleRight: TModuleRight;
begin
  if GroupInfo.ModuleRights.ItemCount>0 then
  begin
    ModuleGrid.RowCount:=GroupInfo.ModuleRights.ItemCount+1;
    for i:=0 to GroupInfo.ModuleRights.ItemCount-1 do
    begin
      AModuleRight:=GroupInfo.ModuleRights.Items[i];
      AModule:=AModuleRight.ModuleObj;

      ModuleGrid.Objects[0, i+1]:=AModule; //關(guān)聯(lián)模塊信息//
      ModuleGrid.Objects[1, i+1]:=AModuleRight; //關(guān)聯(lián)模塊權(quán)限//
      ModuleGrid.Cells[0, i+1]:=BoolToText(AModuleRight.CanEnter);
      if GroupInfo.ModuleRights.Items[i].ModuleObj=nil then
        DecRowCount
      else begin
        ModuleGrid.Cells[1, i+1]:=AModule.ModuleName;
        ModuleGrid.Cells[2, i+1]:=AModule.Script;
      end;
    end;
  end
  else
  begin
    ModuleGrid.RowCount:=2;
    ClearRow(1);
  end;
  ModuleGrid.OnClick(ModuleGrid);
end;

procedure TFrame_GroupInfo.ModuleGridClick(Sender: TObject);
var
  i:Integer;
  AModule:TAppModule;
  AModuleRight: TModuleRight;
begin
  if (OldRow<>ModuleGrid.Row) then UnDisplayViewModule;
  try
    if ModuleGrid.Row=-1 then Exit;

    AModule:=TAppModule(ModuleGrid.Objects[0, ModuleGrid.Row]);
    AModuleRight:=TModuleRight(ModuleGrid.Objects[1, ModuleGrid.Row]);

    if (AModule=nil)or(AModuleRight=nil) then Exit;

    if AModule.ViewModule=nil then
      AModule.CreateViewModule(ScrollBox1)
    else
      AModule.ShowViewModule;

    if AModule.Functions.ItemCount>0 then
    begin
      FuncGrid.RowCount:=AModule.Functions.ItemCount+1;
      for i:=0 to AModule.Functions.ItemCount-1 do
      begin
        FuncGrid.Cells[1, i+1]:=BoolToText(AModuleRight.FuncRights.Items[i].Checked);
        FuncGrid.Cells[2, i+1]:=AModule.Functions.Items[i].FuncName;
        FuncGrid.Cells[3, i+1]:=AModule.Functions.Items[i].Script;
      end;
    end
    else
    begin
      FuncGrid.RowCount:=2;
      ClearRow(1);
    end;
  finally
    OldRow:=ModuleGrid.Row;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a人片在线观看中文| 午夜精品久久久久久久99水蜜桃| 国产欧美一区二区精品忘忧草| 国产精品网站在线播放| 午夜成人免费视频| av爱爱亚洲一区| 久久久久久久久久久久久夜| 一区二区欧美在线观看| 国产·精品毛片| 欧美一区二区在线不卡| 专区另类欧美日韩| 国产美女av一区二区三区| 欧美最新大片在线看| 欧美国产激情一区二区三区蜜月| 亚洲动漫第一页| a4yy欧美一区二区三区| 国产喂奶挤奶一区二区三区| 亚洲成人av一区| 99re视频精品| 亚洲天堂av一区| www.在线成人| 中文字幕+乱码+中文字幕一区| 久久激情综合网| 欧美一卡二卡在线观看| 亚洲一区二区欧美| 色8久久精品久久久久久蜜| 国产精品久久久久天堂| 国产精品自拍三区| 久久男人中文字幕资源站| 免费高清在线一区| 日韩一本二本av| 麻豆国产精品视频| 欧美一区二区三区在线观看| 亚洲a一区二区| 在线播放日韩导航| 首页欧美精品中文字幕| 777xxx欧美| 麻豆精品视频在线观看视频| 日韩一区二区高清| 久久精品国产第一区二区三区| 日韩一区二区三区精品视频| 暴力调教一区二区三区| 亚洲欧美日韩电影| 色哟哟国产精品| 亚洲第一久久影院| 777久久久精品| 国产精品一二三区| 中文字幕一区二区三区在线不卡 | 国产精品99久久久| 国产婷婷一区二区| av电影在线不卡| 亚洲午夜视频在线| 日韩美女在线视频| 国产成人在线视频免费播放| 中文字幕制服丝袜一区二区三区| 99久久综合精品| 亚洲国产va精品久久久不卡综合 | 99麻豆久久久国产精品免费| 亚洲色图欧美激情| 717成人午夜免费福利电影| 免费人成精品欧美精品| 亚洲精品一区二区三区99| 懂色一区二区三区免费观看| 亚洲人123区| 欧美一级理论片| 成人午夜免费电影| 亚洲第一在线综合网站| 久久综合av免费| 一本一道久久a久久精品| 婷婷久久综合九色国产成人| 国产亚洲一区字幕| 色偷偷成人一区二区三区91| 日韩激情在线观看| 国产精品久久久久天堂| 91精品国产入口| 成人美女在线观看| 日本网站在线观看一区二区三区| 欧美精品一区二区三区在线播放| 99久久国产综合精品女不卡 | 亚洲视频一区二区在线| 欧美日韩亚洲综合在线 | 欧美在线综合视频| 国内精品第一页| 亚洲一二三四久久| 国产欧美在线观看一区| 欧美日韩三级在线| 国产.欧美.日韩| 免费观看久久久4p| 亚洲一区在线观看免费观看电影高清 | 欧美日本乱大交xxxxx| 成人精品视频网站| 另类调教123区| 五月天国产精品| 亚洲精品自拍动漫在线| 国产日韩一级二级三级| 欧美一区二区三区的| 在线国产电影不卡| 99re热这里只有精品免费视频| 国产一区二区三区在线观看精品 | 国产九色精品成人porny| 亚洲一区二区三区四区在线免费观看| 国产午夜精品一区二区三区嫩草 | 久久久99精品久久| 亚洲精品一区二区精华| 精品久久久影院| 日韩视频一区二区三区在线播放 | 97久久人人超碰| 高清免费成人av| 国产精品资源在线观看| 久久精品国产久精国产| 日韩中文字幕亚洲一区二区va在线 | 五月婷婷激情综合| 午夜久久电影网| 五月天国产精品| 青青草91视频| 日本欧美一区二区在线观看| 亚洲超碰精品一区二区| 亚洲一区二区三区美女| 一区二区高清免费观看影视大全| 亚洲色图都市小说| 亚洲欧美福利一区二区| 亚洲激情自拍视频| 亚洲成人动漫在线免费观看| 亚洲r级在线视频| 丝袜亚洲另类丝袜在线| 成人国产精品免费观看动漫| 粉嫩av一区二区三区| 国产成人一级电影| av不卡免费在线观看| 在线影院国内精品| 欧美男女性生活在线直播观看| 欧美日韩国产天堂| 欧美一区二区免费视频| 日韩欧美国产系列| 久久久久久久久久久99999| 久久精品一区二区三区四区| 国产三级欧美三级日产三级99| 国产欧美视频在线观看| 国产精品福利在线播放| 亚洲影视资源网| 久久99这里只有精品| 成人av手机在线观看| 欧美丝袜丝交足nylons| 日韩视频一区二区在线观看| 久久久99精品免费观看不卡| 亚洲日本在线视频观看| 日本不卡一区二区| 国产一区日韩二区欧美三区| 国产aⅴ精品一区二区三区色成熟| www.av亚洲| 欧美一区二区三区喷汁尤物| 国产亚洲制服色| 亚洲激情在线播放| 精品一区二区三区蜜桃| 岛国av在线一区| 欧美日韩国产一二三| 久久美女高清视频| 亚洲一区二区欧美| 国产精品一线二线三线| 色婷婷综合中文久久一本| 欧美一级欧美一级在线播放| 国产精品素人视频| 日韩高清一区二区| av激情成人网| 欧美电影免费观看完整版| 亚洲精品欧美激情| 日韩午夜精品视频| 国产精品伦一区二区三级视频| 亚洲一级二级三级| 成人午夜激情片| 宅男在线国产精品| 亚洲丝袜精品丝袜在线| 久久国产精品露脸对白| 在线观看一区日韩| 18成人在线视频| 奇米777欧美一区二区| 色婷婷综合久色| 国产午夜亚洲精品羞羞网站| 日韩二区三区在线观看| 91色婷婷久久久久合中文| 欧美一级一区二区| 亚洲自拍欧美精品| 91亚洲永久精品| 中文字幕精品一区二区三区精品 | 久久av资源网| 欧美日韩精品二区第二页| 国产精品电影一区二区三区| 久久激情五月婷婷| 91精品午夜视频| 爽好多水快深点欧美视频| 色婷婷亚洲综合| 亚洲私人影院在线观看| 国产一区美女在线| 精品国产一区二区三区不卡| 日韩国产精品91| 欧美日韩一级二级三级| 亚洲国产一区二区视频| 色综合视频一区二区三区高清| 亚洲国产高清在线观看视频| 国产一区欧美一区|