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

Вниз

Можно ли множество (Set Of) перевести в Integer?   Найти похожие ветки 

 
KSergey ©   (2003-05-05 13:30) [0]

Извиняюсь за кучу вопросов... Вот в Си я бы это знаю как, а тут - никак не пойму.
Т.е. что хочется: сохранить состояние этого множества, а затем - считывать. Например, Font.Style чтобы не проверять каждое значение и в несколько полей распихивать -по или в одно) - вот бы во что-то такое перевести с установленными битами в нужном месте, например - и готово. Причем ведь как-то так это все и хранится, но никак не могу достучаться до этого значения...


 
MBo ©   (2003-05-05 13:33) [1]

Если множество в пределах 8 элементов, то оно приводится к байту.


 
evvcom ©   (2003-05-05 14:08) [2]

Можно через приведение типов, но очень многое зависит от количества элементов множества. Если до 32 (т.е. 32 бита = 4 байта), то можно привести к четырехбайтовому типу (Integer, DWORD, Pointer и т.д.) PDWORD(@MySet)^. И соответственно если до 16 или 8 элементов в множестве, то приводить к WORD или BYTE.
Также можно добиться того же через вариантные записи. Но в каком месте что удобнее, решай сам.


 
KSergey ©   (2003-05-05 14:21) [3]

Ух ты, оказывается приведение типов работает здесь только при соответствии размеров...

Так, например,

var i: Byte;
i := Byte(Font.Style); - работает

var i: Integer;
i := Integer(Font.Style); - не хочет компилироваться

Впрочем, следующий вариант вполне проходит:

i := Integer(Byte(Font.Style));

Всем большое спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
6-59827
AlexeyMir
2003-03-22 13:01
2003.05.19
Лок-ая сеть


1-59785
Garmahis
2003-05-06 13:59
2003.05.19
Типизированный файл


1-59702
miha po
2003-05-07 22:36
2003.05.19
АХТУНГ !!! ХЕЛП !!! qtintf70.dll домагаеться...


1-59747
Max1111
2003-05-06 10:58
2003.05.19
Вопрос по конструированию


8-59817
Sterh
2003-02-07 21:25
2003.05.19
MP3