|  | 
 
 | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Оптимизация кода Добрый день Помогите с оптимизацией кода Есть Форма авторизации при введении правильного логина и пароля Получаем из таблицы базы данных параметры главного меню основной формы в зависимости от роли пользователя Структура базы такова Таблица СпрПользователи связана с таблицей СпрГрупп которая связана с таблицей СпрИнтерфейсов Задачу решил так Код: 
 Как можно более красиво решить данную задачу? Последний раз редактировалось Admin, 12.01.2015 в 19:46. | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   Зачем столько лишнего кода? Вместо всего этого: Код: 
 Код: 
 | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Дело в том что в MS SQL нет типа boolean по этому в таблице Интерфейсов используется поля int 0 - отключено меню 1 - показывать меню | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   Дело в том что в MS SQL нет типа boolean по этому в таблице СпрИнтерфейсов используется поля int 0 - отключено меню 1 - показывать меню | 
| 
			 
			#5  
			
			
			
			
		 | ||||
| 
 | ||||
|   Если вдруг предложенный Страдальцем вариант не компилируется (что очень странно), то можно записать то же самое как Код: 
 | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   При Вашем коде ошибка [dcc32 Error] LoginUnit.pas(96): E2015 Operator not applicable to this operand type При Коде Страдальца ошибка не при компиляции, а выдается программой Cannot access field 'MClose' as type Boolean | 
| 
			 
			#7  
			
			
			
			
		 | ||||
| 
 | ||||
|   Ну а так попробуйте? Цитата: 
 | 
| 
			 
			#8  
			
			
			
			
		 | |||
| 
 | |||
|   Спасибо работает Если не трудно объясните выражение ADOQueryFase.FieldValues['MClose'] = 1; Не могу понять логику ADOQueryFase.FieldValues['MClose'] принимает значение 0 или 1 т.е. MainForm.MClose.Visible:= 0=1 или MainForm.MClose.Visible:= 1=1 | 
| 
			 
			#9  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 выражение 1=1 имеет тип Boolean и значение false, и его можно не только использовать в операторе if, но и присвоить чему-нибудь, тоже имеющему тип Boolean, например, свойству Visible. | 
| 
			 
			#10  
			
			
			
			
		 | |||
| 
 | |||
|   Спасибо всем за помощь |