Показать сообщение отдельно
  #1  
Старый 11.01.2015, 23:50
geniusbsd geniusbsd вне форума
Прохожий
 
Регистрация: 11.01.2015
Сообщения: 27
Версия Delphi: RAD STUDIO XE7
Репутация: 10
По умолчанию Оптимизация кода

Добрый день
Помогите с оптимизацией кода

Есть Форма авторизации при введении правильного логина и пароля
Получаем из таблицы базы данных
параметры главного меню основной формы в зависимости от роли пользователя
Структура базы такова
Таблица СпрПользователи связана с таблицей СпрГрупп которая связана с таблицей СпрИнтерфейсов

Задачу решил так
Код:
 ADOQueryFase.Active:=False;
      ADOQueryFase.SQL.Clear;
 ADOQueryFase.SQL.Add('SELECT *');
 ADOQueryFase.SQL.Add('FROM  SprFase');
 ADOQueryFase.SQL.Add('WHERE');
 ADOQueryFase.SQL.Add('FaseID  = '+InttoStr(IFaseID[H])+' '); 
  ADOQueryFase.Open;
   //Настройка интерфейса
   IFACE:= ADOQueryFase.FieldValues['MClose'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MClose.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MNewOrder'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MNewOrder.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MUsers'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MUsers.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MTMC'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MTMC.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MContractor'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MContractor.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MCatalog'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MCatalog.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MSettings'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MSettings.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MRegister'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MRegister.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MRegister'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MRegister.Visible:=IFACEBool;

  IFACE:= ADOQueryFase.FieldValues['MDoc'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MDoc.Visible:=IFACEBool;

   IFACE:= ADOQueryFase.FieldValues['MReports'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MReports.Visible:=IFACEBool;

   IFACE:= ADOQueryFase.FieldValues['MParameters'];
  if IFACE = 1 then
  IFACEBool:=True
  else IfaceBool:=False;
  MainForm.MainMenu.MParameters.Visible:=IFACEBool;
Админ: Пользуемся тегами для оформления кода!

Как можно более красиво решить данную задачу?
Ответить с цитированием