http://blog.csdn.net/delphi308/article/details/9906147

delphi开发实例:保存字体设置的方法

2013-08-11 22:37 446人阅读 评论(0) 收藏 举报
 分类:
Delphi(59) 
记得一年前软件里面用到字体设置时,想把字体信息保存到配置文件里面都是把相应的属性分开来保存一下,这样一直使用,最近想delphi自己的dfm文件也同样会保存这些信息,它又是怎样保存的呢。。

用记事本打开dfm文件会看到类似这样的文本:

object Label1: TLabel 
Left = 24 
Top = 32 
Width = 140 
Height = 46 
Caption = #20445#23384#23454#20363 
Font.Charset = GB2312_CHARSET 
Font.Color = clBlue 
Font.Height = -35 
Font.Name = #24494#36719#38597#40657 
Font.Style = [fsBold, fsUnderline, fsStrikeOut] 
ParentFont = False 
end

自己写了个直接保存成文件文件的,记录一下

unit Font2String;

interface

uses 
Classes, SysUtils, Dialogs, Graphics;

function Font2File(AFont: TFont; APath: string): Boolean; 
function File2Font(APath: string; AFont: TFont): Boolean;

implementation

function Font2File(AFont: TFont; APath: string): Boolean; 
var 
FD: TFontDialog; 
begin 
Result := False; 
FD := TFontDialog.Create(nil); 
try 
FD.Font.Assign(AFont); 
WriteComponentResFile(APath, FD); 
Result := True; 
finally 
FD.Free; 
end; 
end;

function File2Font(APath: string; AFont: TFont): Boolean; 
var 
FD: TFontDialog; 
begin 
Result := False; 
FD := TFontDialog.Create(nil); 
try 
ReadComponentResFile(APath, FD);//如果此外为nil,下面的注册去掉 
AFont.Assign(FD.Font); 
Result := True; 
finally 
FD.Free; 
end; 
end;

//initialization 
//RegisterClass(TFontDialog);

end.

例子:

procedure TForm1.Button1Click(Sender: TObject); 
begin 
Font2File(Label1.Font, 'd:\Font.fnt');//把字体保存成文件 
end;

procedure TForm1.Button2Click(Sender: TObject); 
begin 
File2Font( 'd:\Font.fnt', Label2.Font);//从文件里读取字体 
end;

delphi开发实例:保存字体设置的方法的更多相关文章

  1. IOS开发中UIFont字体设置

    我们在开发中很多时候要设置UIlabel,UIbutton,UItextfield的字体,这个时候我们就需要用到UIFont,下面简单介绍一下UIFont的用法,仅供参考. UIFont用于获取和设置 ...

  2. VS2010开发环境最佳字体及配色方法

    Fixedsys Excelsior 3.01 1. 首先下载字体:http://www.fixedsysexcelsior.com/   脚本之家字体下载 2. 安装字体:control panel ...

  3. SecureCRT学习之道:SecureCRT经常使用快捷键设置与字体设置方法

    1:假设不想每次登陆都输入password,能够在你打开的session里邮件session option->login action 选中automate logon 双击ogin 和assw ...

  4. SecureCRT学习之道:SecureCRT常用快捷键设置与字体设置方法

    1:如果不想每次登陆都输入密码,可以在你打开的session里邮件session option->login action 选中automate logon 双击ogin 和assword分别输 ...

  5. 【转】分享前端开发中通过js设置/获取cookie的一组方法

    在前端开发中,通常都需要获取并记录用户的某些操作设置,这样可以使用户下一次访问网站时不用进行重复的调整设置同一个功能. js方法的完整代码如下: var cookie = { set:function ...

  6. delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例

    1.TClientDataSet控件 通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据.一般情况下,TClie ...

  7. Qt开发的应用记录读取用户习惯设置的方法

    Qt开发的应用记录读取用户习惯设置的方法 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/w ...

  8. win7无法保存打印机设置(错误0x000006d9)解决方法

    解决win7打印机共享出现‘无法保存打印机设置’操作无法完成(错误0x000006d9),接下来与大家分享下解决方法, 找到windows firewall服务,启用即可 ============== ...

  9. Android实例-Delphi开发蓝牙官方实例解析(XE10+小米2+小米5)

    相关资料:1.http://blog.csdn.net/laorenshen/article/details/411498032.http://www.cnblogs.com/findumars/p/ ...

随机推荐

  1. UIDynamic物理引擎

    iOS开发拓展篇—UIDynamic(简单介绍) 一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟 ...

  2. 2018-8-10-dotnet-core-编程规范

    title author date CreateTime categories dotnet core 编程规范 lindexi 2018-08-10 19:16:52 +0800 2018-05-0 ...

  3. 20140919-FPGA-有效观察设计中的差分信号

    今天回来坐在电脑前,打开Xilinx的Documentation Navigator寻找NCO相关的User Guide,但是在不经意中发现了一个这样的IP,我感觉对于观察设计中的查分信号十分有用.之 ...

  4. 欧拉降幂公式 Super A^B mod C

    Description Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,C<=100000 ...

  5. QueryDSL通用查询框架学习目录

    转载自恒宇的博客 https://www.jianshu.com/p/99a5ec5c3bd5

  6. 自定义指令 限制input 的输入位数

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  7. HTML与CSS中的颜色与单位个人分享

    颜色与单位 Web安全色有216中其中色彩有210中,非色彩6中 前景色与背景色 前景色就是设置字体的颜色 背景色就是为指定元素设置背景色 - 浏览器默认背景色的颜色为透明色 颜色的命名 1.使用单词 ...

  8. 为什么要使用puppet 及初步接触

    为什么要使用puppet 及初步接触   1.简介 云计算环境下,密度高,机器数量多,还要求弹性和伸缩性,这对于运维提出更高的要求.系统管理员需要经常安装操作系统,对系统参数进行配置和优化,对人员进行 ...

  9. darknet-yolov3模型预测框size不正确的原因

    问题描述:预测框的中心位置正常,但是预测的框的width和height不正常. 解决方法:使得训练的配置cfg和测试中cfg的输入width, height, anchorbox保持一致! 问题是我在 ...

  10. Android App学习计划

    模块化 Json Gson Fastjson Jackson EventBus GreenDao Flutter ButterKnife Dagger okhttp Rxjava/Rxandroid ...