IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> String в TFontStyles
сообщение
Сообщение #1


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Привет всем.
Вопрос такой, читаю из файла конфигурации параметры шрифта TRichEdit, итого параметры в строковых переменных. Параметры - шрифт, стиль шрифта, размер. Когда доходит до присваивания этих параметров РичЭдиту, то происходит несовпадение типов String и TFontStyles. Так вот, как можно "конвертировать" строку строкового типа, в которой будет [fsBold] или [fsBold,fsUnderline], например, в тип TFontStyles, чтобы можно было это присвоить свойству стиля текста RichEdit?


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






RTTI в чистом виде:

Uses {..., } TypInfo;

procedure TForm1.Button1Click(Sender: TObject);
var
s, st: string;
ifs: TFontStyle;

ATypeInfo: PTypeInfo;
f: TFontStyles;

begin
s := '[fsBold,fsUnderline]'; // Это - твоя строка
ATypeInfo := TypeInfo(TFontStyle);

f := []; // Совсем забыл, это тоже надо, мало ли что...
for ifs := Low(TFontStyle) to High(TFontStyle) do begin
if pos(GetEnumName(ATypeInfo, ord(ifs)), s) > 0 then include(f, ifs);
end;
Memo1.Font.Style := f; // F содержит нужные стили. Для теста проверял на TMemo
end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.09.2025 14:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name