Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 961

•  TDictionary Custom Sort  6 067

•  Fast Watermark Sources  5 867

•  3D Designer  8 691

•  Sik Screen Capture  6 191

•  Patch Maker  6 623

•  Айболит (remote control)  6 620

•  ListBox Drag & Drop  5 477

•  Доска для игры Реверси  95 464

•  Графические эффекты  6 827

•  Рисование по маске  6 020

•  Перетаскивание изображений  5 005

•  Canvas Drawing  5 375

•  Рисование Луны  5 101

•  Поворот изображения  4 640

•  Рисование стержней  3 277

•  Paint on Shape  2 519

•  Генератор кроссвордов  3 411

•  Головоломка Paletto  2 724

•  Теорема Монжа об окружностях  3 512

•  Пазл Numbrix  2 313

•  Заборы и коммивояжеры  2 999

•  Игра HIP  1 956

•  Игра Go (Го)  1 873

•  Симулятор лифта  2 220

•  Программа укладки плитки  1 937

•  Генератор лабиринта  2 376

•  Проверка числового ввода  2 063

•  HEX View  2 386

•  Физический маятник  2 018

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Сохранить объект TFont в реестре




uses Registry;

procedure SaveFontToRegistry(Font : TFont; SubKey : string);
var
  R : TRegistry;
  FontStyleInt : byte;
  FS : TFontStyles;
begin
  R:=TRegistry.Create;
  try
    FS:=Font.Style;
    Move(FS,FontStyleInt,1);
    R.OpenKey(SubKey,True);
    R.WriteString('Font Name',Font.name);
    R.WriteInteger('Color',Font.Color);
    R.WriteInteger('CharSet',Font.Charset);
    R.WriteInteger('Size',Font.Size);
    R.WriteInteger('Style',FontStyleInt);
  finally
    R.Free;
  end;
end;

function ReadFontFromRegistry(Font : TFont; SubKey : string) : boolean;
var
  R : TRegistry;
  FontStyleInt : byte;
  FS : TFontStyles;
begin
  R:=TRegistry.Create;
  try
    result:=R.OpenKey(SubKey,false);
    if not result then
      exit;
    Font.name:=R.ReadString('Font Name');
    Font.Color:=R.ReadInteger('Color');
    Font.Charset:=R.ReadInteger('CharSet');
    Font.Size:=R.ReadInteger('Size');
    FontStyleInt:=R.ReadInteger('Style');
    Move(FontStyleInt,FS,1);
    Font.Style:=FS;
  finally
    R.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if FontDialog1.Execute then
    SaveFontToRegistry(FontDialog1.Font, 'Delphi Kingdom\Fonts');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  NFont : TFont;
begin
  NFont:=TFont.Create;
  if ReadFontFromRegistry(NFont,'Delphi Kingdom\Fonts') then
  begin
    //здесь добавить проверку - существует ли шрифт
    Label1.Font.Assign(NFont);
    NFont.Free;
  end;
end;








Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте