1 (edited by muserun 2021-09-08 05:23:20)

Topic: Убрать экспорт,импорт в меню

Здравствуйте.
Делаю небольшое приложение. Использую деффолтные возможности по распределению прав и ролей. Убрал лишнее в меню программы
     frmGeneral.mniFile.Visible := True;
     frmGeneral.mniOptions.Visible := True;
     frmGeneral.mniSettings.Visible := False;
     frmGeneral.mniReport.Visible := False;
     frmGeneral.mniAbout.Visible := False;
но хотелось-бы оставить во вкладке ИНСТРУМЕНТЫ только ПОЛЬЗОВАТЕЛИ и СМЕНИТЬ ПАРОЛЬ, убрав ЭКСПОРТ,ИМПОРТ. Скажите это возможно?

2 (edited by vovka3003 2021-09-08 07:15:25)

Re: Убрать экспорт,импорт в меню

https://i.imgur.com/sBYmj9P.png

function MainForm:TfrmMaindbCore;
var i: integer;
begin
    for i := 0 to Screen.FormCount-1 do
    if Screen.Forms[i].ClassName = 'TfrmMaindbCore'
    then
    begin
        result := TfrmMaindbCore(Screen.Forms[i]);
        break;
    end;
end;

function HideMenu(MiPath:array of string):boolean;
var i:integer;
    SL:TStrings;
    mi:TMenuItem;
begin
for i:=0 to length(MiPath)-1 do
begin
    try
      SL := TstringList.Create;
          try
          SL.Text :=   ReplaceStr(MiPath[i],'.',#13#10);
          MI:=MainForm.Menu.Items;
          for i:=0 to SL.Count-1 do
            begin
              MI:=TMenuItem(MI.Find(SL[i]));
              if MI=nil then
              exit;
            end;
            MI.Visible := false;
            result := true;
          except
            result := false;
          end;
    finally
        MI := nil;
        SL.Free;
    end;
end;

end;


begin
  HideMenu([
      'Инструменты.Экспорт данных',
      'Инструменты.Импорт данных',
      'Инструменты.Открыть дизайнер отчетов',
      'Инструменты.Настройка',
      'Файл',
      'О программе'
  ]);
end.

Кофеприёмник.

Re: Убрать экспорт,импорт в меню

Спасибо