麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

在Delphi技巧實現權限管理

2019-11-18 18:36:43
字體:
來源:轉載
供稿:網友
 

在DELPHI中技巧實現權限管理
 
 在運用DELPHI編制一些應用系統時,有很多時候都需要給不同的用戶賦予不同的權限,而不同的系統又有不同的權限分配方式,如果在程序中去為每一位用戶分配權限的話,不僅使得程序的編制十分麻煩,而且也不利于管理!筆者近日想得一自認為比較好的方法,愿與大家共享,并望各位多指教!

 在很多的系統中,權限通常是被分成幾級的。每一級的用戶所能實現的操作是不同的,而實現這一功能的方法一般都是讓不同權限的用戶見到不同的菜單。簡單的說就是對不具有某一權限的用戶這一菜單就是不可見的!為了實現這一控制,程序員們往往得花費很多的時間去做這一模塊,浪費了很多寶貴的時間!

 筆者的想法是:如果設一個二維數組,第一維代表第一級菜單,第二維代表子菜單,每一個數組元素只存儲0或1這兩個數,某一權限的用戶對應著一個二維數組,而這個數組又代表了相應的菜單。給某一級別的用戶分配權限后,他便擁有了一個相應的數組。登錄時,從數組中取出各個元素的值,如果為1則相應的菜單出現,為0則不出現菜單。用這種方式不但可以分級(同一級用戶的數組相同),還能實現在不同的用戶間實現權限細分,只要你修改相應的數值為0或1即可!

 上面是一個簡單例子的運行結果。
下面是部分源程序(這僅是一個解釋性的例子程序),為了簡便,程序中只有一個窗體和一個主菜單。在創建窗體時初始化數組M,顯示時讀出數組值并通過設置菜單的Enabled屬性或者Visible屬性的True或False來控制顯示!!
var
  Form1: TForm1;
  m:array[0..1,0..4] of integer;//定義存儲的數組
  i,j:integer;//定義循環的變量

implementation

{$R *.dfm}

PRocedure TForm1.FormShow(Sender: TObject);
begin //讀出數字并控制菜單的顯示
   for i:=Low(m) to High(m) do
      for j:=Low(m[i]) to High(m[i]) do begin
         if m[i][j]=0 then MainMenu1.Items[i].Items[j].Enabled:=false
         else MainMenu1.Items[i].Items[j].Enabled:=true;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin //下面是初始化
   k:=0;
   for i:=Low(m) to High(m) do
      for j:=Low(m[i]) to High(m[i]) do
         if (j mod 2)=0 then m[i][j]:=1
         else m[i][j]:=0;
end;


上一篇:Delphi編碼標準——組件命名

下一篇:Delphi程序與Chm幫助關聯的簡單實現

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 欧美成人精品一区 | 欧美粗暴analvideos | 免费毛片电影 | 杏美月av| 色网站免费观看 | 草莓视频久久 | 久久老司机 | 欧美 亚洲 激情 | 亚洲午夜不卡 | 亚洲精品一区中文字幕 | 一级黄色欧美 | 国产激情视频在线 | 久久久久国产成人精品亚洲午夜 | av影院在线播放 | 欧美一级黄色网 | 成人午夜激情视频 | 久久一区三区 | 国产精品区一区二区三区 | 欧美a在线 | 亚洲电影免费观看国语版 | 久久综合一区二区 | 国产人成精品一区二区三 | 国产精品久久亚洲 | chinesexxxx极品少妇 | 成人综合一区二区 | 精品免费在线视频 | 亚洲午夜1000理论片aa | 久久91亚洲人成电影网站 | 操操操日日日干干干 | 一色屋任你操 | 国产色视频一区 | 日本va在线观看 | 依依成人精品视频 | 欧美一级黄色免费 | 欧美成人一级片 | 免费一级特黄欧美大片勹久久网 | 国产成人精品午夜视频' | 精品国产一区二区三区久久久 | 免费看成人av | 久久久成人999亚洲区美女 | 蜜桃传媒视频麻豆第一区免费观看 |