Форум: "Основная";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
ВнизМожно ли сохранять и считывать TFont из файла Найти похожие ветки
← →
Гриха (2005-08-16 04:18) [0]Здравствуйте, уважаемые Мастера!
Написал миниатюрные экранные часы с ремайндером.
Для хранения данных о настройках пользователя использовал файл опций.
При каждом закрытии программы в него производится запись, а при открытии она считывается
Записывается примерно такая запись:
type opts = record
dt:TDateTime; \\ Время ремайндера
op:Boolean; \\ Прозрачность фона вокаруг часов
xy:TPoint; \\ Положение на экране
f:TFont; \\ шрифт, которым отображаются часы
end;
var
o:opts
Bсе работает, все применяется, кроме шрифта. А шрифт - по умолчанию. Применяю таким вот образом:
label1.font:=o.f;
Помогите, пожалуйста.
PS^ Здесь могут быть ошибки синтаксиса - Дельфы под рукой нет.
← →
Юрий Зотов © (2005-08-16 05:18) [1]Сама Delphi ведь сохраняет фонты? Сохраняет. Значит, и нам можно.
Измените у формы любые свойства фонта, а потом просмотрите форму, как текст - и увидите, что и как там сохраняется.
← →
Гриха (2005-08-16 05:24) [2]Спасибочки. Попробую...
← →
Gydvin © (2005-08-16 06:45) [3]function fonttostr(font:tfont):string;
var
s,p:string;
begin
if font.Style=[] then p:="[]";
if font.Style=[fsBold] then p:="[fsBold]";
if font.Style=[fsItalic] then p:="[fsItalic]";
if font.Style=[fsBold,fsItalic] then p:="[fsBold,fsItalic]";
s:=s+"name="+font.Name+"*"+
"color="+colortostring(font.Color)+"*"+
"Size="+inttostr(font.size)+"*"+
"Height="+inttostr(font.Height)+"*"+"Style="+p;
result:=s;
end;
function strtofont(s:string):tfont;
var
r:tstringlist;
p:string;
begin
if s<>"" then begin
result:=tfont.Create;
r:=tstringlist.Create;
r.Sorted:=false;
while pos("*",s)>0 do begin
r.Add(copy(s,1,pos("*",s)-1)) ;
delete(s,1,pos("*",s)) ;
end;
if s<>"" then begin
r.Add(s);
s:="";
end;
result.Name:=r.Values["name"];
result.Color:=stringtocolor(r.Values["color"]);
result.Height:=strtoint(r.Values["Height"]);
result.Size:=strtoint(r.Values["size"]);
p:= r.Values["style"];
if p="[]" then result.Style:=[] ;
if p="[fsBold]" then result.Style:=[fsBold];
if p="[fsItalic]" then result.Style:=[fsItalic];
if p="[fsBold,fsItalic]" then result.Style:=[fsBold,fsItalic];
// result.Charset:=DEFAULT_CHARSET;
// result.Pitch:=fpDefault;
r.Free;
// result.Free;
end;
end;
← →
afanasic (2005-08-16 08:56) [4]Сохраняй отдельно FontName, Size и Bold... меньше головняков, а потом устанавливай...
← →
Пип (2005-08-16 09:02) [5]Hierarchy
TObject
TPersistent
TGraphicsObject
TFont
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c