Lotsia PLM: Форум по семейству систем PLM/PDM/TDM/ERP/Workflow

Для специалистов по внедрению систем, профессиональных администраторов и пользователей.
Текущее время: 23 янв 2018, 22:40

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 27 июл 2007, 06:17 
Не в сети
Активный участник
Аватара пользователя

Зарегистрирован: 24 авг 2006, 08:06
Сообщения: 1645
Откуда: 55.745578,37.665825
Благодарил (а): 8 раз.
Поблагодарили: 3 раз.
благодаря динамически формируемым запросам Лоции - для битовых операций можно использовать следующий простой код в связке Лоция->SQL->Лоция
Код:
mask=Set(16384)
byte = AttribGetDefault ( My_Obj , LinkID_0 , byte_atr , 0 )
...
and
прочитать значение бита по маске
byte = Set (if( number(f_ExecSQLSelect_2('select cast('+string(byte)+' as int) & cast('+string(mask)+' as int)' ,'','') )=0,0,1 ))

...
или or-'|' или xor '^'
...
или not
byte = Set ( number(f_ExecSQLSelect_2('select ~cast(byte as tinyint)','','')))

и ведь что приятно - 'преобразование типов' и прочие прелести описаны просто текстом-никаких проблем. а то для нашего типа numeric пришлось бы городить огород если делать все на чистом SQL
2 Крупский
это тоже конечно всем известно но я например раньше не знал об этом
и использовал такой неудобоваримый код как
Код:
byte = Set ( if(abs( Int (byte /mask) - Int (byte  / (mask*2) )*2 )=0,'0','1') )
...and
byte = Set ( byte-mask )
...or
byte = Set ( byte+mask)

так что делиться скорее полезно чем вредно :wink: в смысле - не бесполезно :wink:

_________________

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный



Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB