Kullanıcı Yetkilendirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ilker1525
Üye
Mesajlar: 53
Kayıt: 05 Nis 2008 02:38

Kullanıcı Yetkilendirme

Mesaj gönderen ilker1525 »

Aşağıdaki resimdeki gibi bir tablo yapmak istiyorum nasıl yapabilirim

Resim

vt bağlantılı çok kullanıcı girişini ayarladım ama kısıtlama işini yapamadım if kullanarak sadece 'kısıtlamalı' ve 'tam kullanım' olarak belirleyebildim kısıtlıda sadece kaydetme , silme vs . gibi şeyleri yapabiliyorum ama seçenek sunamıyorum bu konuda yardım edebilirmisiniz.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Kullanıcı Yetkilendirme

Mesaj gönderen Lost Soul »

Resim

Kod: Tümünü seç

unit fmain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CheckLst;
Hak Hukuk Şablonu

Kod: Tümünü seç

type THakTurleri =(htdusun=1,htkonus=2,htbagir=3,htdovanasinisatiim=4,htburnunukaristir=5);

type THaklar = set of THakTurleri;

Kod: Tümünü seç

type
  TForm1 = class(TForm)
    CheckListBox1: TCheckListBox;
    CheckBox1: TCheckBox;
    HaklariKaydet: TButton;
    btndusun: TButton;
    btnkonus: TButton;
    btnbagir: TButton;
    btndov: TButton;
    btnburnunukaristir: TButton;
    procedure CheckBox1Click(Sender: TObject);
    procedure HaklariKaydetClick(Sender: TObject);
    procedure btndusunClick(Sender: TObject);
    procedure btnkonusClick(Sender: TObject);
    procedure btnbagirClick(Sender: TObject);
    procedure btndovClick(Sender: TObject);
    procedure btnburnunukaristirClick(Sender: TObject);
  private
    { Private declarations }
    Haklar:THaklar;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
Kişiye Özel Anayasa Tasarısı

Kod: Tümünü seç


//Kişiye özel yasayı yürürlüğe koy
procedure TForm1.HaklariKaydetClick(Sender: TObject);
var
  i: Integer;
begin

   Haklar:=[];
   for i := 0 to CheckListBox1.Items.Count - 1 do
   Begin
     if CheckListBox1.Checked[i] then
      Haklar:=Haklar + [THakTurleri(i+1)];
   End;
end;

//Tümünü seç
procedure TForm1.CheckBox1Click(Sender: TObject);
var
  i: Integer;
begin
  if CheckBox1.Checked then
    for i := 0 to checklistbox1.items.count - 1 do
    CheckListBox1.Checked[i]:=true;
end;

Uygulama Sahası

Kod: Tümünü seç

procedure TForm1.btnbagirClick(Sender: TObject);
begin
if htbagir in haklar then
  Showmessage('>:@')
  else
  Showmessage('Hörmetler abi');
end;

procedure TForm1.btnburnunukaristirClick(Sender: TObject);
begin
if htburnunukaristir in haklar then
  Showmessage('Kapa gözünü aç ağzını. sana bi sürprizim var >:)')
  else
  Showmessage('Hade leynn!!!');

end;

procedure TForm1.btndovClick(Sender: TObject);
begin
if htdovanasinisatiim in haklar then
  Showmessage('YILMAAAAZZZ!!! bu ne?!'+#13+'-Davuldur ağam'+#13+'Ne yapmak lazım'+#13+'-Tokmak bulmak lazım ağam')
  else
  Showmessage('Estağfurullah abi');
end;

procedure TForm1.btndusunClick(Sender: TObject);
begin
if htDusun in haklar then
  Showmessage('Düşünüyorum öyle ise icraat lazım')
  else
  Showmessage('Sen düşün!!! ben ne düşünecem!!!');
end;

procedure TForm1.btnkonusClick(Sender: TObject);
begin
if htkonus in haklar then
  Showmessage('Eee abi daha daha hav ar sen?')
  else
  Showmessage('*%&>:(!');
end;
end.
unalaygun
Üye
Mesajlar: 139
Kayıt: 27 Mar 2004 12:34
Konum: istanbul

Re: Kullanıcı Yetkilendirme

Mesaj gönderen unalaygun »

Söyle bir şey yapabilirsin.

Kullanıcı tablon var anladığım kadarıyla

bunlara ek olarak
hak tablosu
kullanıcı hakkı tablosu
eklersen aşağıda yazacakalrımıda uygularsan sanırım olur.

kullanıcı seçersin kullanıcıya vermek istediğin hakları seçersin bu seçtiklerini kullanıcı hak tablona kaydedersin.
Daha sonra her formun açılışında yazacağın şu fonksiyonu eklersen bu iş kanımca olur.

Bu kullanıcını bu forma ya da bu işe hakkı varmı. onuda yine kullanıcı hak tablosuna atacağın bir select ile bulabilirsin.
eğer hak varsa sorun yok değilse hakkınız yok mesajı dönderirsin.
doğru anladıysam bu işini görür.
İnşallah işine yarar.
derviş
Cevapla