ini-файл

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

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

ini-файл

Сообщение Вишенка_25 » 17.10.2012 20:21:03

Очень нужна ваша помощь. Необходимо записать, а после прочесть в ini-файл Тип шрифта метки ( Label ) . Знаю как записывать туда целые значения переменных и строковые, но как другие не понимаю. Как это делается?
Вишенка_25
незнакомец
 
Сообщения: 1
Зарегистрирован: 17.10.2012 20:14:24

Re: ini-файл

Сообщение B4rr4cuda » 18.10.2012 00:35:29

Любой шрифт характеризуется именем, размером, параметрами стиля.. а это уже типы, которые можно смело сохранять и загружать..
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: ini-файл

Сообщение andrey_k3 » 18.10.2012 00:48:10

Если я правильно понял, то проблема как раз с сохранением стиля шрифта.
На 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));
andrey_k3
новенький
 
Сообщения: 22
Зарегистрирован: 17.05.2012 09:52:32

Re: ini-файл

Сообщение alexey38 » 18.10.2012 04:20:35

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


Я делал похожим образом, только приводил без указателей, и приводил не к integer, а к byte. Т.к. в множестве стилей мало вариантов.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: ini-файл

Сообщение sign » 18.10.2012 07:21:59

Код: Выделить всё
var F: TFont;
    iStyle: Integer;
begin
  iStyle := Integer(F.Style);
  F.Style := TFontStyles(iStyle);
end;
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 226

Рейтинг@Mail.ru