熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PB編程 >> 正文

PB用戶權限管理[2]

2022-06-13   來源: PB編程 

  動態菜單的實現可以分為以下步驟

  准備工作

  建立模塊屬性表包括所有需要分配的模塊的窗口名稱標題圖標MicrohelpToolbarItemText等屬性

  建立部門可用菜單表包括部門號menu_bar順序可用窗口名稱等屬性

  建立部門模塊管理功能此功能主要分配某部門可以打開那些模塊以及這些模塊如何布置

  動態菜單實現

  創建一個菜單m_main_frame含所有部門都需要的項如[文件][窗口][幫助]等然後在中間加入個menu_bar每個menu_bar下建立個menu_item(可以按實際情況增減)

  在每個menu_item下調用函數mf_open_module(thistag)該函數即用於打開窗口(模塊)

  程序運行時在main_frame的open事件中根據當前用戶所在的部門修改該用戶的菜單屬性包括itemTextmicrohelptoolbarItemNametoolbaritemtextvisibleenabled等等

  通過以上步驟顯示給用戶的界面就是由系統管理員所定制的菜單

  優缺點

  優點

  ■快速的開發框架可以立即進行實際業務系統的開發而不用理會相關開發框架技術上的問題

  ■可以充分擴展模塊只需要加入某補丁庫中即可其他程序不用修改

  ■可以由系統管理員充分自由地定制每個部門或用戶的可用模塊

  ■模塊容量無實際限制可多可少

  ■可以擴展給用戶自己定義菜單的顯示方式如文字microhelp圖標等

  ■對開發人員可以提供增加模塊到模塊表中的輔助工具其他開發框架問題可以不用考慮

  缺點

  ■需要建立額外的兩張表(模塊表部門模塊定義表)增加工作量

  ■目前只能以opensheet()方式打開main形式的窗口(可以擴展打開responsepop類型的窗口)

  ■目前只實現了二級菜單更多級別的菜單尚未實現但原理是一致的

  函數mf_open_module參考

  //////////////////////////////////////////////////////////////////

  //        Function:              mf_open_module

  //        Access:                Public

  //        Arguments:            string as_module_id

  //        Returns:                None

  //        Description:        打開模塊(sheet)

  //        Designer:              劉建剛

  //        Date:                      //

  //////////////////////////////////////////////////////////////////

  Integer           li_sheet li_Resp

  Window            lw_Exlw_sheet

  if isnull(as_module_id) or as_module_id = then

  messagebox(參數錯誤請檢查模塊ID設置

  else

  lw_sheet = parentwindowGetFirstSheet()

  do while isvalid(lw_sheet)

  if lw_sheetclassname() = as_module_id then

  Opensheet(lw_sheetparentwindoworiginal!)

  return

  end if

  lw_sheet  = parentwindowGetNextSheet(lw_sheet)

  loop

  li_Resp = Opensheet(lw_Ex as_module_idparentwindoworiginal!)

  end if

  方案三分離為多個子系統

  分離為多個子系統方式即根據業務規則將模塊按業務所在部門進行分類通常一個業務部門為一個子系統各子系統有獨立的applicationmain_menumain_window相互之間沒有任何關系有獨立的可執行程序獨立的設置

  優缺點

  優點

  ■獨立性各業務系統相互關聯少

  ■自由性可以定制特定的內容如界面等

  ■不需要輔助控制

  缺點

  ■各分系統需要考慮各自的框架增加額外工作量

  ■系統修改擴展性差需要重新編譯整個分系統

  ■代碼可重用部分少容易造成整理不一致

       編輯推薦

       JEE高級框架實戰培訓視頻教程

       數據倉庫與數據挖掘培訓視頻教程

[]  []  


From:http://tw.wingwit.com/Article/program/PB/201311/24629.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.