Вниз
Скачать: CL | DM;

Как значение типа множество преобразовать в число или строку?   Найти похожие ветки 

 
tria ©   (2003-10-03 11:27) [0]

Задача на примере: есть значение типа TFontStyles. Необходимо сохранить его в виде строки. Сейчас я делаю так:
var p:^byte;
fs:TFontStyles;
begin
p:=Addr(fs);
Result:=IntToStr(p^);
end;

Может есть какой-то более правильный путь?


 
Rem ©   (2003-10-03 11:42) [1]

А что в строке увидеть хочешь: соответствующие целочисленные значения или текстовые наименования из Delphi?


 
tria ©   (2003-10-03 11:50) [2]

Мне нужно сохранить в строку, чтобы затем прочитать и преобразовать опять в множество.
Что-то типа сохранения настроек.


 
Skier ©   (2003-10-03 11:53) [3]

Сохрани в таком виде - "0101"


 
tria ©   (2003-10-03 12:12) [4]

А как преобразовать к такому виду? И чем это лучше моего способа?


 
Skier ©   (2003-10-03 12:16) [5]

>tria © (03.10.03 12:12) [4]

> И чем это лучше моего способа?

Он хуже ! :)
Для твоего способа тебе нужно использовать работу с отдельными битами...


 
tria ©   (2003-10-03 12:21) [6]

Если честно, то непонял.
В посте (1) я получил строку. Чтобы преобразовать ее во множество, достаточно сделать следующее:
p:=Addr(fs);
p^:=StrToInt(s1);

Только я не знаю структуру, в которой Делфи хранит множества, т.е. надо знать когда объявить p:^byte, а когда p:^word.


 
Юрий Федоров ©   (2003-10-03 12:28) [7]

Наверняка это чьё-то свойство (например шрифта :-)))
тогда
можно использовать SetToString из TypInfo


 
tria ©   (2003-10-03 12:41) [8]

Юрий Федоров>
К сожалению не понял. И SetToString+F1 не помогло. Не могли бы чуть понятнее объяснить/подсказать, или набросок кода сделать?
Функцией TypInfo никогда не пользовался и не разбирался.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-40415
Bezpal
2003-10-03 08:56
2003.10.13
Люди не знаете, есть ли где нить русский help для Delphi?


1-40380
Aquamarin
2003-10-01 12:36
2003.10.13
Освобождение памяти после отработки указателей


7-40687
mox
2003-07-29 15:38
2003.10.13
Как можно запустить программу до старта Windows?


1-40507
scorpi
2003-10-01 06:27
2003.10.13
Форма


7-40686
SZap
2003-07-29 09:44
2003.10.13
Работа с LPT




   Наверх