国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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幫助關聯的簡單實現

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

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 唐海县| 澎湖县| 武功县| 绥中县| 阿图什市| 永和县| 广饶县| 青阳县| 建昌县| 南皮县| 阿坝县| 富蕴县| 南漳县| 博湖县| 全州县| 察雅县| 棋牌| 芜湖市| 理塘县| 怀远县| 韩城市| 肥西县| 富蕴县| 惠安县| 宁蒗| 竹溪县| 大悟县| 醴陵市| 文山县| 汽车| 财经| 阿拉善盟| 肇源县| 马边| 黔西| 平远县| 祁门县| 乡城县| 宜都市| 江口县| 沙河市|