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. Codeforces 907 矩阵编号不相邻构造 团操作状压DFS

    A. #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #de ...

  2. 计蒜客 蓝桥模拟 F. 结果填空:数独

    代码: #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream& ...

  3. [git]git的基本原理|git branch|git

    继续写一篇git的文章,介绍下git的历史和基本原理. 介绍下git的历史,据砖家考究,遥想当年,linux的创始人,牛人李纳斯,开发linux用的版本控制工具BitKeeper,出于公益或友好, 是 ...

  4. [编译原理]用BDD方式开发lisp解释器(编译器)|开发语言java|Groovy|Spock

    lisp是一门简单又强大的语言,其语法极其简单: (+ 1 2 ) 上面的意思 是:+是方法或函数,1 ,2 是参数,fn=1+2,即对1,2进行相加求值,结果是:3 双括号用来提醒解释器开始和结束. ...

  5. u-boot makefile $$

    define filechk_uboot.release    echo "$(UBOOTVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setl ...

  6. mac下安装 rabbitMq

    1.安装HomeBrew,如果已经安装这一步跳过. 2.用brew install rabbitmq指令即可进行rabbitmq服务的自动安装. 3.安装完成之后会出现一下提示:   rabbit安装 ...

  7. 【前端】JavaScript基础

    1 什么是js JavaScript是一种运行在浏览器中的解释型的编程语言 1.1 js引用 使用<script></script>标签 <script src=&quo ...

  8. day4 切片,数据类型

    day5: 序列,可以使用切片 序列类型:字符串,列表,元祖 特点:可以通过坐标来取值,坐标从0开始 >>> s = "agfdagsgsdgsa" >&g ...

  9. 对Lockr的初步认识

    1.Lockr.set - 参数: [ key, value ] {String, Number, Array or Object} 设置一个指定的值,可以是任意类型 2.Lockr.get - 参数 ...

  10. Linux学习-利用inotify和rsync实现数据的实时同步

    一.inotify简介 1.inotify介绍 异步的文件系统事件监控机制,利用事件驱动机制,而无须通过诸如cron等的 轮询机制来获取事件,linux内核从2.6.13起支持 inotify,通过i ...