|
![]() |
#1 |
Banned
|
Было такое свойство у полуфабриката - направление намотки - которое на каждом этапе производственного процесса менялось на противоположное (вроде спина эдакого, с двумя возможными состояниями). Запрограммировал инверсией бита.
Был еще случай, когда целый ряд параметров, выбираемые пользователем, нужно было передавать подряд через 3-4 таблицы из одного модуля в другой. Простое решение - создать по 10 полей в каждой и копировать из одного в другое - совершенно не оптимально. Запаковал все в один длинный int. |
|
![]() |
#2 |
Участник
|
Цитата:
запрограммировать надо было булевым значением. во-первых, индекс можно построить. во-вторых, можно сделать нормальное поле ввода (галочку), не извращаясь с програмимрованием. в-третьих, булево можно нормально использовать при создании новых relation в-четвертых, работа с булевым в аксапте выполняется быстрее. В стандартной Аксапте битовые операции предельно редки. Один из примеров - хранение галочек с отмеченными аналитиками в FixedDim, как eugene egorov говорит. обратите внимание на отличие от примера EVGL 1. работа идет с переменным числом битов. 2. битов не может быть более 32 (потенциально до 64) Последний раз редактировалось mazzy; 15.02.2008 в 22:14. |
|
![]() |
#3 |
Banned
|
Цитата:
Сообщение от mazzy
![]() Извини, конечно. Но это изврат и антипаттерн.
запрограммировать надо было булевым значением. во-первых, индекс можно построить. во-вторых, можно сделать нормальное поле ввода (галочку), не извращаясь с програмимрованием. в-третьих, булево можно нормально использовать при создании новых relation в-четвертых, работа с булевым в аксапте выполняется быстрее. В стандартной Аксапте битовые операции предельно редки. Один из примеров - хранение галочек с отмеченными аналитиками в FixedDim, как eugene egorov говорит. обратите внимание на отличие от примера EVGL 1. работа идет с переменным числом битов. 2. битов не может быть более 32 (потенциально до 64) ![]() Чутье подсказало, что таких характеристик - степеней свободы - может быть не одна. О наличии второй стало известно в середине проекта. Еще о трех похожих стало известно на другом проекте сегодня: печать в положении вверх/низ и вправо/влево. Итого их стало четыре с общим количеством комбинаций 2^4=16, а изменений в коде - чуть. Вот так. |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от EVGL
![]() Не извиняю.
![]() Чутье подсказало, что таких характеристик - степеней свободы - может быть не одна. О наличии второй стало известно в середине проекта. Еще о трех похожих стало известно на другом проекте сегодня: печать в положении вверх/низ и вправо/влево. Итого их стало четыре с общим количеством комбинаций 2^4=16, а изменений в коде - чуть. Вот так. ![]() |
|
![]() |
#5 |
Banned
|
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|