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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unitgroupinfoframe.~pas

?? 此代碼是關于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(FEngine, 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; //關聯模塊信息//
      ModuleGrid.Objects[1, i+1]:=AModuleRight; //關聯模塊權限//
      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一区二区三区免费野_久草精品视频
91搞黄在线观看| 一区二区免费看| 欧美在线短视频| 91网页版在线| av爱爱亚洲一区| 国产成人丝袜美腿| 国产精品一区在线观看乱码| 国产一区二区三区在线观看免费 | 国产精品性做久久久久久| 美国十次了思思久久精品导航| 日韩二区三区四区| 欧美aaa在线| 国产精品一卡二卡在线观看| 精品亚洲porn| 大尺度一区二区| 丁香激情综合五月| 在线视频中文字幕一区二区| 欧美日韩午夜影院| 欧美一级片在线| 久久综合色天天久久综合图片| 精品成人私密视频| 亚洲欧洲成人自拍| 亚洲香蕉伊在人在线观| 免费人成黄页网站在线一区二区 | 91精品国产综合久久婷婷香蕉| 91精品国产综合久久久久久| 日韩精品一区二区三区中文不卡 | 成人a免费在线看| 91久久一区二区| 欧美亚洲一区二区在线| 日韩免费观看2025年上映的电影 | 亚洲美女免费在线| 日本欧美加勒比视频| 国产精品18久久久久久久网站| 色综合久久久网| 日韩欧美一区二区免费| 中文天堂在线一区| 日本一区中文字幕| 9l国产精品久久久久麻豆| 555www色欧美视频| 国产精品萝li| 久久9热精品视频| 色国产精品一区在线观看| 欧美电影免费观看完整版| 中文字幕亚洲区| 韩国精品一区二区| 欧美三级乱人伦电影| 国产欧美日韩久久| 美女尤物国产一区| 91国在线观看| 国产精品另类一区| 久久国产精品色| 欧美放荡的少妇| 一区二区免费看| 91色九色蝌蚪| 国产精品每日更新在线播放网址| 久久精品国产99国产| 精品视频在线免费| 亚洲黄色小视频| av成人老司机| 亚洲国产成人私人影院tom| 久久www免费人成看片高清| 色婷婷香蕉在线一区二区| 国产日韩综合av| 日韩不卡一二三区| 99麻豆久久久国产精品免费优播| 26uuu国产日韩综合| 石原莉奈在线亚洲二区| 成人激情午夜影院| 久久免费偷拍视频| 亚洲国产精品一区二区www在线 | 日韩一区二区电影| 日日噜噜夜夜狠狠视频欧美人| 91国产免费看| 亚洲一二三四在线观看| 在线观看不卡一区| 亚洲综合丁香婷婷六月香| 99精品黄色片免费大全| 1000部国产精品成人观看| 国产黑丝在线一区二区三区| 久久久精品蜜桃| 成人综合婷婷国产精品久久 | 在线观看一区日韩| 一区二区三区四区蜜桃| 欧美性受xxxx| 午夜精品一区二区三区电影天堂| 欧美喷水一区二区| 日韩1区2区3区| 久久一区二区三区国产精品| 粉嫩av一区二区三区| 国产精品久久久一本精品 | 亚洲欧美自拍偷拍| 91欧美一区二区| 亚洲成a人v欧美综合天堂下载| 欧美日韩一二区| 久久99精品久久久| 国产精品乱子久久久久| 在线免费观看不卡av| 日韩在线播放一区二区| 久久天天做天天爱综合色| 成人精品一区二区三区四区| 亚洲黄网站在线观看| 日韩免费高清视频| 丁香一区二区三区| 亚洲成年人影院| 久久久综合九色合综国产精品| 99久久婷婷国产精品综合| 亚洲1区2区3区4区| 国产三区在线成人av| 欧美在线一二三| 国产一区二区不卡在线| 亚洲免费观看高清完整| 日韩一级高清毛片| 99久久精品免费看| 蜜臀av国产精品久久久久| 欧美国产日韩亚洲一区| 日本韩国精品在线| 国产麻豆午夜三级精品| 午夜伊人狠狠久久| 国产亚洲美州欧州综合国| 欧美日韩一二三区| 99免费精品视频| 国产又粗又猛又爽又黄91精品| 色综合久久88色综合天天免费| 欧美日韩一区二区三区不卡| 91搞黄在线观看| 国产在线视视频有精品| 亚洲乱码一区二区三区在线观看| 2023国产精品自拍| 欧美一区二区三区在| 色综合视频在线观看| 国产一区二区在线电影| 亚洲成精国产精品女| 亚洲美女在线一区| 欧美激情在线看| 久久综合九色综合欧美98| 欧美日韩第一区日日骚| 色综合久久久久综合| 粉嫩aⅴ一区二区三区四区五区| 美女视频黄久久| 日韩中文欧美在线| 三级欧美在线一区| 亚洲h在线观看| 亚洲成人av电影在线| 亚洲精品亚洲人成人网| 国产精品福利一区二区三区| 国产婷婷色一区二区三区| 亚洲精品一区二区三区福利| 538在线一区二区精品国产| 欧美高清视频不卡网| 欧美日韩另类国产亚洲欧美一级| 在线免费观看日韩欧美| 一本大道av一区二区在线播放| 97aⅴ精品视频一二三区| 不卡一二三区首页| av电影一区二区| 91蜜桃在线观看| 欧美亚洲国产一区二区三区va| 欧美影院一区二区| 欧美精品18+| 精品国产乱码久久久久久蜜臀| 欧美精品一区二区三区蜜桃| 精品国产91亚洲一区二区三区婷婷| 精品国产第一区二区三区观看体验| 久久亚洲春色中文字幕久久久| 久久夜色精品一区| 国产精品视频看| 一区二区三区高清在线| 亚洲国产视频a| 日本欧美大码aⅴ在线播放| 狠狠色丁香婷婷综合| 国产精品一级黄| 91色视频在线| 国产乱码精品1区2区3区| 成人av资源在线观看| 一本到不卡免费一区二区| 国产黄人亚洲片| 午夜精品久久久久久久99樱桃| 欧美日韩三级视频| 日韩免费观看2025年上映的电影 | 亚洲午夜影视影院在线观看| 无码av免费一区二区三区试看| 久久精品国产免费看久久精品| 国产福利精品导航| 91福利精品第一导航| 欧美mv日韩mv| 亚洲人亚洲人成电影网站色| 日韩不卡在线观看日韩不卡视频| 国产成人一区二区精品非洲| 在线免费一区三区| 久久精品一区二区三区不卡| 一区二区三区视频在线看| 另类小说一区二区三区| 99久久99久久精品国产片果冻 | 精品sm捆绑视频| 亚洲男同性恋视频| 狠狠狠色丁香婷婷综合久久五月| 91视频免费看| 国产色产综合色产在线视频| 亚洲成人一区在线|