ini-файл

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Вишенка_25
незнакомец
Сообщения: 1
Зарегистрирован: 17.10.2012 20:14:24

ini-файл

Сообщение Вишенка_25 »

Очень нужна ваша помощь. Необходимо записать, а после прочесть в ini-файл Тип шрифта метки ( Label ) . Знаю как записывать туда целые значения переменных и строковые, но как другие не понимаю. Как это делается?
Аватара пользователя
B4rr4cuda
энтузиаст
Сообщения: 693
Зарегистрирован: 28.12.2007 06:48:35

Сообщение B4rr4cuda »

Любой шрифт характеризуется именем, размером, параметрами стиля.. а это уже типы, которые можно смело сохранять и загружать..
andrey_k3
новенький
Сообщения: 22
Зарегистрирован: 17.05.2012 09:52:32

Сообщение andrey_k3 »

Если я правильно понял, то проблема как раз с сохранением стиля шрифта.
На Delphi World стречалась статья по конвертированию TFontStyle в Integer и наоборот:

Код: Выделить всё

type
   pFontStyles = ^TFontStyles;
   pInteger = ^integer;

 function FontStylesToInteger(const Value : TFontStyles): integer;
 begin
   Result := pInteger(@Value)^;
 end;

 function IntegerToFontStyles(const Value : integer): TFontStyles;
 begin
   Result := pFontStyles(@Value)^;
 end;

Тогда для сохранения стиля пишем:

Код: Выделить всё

ini.WriteInteger('options','labelstyle',FontStylesToInteger(Label1.Font.Style));

А для чтения:

Код: Выделить всё

Label1.Font.Style:= IntegerToFontStyles(ini.ReadInteger('options','labelstyle',0));
alexey38
долгожитель
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Сообщение alexey38 »

andrey_k3 писал(а):На Delphi World стречалась статья по конвертированию TFontStyle в Integer и наоборот:


Я делал похожим образом, только приводил без указателей, и приводил не к integer, а к byte. Т.к. в множестве стилей мало вариантов.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Код: Выделить всё

var F: TFont;
    iStyle: Integer;
begin
  iStyle := Integer(F.Style);
  F.Style := TFontStyles(iStyle);
end;
Ответить