首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Delphi查找系统字体

作为一个云计算领域的专家,我可以告诉你,Delphi是一种用于开发跨平台应用程序的编程语言和集成开发环境(IDE)。它是由Embarcadero Technologies开发的,并且广泛应用于Windows、macOS和Linux操作系统上。

在Delphi中,查找系统字体可以通过使用TFont类和Screen.Fonts属性来实现。TFont类允许你创建一个字体对象,并设置其属性,如名称、大小和颜色等。Screen.Fonts属性则提供了一个包含系统中所有可用字体名称的字符串列表。

以下是一个简单的示例代码,展示了如何使用Delphi查找系统字体:

代码语言:delphi
复制
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to Screen.Fonts.Count - 1 do
  begin
    ListBox1.Items.Add(Screen.Fonts[I]);
  end;
end;

在这个示例中,当用户单击按钮时,程序将遍历Screen.Fonts列表,并将每个字体名称添加到一个TListBox控件中。

需要注意的是,Delphi本身并没有提供查找系统字体的特定API或函数。因此,查找系统字体的方法可能因操作系统和Delphi版本而异。上述示例代码适用于Windows操作系统,并使用了Delphi的VCL(Visual Component Library)组件库。

总之,使用Delphi查找系统字体可以通过遍历Screen.Fonts属性来实现。这种方法适用于Windows操作系统,并使用了Delphi的VCL组件库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

详细设计说明书编写规范「建议收藏」

第1章 引言   1.1 目的   使项目详细设计说明书的编写规范化,从而规范软件管理。 尽可能详细地描述程序的各成份的设计考虑,以利于编制程序。   [此处加入编写目的]   1.2 背景   说明该软件系统名称,开发者,详细设计原则和方案   [此处加入项目背景资料]   1.3 参考资料   列出有关的参考资料名称,作者,发表日期,出版单位   [此处加入参考资料]   1.4 定义   列出本文件中专用的术语,定义和缩写词   [此处加入术语和缩写词]   第2章 程序系统的组织结构   2.1 运行环境(编程协定)   [此处加入运行环境]   2 .1.1 操作系统&数据库系统   列出系统运行的有关操作系统&数据库系统的名称,版本号,对应版权单位   [此处加入操作系统]   [此处加入数据库系统]   2 .1.2 编程工具   列出开发此系统的所需的主要编成工具的名称,版本号,对应版权单位,并简述其特点   [此处加入编程工具]   2 .1.3 编辑、调试、联接程序   [此处加入编辑、调试、联接程序]   2 .1.4 编译工具   [此处加入编译工具]   2 .1.5 模拟、仿真数据   模拟数据使用过去的真实数据,数据如下:   [此处加入数据]   过程如下:   [此处加入过程]   2 .1.6 诊断、测试程序   [此处加入诊断、测试程序]   2 .1.7 检测程序   [此处加入检测程序]

02

Delphi 语言「建议收藏」

自1995年Borland公司发布Delphi 1.0以来,Delphi受到很多开发者的亲睐,到1999年发布Delphi5,Delphi以其开发快捷、控件丰富、易于上手等优势吸引了众多的开发者,用户人数达到高潮,一度超越Visual Studio。可是好景不长,在推出Delphi7之后不久,Borland公司也走向衰败,最终被人收购,仅卖了区区7500万美元。 Borland公司倒闭的主要原因是公司财务出现困难,内部矛盾上升。但我认为深层次的原因是产品定价死板且价格过高,记得当时一套Delphi正版要卖68000人民币,而同期的Visual Studio仅卖一万多人民币。过高的定价导致很多人放弃使用正版用盗版。这可能是Borland公司财务困难的主要原因。 一、倒闭后的版本变迁 Borland公司倒闭后,先是到易博龙手中,再转到微软,最后到Embarcadero手中。Borland的最后版本是Delphi7。之后有Delphi2005到Delphi2010,这些版本基本不受Delphi开发者关注,因为D7就用得很好。Embarcadero推出DelphiXE,版本升得很快,目前已经到了XE10.2。并在XE5开始支持手机开发。引起一些Delphi的关注。 二、Delphi目前的用户人群 Borland公司倒闭后,导致很多Delphi爱好者信心产生动摇,加之Jave和.net兴起,许多开发者纷纷转向,放弃Delphi,Delphi用户群体急剧流失。经过若干年后,剩下的Delphi开发者估计只剩下三类人: 1、业余开发者,转向其他开发工具比较困难的人; 2、 Delphi死粉,这类人很少,程序员毕竟要吃饭,不会有人死抱着Delphi失业的,所谓死粉应该还是那些不愿意或有困难转向的人; 3、 手头有大量已有Delphi系统,无法全部重写,只能留在Delphi的人。 年轻的开发人员基本上不进入Delphi,大家都知道Delphi是一个没落的工具,学了也不好找工作,干脆不进来。所以,到目前,Delphi的开发者基本上是老司机。我曾去参加过一次Delphi XE的新版本发布会,参会的人基本上都在30岁以上,这还是好几年前。所以,Delphi可以说是后继无人。 老司机们的年龄最小估计也在35岁左右了,新人不进来,这些人将会在五年十年后淡出编程,大部分人到了这个年龄基本上想混个一官半职,脱离Coding的苦海。所以,Delphi命不长矣。 三、Delphi用户目前的困境 1、硬件及操作系统的升级让用户无法停留的D7上 大多数继续使用Delphi的人基本上仍在使用Delphi6或Delphi7的版本,后者人数较多。Delphi几经转手,继D7之后也出了一些版本,什么Delphi2005.net、2009、2010到现在有XE,XE都到十了。让老司机们无法继续留在D7的原因主要是操作系统及计算机硬件的升级,Delphi7之前的版本在XP 32位系统下运行很好,但到后面的Win7及64位系统就不灵了,加以对多核CPU的支持也没有。XP已经不被微软支持等。这样又迫使部分人离开Delphi,剩下的老司机考虑往XE上寻求升迁老的系统。 2、XE对Windows开发支持不好 从Delphi XE最新的版本取向来看,Embarcadero似乎更专注于移动开发,最新的版本还想走向Linux,而放弃对Windows的支持。D6和D7只专注于Windows上的开发,现在XE要同时支持Windows、Android、IOS和Linux,可谓战线拉得太长。对Windows的开发支持感觉越来越差。要知道现在主要用户是老司机,老司机走老路,EXE+DLL,他们要把老系统迁到新工具下,才能去继续按老方法使用Delphi的新功能,开发Android、IOS和Linux,但XE好象一到DLL就不行,这就不能解决老司机们的后顾之忧,老司机们的后顾之忧就是要把他们的那些旧坛坛罐罐搬到新的XE上面来,没有解决这个之前,他们不会心思去用XE的新功能。 另外,Delphi写Android、IOS和Linux不就是为老司机们准备的吗,新司机谁他娘的还用Delphi这破东西呢,何况Android、IOS和Linux下本身就有很多开发工具都是开源免费的,又正宗又原生态、又成熟又用者众,Delphi真是一点优势都没有,除了让那些只会Delphi又不愿离开Delphi的老司机用,还有谁用呢。 再说,用Delphi开发Android和IOS永远会落在别人屁股后面。因为Android是Google的,IOS是苹果的,这两家都有自己的开发工具,当Android和IOS升级时,人家自己系统立即支持新看到本,而Delphi还要等到Embarcadero是否

02

Delphi教程推荐

非常适宜Delphi初学者。 选择Delphi开发同学的眼光是不错的, 由于使用Delphi开发应用软件可以提高编译的效率, 前提是你要好好学习Delphi教程, 对你以后的开展肯定有很大帮助的。   Delphi(Delphi培训)是Borland公司研制的新一代可视化开发工具, 它应用范围非常广, 无论是Windows系统还是LINUX系统上都能完美运行。   书名:《Delphi2005程序设计教程》  作/译者:刘瑞新  出版社:机械工业出版社  出版日期:2005年07月  内容提要  本Delphi教程以Delphi2005为言语环境, 以程序文语结构作为主线, 面向对象的程序设计, 建立用户界面, 菜单、多选项卡的设计, 数据库应用程序开发根本概述, 数据控制组件, 应用窗体维护数据, 使用SQL结构化查询言语, Client/Server数据库应用程序开发, 适宜教师课堂教学和先生自学。 并增加了上机实训实验、数据库应用程序实例等外容, Delphi教程适宜作为初等院校计算机及相关专业先生的教材, 也可以作为各类计算机培训班的教学用书。   目录  前言  2. 2标识符与保留字、指令字  2. 5运算符和表达式  2. 1顺序结构  3. 2选择结构  3. 4过程与函数  第4章初级数据类型  4. 1类型定义语句  4. 4集合类型  4. 7指针类型  第5章面向对象的程序设计  5. 3类的方法  5. 4类的封装与继承  5. 5异常处置  第6章建立用户界面  6. 1窗体对象  DELPHI6. 3常用组件的用法  第7章菜单、多选项卡的设计  第8章数据库应用程序开发根本概述  第9章数据访问组件  第10章数据控制组件  第11章应用窗体维护数据  第12章使用SQL结构化查询言语  上文介绍的Delphi教程的评价是很好的, 非常适宜Delphi初学者。 选择Delphi开发同学的眼光是不错的, 由于使用Delphi开发应用软件可以提高编译的效率, 你会发现Delphi更多的优点。 对你以后的开展肯定有很大帮助的。

03

手动脱壳VMP

个人在学习脱VMP加壳的过程中总结的一个步骤。按照这个步骤,包括VMP1.6—2.0在内应该有70%-80%能脱壳。脱不了的也别问我,我也刚开始学习。我还想找人问呢。 想要脱VMP的壳,首要工作当然是要找一个强OD啦!至于是什么版本的OD自己多试验几个,网上大把大把的,一般来说只要加载了你想脱的VMP加壳程序不关闭都可以。 其次就是StrongOD.dll这个插件了,现在用的比较多的就是海风月影,同样网上也是大把大把的。下载回来后复制到你的OD程序所在的文件夹里面的plugin里。StrongOD的设置选项搞不懂就全部打钩。 接下来要做的工作就是搞清楚我们要脱壳的程序编程的语言了,可以用PEID或者fastscanner查看,如果在这里看不到也可以在OD载入以后通过里面的字符串判断了。例如VB的程序会出现MSVB----/VC的会出现MSVC---等等。这些都是程序运行所需要的windows链接文件。 做完这些预备工作接下来当然是用OD载入文件啦。文件载入后在反汇编窗口CTRL+G搜索VirtualProtect(注意V跟P要大写,至于为什么要搜索这个别问我)。一般来说搜索的结果会出现以下的类似: 7C801AE3 E8 75FFFFFF call kernel32.VirtualProtectEx 我们在这里下F2断点。然后F9运行到我们下的这个断点。接下来我们就要注意观察堆栈窗口了。一般来说当我们F9运行到我们上面下的断点的时候在堆栈窗口会出现以下类似: 0012F66C 00401000 |Address = TradeCen.00401000 0012F670 000280D1 |Size = 280D1 (164049.) 0012F674 00000004 |NewProtect = PAGE_READWRITE 0012F678 0012FF98 \pOldProtect = 0012FF98 我们要注意观察的就是在接下来我们F9运行的时候,ADDRESS和NEWPROTECT这两行的变化。按F9-速度别太快,直到NewProtect项变为PAGE_READONLY,这时候程序就释放完毕了。 0012F66C 0042A000 |Address = TradeCen.0042A000 0012F670 000069DE |Size = 69DE (27102.) 0012F674 00000002 |NewProtect = PAGE_READONLY 0012F678 0012FF98 \pOldProtect = 0012FF98 现在可以取消刚才我们下的断点了。接下来就是找OEP了。找OEP的时候我个人的一个经验就是OEP一般就在接近上面的ADDRESS地址的附近。例如上面的地址是0042A000,我一般就在这个基础上减到420000搜索程序的特征段,当然我们也可以直接跳到401000开始搜索。虽然我们搜索的范围比较大,但是因为我们搜索的是命令序列,所以工作量还不是很大。 废话不多说,CTRL+G--上面的地址,然后CTRL+S 查找命令序列。命令序列的内容就是我们用查到的编程语言的特征段。我们可以在特征段里面选择两三句固定不变的命令查找。例如VC++6.0的特征段是 0046C07B U> 55 push ebp 0046C07C 8BEC mov ebp,esp 0046C07E 6A FF push -1 0046C080 68 18064C00 push UltraSna.004C0618 0046C085 68 F8364700 push UltraSna.004736F8 0046C08A 64:A1 00000000 mov eax,dword ptr fs:[0] 0046C090 50 push eax 0046C091 64:8925 00000000 mov dword ptr fs:[0],esp 0046C098 83EC 58 sub esp,58 0046C09B 53 push ebx 0046C09C 56 push esi 0046C09D 57 push edi 我们可以只搜索前三条命令。找到符合前三条命令的,我们在对照接下来的命

02
领券