<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[清风-德尔斐]]></title><description><![CDATA[代码]]></description><link>https://blog.youkuaiyun.com/NumberTop</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; NumberTop]]></copyright><item><title><![CDATA[Lazarus-Json-两种方式生成效率对比]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/145239960</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/145239960</guid><author>NumberTop</author><pubDate>Sun, 19 Jan 2025 10:40:23 +0800</pubDate><description><![CDATA[由于项目中经常用到Json传递数据，在Json数据量大的时候，有时用到字符串拼接方式生成，有时会用到系统自带的fpJson对象进行处理，于是做了一个基础测试对两种的执行效率进行对比。实际应用中如果数据不大，还是推荐使用json方式，毕竟减少了出错的机率，而字符串拼接经常会漏拼一些字符导致结果不正确。但当数据量比较大且对性能要求较高的时候还是建议采取原始的拼接方式。上图中底部是执行1万次的时间（毫秒），明显字符串拼接方式耗时最少，或许有更加高效的json类，但更直接的方式效率是最高的；]]></description><category></category></item><item><title><![CDATA[Lazarus 基础-预处理指令集]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/142313852</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/142313852</guid><author>NumberTop</author><pubDate>Tue, 17 Sep 2024 14:24:49 +0800</pubDate><description><![CDATA[多数编译型编程语言都支持预处理指令，它能让我们在跨平台，或特殊用途下根据预先定义的条件来编译全部或部分代码。比如项目处于开发中调试状态时，我们会向工程中添加一些特殊调试代码以发现BUG或监控运行状态，但在发布时又不想将这些代码包含其中，于是预处理指令可以帮上这个忙。又或者在跨平台开发中，我们需要根据发布的指定平台（比如windows或linux）来编译指令代码，这时使用预处理指令是非常有必要的，它能让我们在一个工程中分别编译出不同平台的应用程序来，而不需要每个平台编写一个工程。预处理指令也可以嵌套使用！]]></description><category></category></item><item><title><![CDATA[Lazarus 基本数据类型]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/141750876</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/141750876</guid><author>NumberTop</author><pubDate>Sat, 31 Aug 2024 12:28:16 +0800</pubDate><description><![CDATA[有序类型。]]></description><category></category></item><item><title><![CDATA[用Delphi + DirectX开发简单RPG游戏]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/139710516</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/139710516</guid><author>NumberTop</author><pubDate>Sat, 15 Jun 2024 23:03:23 +0800</pubDate><description><![CDATA[我们通常所安装的其实只有 DirectX 的运行库（一系列封装好的DLL文件），其内部函数结构非常复杂，所以我们还需要 DirectX 的开发工具。从古老经典的 DOS 版《仙剑奇侠传》到新潮花哨的《轩辕剑》系列，无不以曲折优美的故事情节，美丽可人的主角，悦耳动情的背景音乐，震撼了每一个玩家的心灵。在耗费了宝贵的几年青春，搞定了诸如考试、恋爱、出国等琐碎杂事之后，我终于可以在这个 SARS 肆虐的时代，坐在陪伴了我整个大学生涯的电脑前，听着颓废而又声嘶力竭的不知名歌曲，写一些一直想写却没有写的东西。]]></description><category></category></item><item><title><![CDATA[delphi,用delphi制作类似按键精灵的功能]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/139710500</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/139710500</guid><author>NumberTop</author><pubDate>Sat, 15 Jun 2024 23:02:28 +0800</pubDate><description><![CDATA[/以前用XP，使用按键精灵还是不错的，但至从换成64位的win7平台后，按键精灵9在不开启神盾的情况下无法启动脚本。//为了能在64位的win7下继续使用类似按键精灵的功能，现改用delphi来制作，最大的好处是灵活，而且不收费。//以下内容为网络上摘抄，暂时还未验证，如有同类爱好的朋友可以共同探讨。//累加一个数字的所有想素的坐标总和。//表示扫描X还是Y,先扫描X。//得到屏幕上的某点的颜色。]]></description><category></category></item><item><title><![CDATA[Delphi,在DelphiXE下使用DirectX的初步摸索]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/139710467</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/139710467</guid><author>NumberTop</author><pubDate>Sat, 15 Jun 2024 23:01:06 +0800</pubDate><description><![CDATA[昨天刚安装了 DelphiXE ， Delphi2010以上的版本自带了 DirectX 的SDK。Memo1.Lines.Add('不能创建 REF 设备!Memo1.Lines.Add('成功创建 REF 设备');Memo1.Lines.Add('不能创建 HAL 设备!Memo1.Lines.Add ('成功创建 HAL 设备');]]></description><category></category></item><item><title><![CDATA[Delphi-枚举Windows进程]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/130819859</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/130819859</guid><author>NumberTop</author><pubDate>Tue, 23 May 2023 09:20:34 +0800</pubDate><description><![CDATA[if IsWindowVisible(awnd) and (awndForm1.Handle) then //要排除掉本窗口。]]></description><category></category></item><item><title><![CDATA[Delphi-系统-加载外部进程并等待其返回]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/125071786</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/125071786</guid><author>NumberTop</author><pubDate>Tue, 23 May 2023 09:19:05 +0800</pubDate><description><![CDATA[function RunProcess(FileName: string; ShowCmd: DWORD; wait: Boolean; ProcID:PDWORD): Longword;

var//路径，是否显示被调用的程序的窗体，是否等待外部程序执行完毕

StartupInfo: TStartupInfo;

ProcessInfo: TProcessInformation;

begin

FillChar(StartupInfo, SizeOf(StartupInfo), #...]]></description><category></category></item><item><title><![CDATA[uniDBGrid设置文字操作栏]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/125097260</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/125097260</guid><author>NumberTop</author><pubDate>Thu, 02 Jun 2022 11:14:16 +0800</pubDate><description><![CDATA[为uniDBGrid设置文字操作栏，如下图的效果，用户点击审核，执行审核代码，点退回，执行退回代码]]></description><category></category></item><item><title><![CDATA[Unigui使用IconFont图标]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/125071656</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/125071656</guid><author>NumberTop</author><pubDate>Tue, 31 May 2022 19:08:15 +0800</pubDate><description><![CDATA[UniGui使用IconFont字体图标之前已经介绍过，UniGUi版本1.7.0.1500以后增加了Custom，使用第三方图标变得更简单了。

关于IconFont.cn的使用，请参考另一篇文章

选择完自己的图标后，下载自己项目的图标文件解压，然后把解压后的文件夹复制到Unigui工程的files文件夹下（笔者喜欢放到resource下）



然后在uniservermodule的customfiles里添加字体的引用



然后在UniNativeImageList里新建图标，Font Famil]]></description><category></category></item><item><title><![CDATA[基于HTTP的DataSnap session管理]]></title><link>https://blog.youkuaiyun.com/NumberTop/article/details/82720562</link><guid>https://blog.youkuaiyun.com/NumberTop/article/details/82720562</guid><author>NumberTop</author><pubDate>Sun, 16 Sep 2018 09:09:48 +0800</pubDate><description><![CDATA[uses System.StrUtils, Datasnap.DSSession, SessionStoreObjectUI;

function TServerMethods1.EchoString(Value: string): string;

begin

  Result := Value;

end;

function TServerMethods1.ReverseString(Va...]]></description><category></category></item></channel></rss>