Форум: "Основная";
Текущий архив: 2004.03.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c