Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.27;
Скачать: CL | DM;

Вниз

Как сократить   Найти похожие ветки 

 
Stif   (2008-06-25 15:18) [0]

Как записать алгоритм сравнения по-другому. Пробывал через In но не получилось (... in [-2..0]).

if Assigned(ModelsPanel) then
   with ModelsPanel.FDataLinkModel do
     Enabled := (Field.AsInteger <> -1) and (Field.AsInteger <> -2)
       and (Field.AsInteger <> 0);


 
Palladin ©   (2008-06-25 15:19) [1]

<-2 or >0


 
ciborg   (2008-06-25 15:41) [2]

Enabled := not (Field.AsInteger + 2 in [0..2]);


 
Игорь Шевченко ©   (2008-06-25 15:44) [3]


> Enabled := (Field.AsInteger <> -1) and (Field.AsInteger
> <> -2)
>        and (Field.AsInteger <> 0);


я бы так оставил


 
MBo ©   (2008-06-25 15:50) [4]

Enabled := Abs((Field.AsInteger + 1) > 1

но это непонятно с первого взгляда, что может быть не очень хорошо с точки зрения поддержки


 
Игорь Шевченко ©   (2008-06-25 16:07) [5]


> Enabled := Abs((Field.AsInteger + 1) > 1


а за такое бы убил :)


 
Тын-Дын ©   (2008-06-25 16:14) [6]

var
 En: Boolean;
 i: integer;
begin
 i := 0;
 En := not (-i in [2,1,0]);
 if en then ShowMessage("Ok");


 
Игорь Шевченко ©   (2008-06-25 16:18) [7]

извращенцы


 
ciborg   (2008-06-25 16:21) [8]

Еще вот так можно:
 
 case Field.AsInteger of
   -2, -1, 0: Enabled := False;
   else
     Enabled := True;
 end;

Если много условий, идущих не по порядку, код сокращается.


 
Anatoly Podgoretsky ©   (2008-06-25 17:01) [9]

> ciborg  (25.06.2008 15:41:02)  [2]

Field = 300
Не говоря уже о том, что затуманиваешь алгоритм, по мозгам бьешь, насилие.


 
Anatoly Podgoretsky ©   (2008-06-25 17:01) [10]

> Игорь Шевченко  (25.06.2008 16:07:05)  [5]

А за [2] с многократным воскрешением.


 
ciborg   (2008-06-25 17:08) [11]

:)
Человек спрашивал как по-другому записать.


 
Anatoly Podgoretsky ©   (2008-06-25 17:27) [12]

> ciborg  (25.06.2008 17:08:11)  [11]

Это он зря, он же не знает, насколько тут продвинутый форум, столько разного насоветуют, глаза разбегутся.
Лучше бы объяснил зачем сокращать, когда это самая наглядная форма, сразу все видно без ломания мозгов или объяснения от разработчика.



Страницы: 1 вся ветка

Текущий архив: 2008.07.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1212860862
WOWA
2008-06-07 21:47
2008.07.27
Какой сервер выбрать?


15-1213197747
Limited
2008-06-11 19:22
2008.07.27
Фича встраиваемая в Delphi IDE для форматирования комментариев


15-1213187241
Dennis I. Komarov
2008-06-11 16:27
2008.07.27
MS SQL Server 2005 EE


2-1214306845
kzmd
2008-06-24 15:27
2008.07.27
Вот хотелось бы начать , но незнаю как начать !


15-1213034385
cosinus
2008-06-09 21:59
2008.07.27
Подскажите идею по реализации задачи.