Kannst du denn mit Datenbankabfragen umgehen?
Delphi-Quellcode:
ProgID := 1; //globale Variable, damit du von allen Forms aus darauf zugreifen kannst.
function getSecuLevel(AProgID,AUserID:integer;AMask:string):integer;
begin
if qry.active then
qry.close;
qry.sql.text := 'SELECT Right FROM USERRIGHTS WHERE ProgID=:ProgID AND UserID=:UserID AND Mask=:Mask';
qry.ParamByName('ProgID').AsInteger := AProgID;
qry.ParamByName('UserID').AsInteger := AUserID;
qry.ParamByName('Mask').AsString := AMask;
qry.Open;
if qry.RecordCount = 1 then // Sollte 1 sein, wenn die Primärschlüssel richtig sind
Result := qry.FieldByName('Right').AsInteger;
qry.Close;
end;
Nun kannst du folgendes machen:
MyButtonRight := getSecuLeveL(ProgID,1,'Buttons');
Ist nur aus dem Kopf. Die Benutzer werden natürlich in einer separaten Tabelle verwaltet und von dort müsstest du dann auch die ID des Benutzers bekommen.