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

Вниз

Sets to Int   Найти похожие ветки 

 
Ш-К   (2004-02-26 16:06) [0]

Есть множество:
TMySets = set of (Set0, Set1,... , Set31);
Переменная этого типа, если я ничего не путаю, может содержать произвольный набор елементов множества от [] до всех.

Как конвертнуть такую переменную в integer (4 ,байта).


 
Sandman25+1   (2004-02-26 16:08) [1]

Integer(myvar)


 
Sandman25+1   (2004-02-26 16:08) [2]

Если не сработает, то через absolute


 
WebErr ©   (2004-02-26 16:12) [3]

Сразу работай с таким множеством как с Integer, а лучше как с LongWord. Используй битовые операции or, and, shr, shl и not.
Используй 1 shl i, где i - это порядок элемента во множестве (своеобразный индекс от 0 до 31). В твоём подходе ты получишь "Гроб на колёсиках"!!! :))))


 
PVOzerski ©   (2004-02-26 16:13) [4]

Размер множеств в байтах зависит от типа-диапазона. Советую выяснять его через sizeof. Исходя из этого, нужно и решить, вместится ли содержимое set"а в integer. Если вместится - годятся move, absolute, записи с вариантными полями.


 
Ш-К   (2004-02-26 16:26) [5]

Работа нужна с множеством (<=32, SizeOf=4)
Приведение нужно для хранения в базе.
Простым кастом всё конвертится в обе стороны.
Всем спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
14-25937
Knight
2004-02-13 11:38
2004.03.09
Кто каким шампунем или мылом моет голову...


14-25918
BlackBaracuda
2004-02-15 19:26
2004.03.09
FindWindowEx


7-25958
Davey
2003-12-19 15:53
2004.03.09
Срочно!!!!!! SOS!!! ??D: Windows winlogon.exe ??????????


1-25767
Alexis
2004-02-26 15:27
2004.03.09
Win элементы в Turbo Pascal и Free Pascal


3-25704
Vlad
2004-02-10 13:44
2004.03.09
Снова про удаление дублей в таблице