随笔分类 -  Delphi 新特性

摘要:有小伙伴想把日期转换为 Excel 那样的格式,如下图,比如:2022年3月9日显示为:9-Mar-22 代码如下: var FS := TFormatSettings.Create('en-US'); var Str := FormatDateTime('dd-MMM-yy', Now(), FS 阅读全文
posted @ 2022-12-14 08:57 塞翁失身 阅读(262) 评论(0) 推荐(1)
摘要:FireDAC 原生支持分页查询,不用写分页查询SQL,只要设置 FetchOptions.Recskip (跳过的行数)和 RecsMax(分页大小)允许通过结果集进行分页。打开游标后,将跳过第一个 RecsSkip 。其余的记录,最多 RecxMax 将被获取。当 Prepared 后,更改 R 阅读全文
posted @ 2020-10-14 10:53 塞翁失身 阅读(1101) 评论(0) 推荐(0)
摘要:ZLib是DEFLATE算法的实现库,它的API同时支持gzip文件格式以及一个简化的数据流格式。zlib数据流格式、DEFLATE以及gzip文件格式均已被分别标准化为 RFC 1950、RFC 1951、RFC 1952。 gzip在 HTTP压缩,一种在万维网中加速传输HTML和其他内容的技术 阅读全文
posted @ 2020-05-10 13:53 塞翁失身 阅读(2254) 评论(0) 推荐(0)
摘要:使用Indy自带的md5算法,代码如下: uses IdHash, IdHashMessageDigest; function GetStringMD5(const AInPut: string): string; var MD5: TIdHashMessageDigest5; {$IF Compi 阅读全文
posted @ 2020-04-11 11:53 塞翁失身 阅读(1192) 评论(0) 推荐(0)
摘要:内联变量声明(Inline Variable Declaration)是Delphi Rio 10.3中引入的功能。它是什么? 简而言之,可以在代码的任何行中声明一个变量。也就是说,您可以在begin..end块中以这种方式声明变量: procedure Test; begin var I: Int 阅读全文
posted @ 2020-01-06 19:49 塞翁失身 阅读(1614) 评论(1) 推荐(0)
摘要:概述 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而TWitter的snowflake解决了这种需 阅读全文
posted @ 2019-12-12 20:25 塞翁失身 阅读(3634) 评论(3) 推荐(2)
摘要:Delphi 10.2.2 之前,可以通过 IDE视觉设置的系统注册表项 修改字体和字体大小,因为 Delphi 10.2.2 IDE增加了主题,主题包含了字体信息, 此方法失效了。对于高分辨率屏幕,当Windows 字体缩放到 125%、200%或者更高的时候,默认字体太小了。直到昨天发布的 De 阅读全文
posted @ 2019-11-22 09:02 塞翁失身 阅读(3349) 评论(0) 推荐(1)
摘要:该TXMLDocument的类让你来操作VCL和FireMonkey应用程序的XML文件,但这个类没有实现直接的方式来调用XPath的相关方法(selectNode,的selectNodes),所以你必须编写一组辅助函数来调用这些方法。 通常你可以写这样的东西 并这样使用: 上面的代码在Window 阅读全文
posted @ 2019-06-27 11:23 塞翁失身 阅读(533) 评论(0) 推荐(0)
摘要:当使用 FireDAC Filter 过滤数据的时候,通常这样写: 将会报错:[FireDAC][Stan][Eval]-107. Invalid character found [ 姓名 = '张三' ] 解决方法一:字段名称加上方括号[] 解决方法二:通过 OnFilterRecord 事件处理 阅读全文
posted @ 2019-05-05 10:32 塞翁失身 阅读(665) 评论(0) 推荐(0)
摘要:链式写法有很多优点:连贯、语意集中、简洁、一气呵成、可读性强。比如要把 3.1415926 中的 59 提取为一个整数:Pi.ToString().Substring(5,2).ToInteger() 轻车熟路的感觉,让人觉得,哇!好帅的写法,牛x。 以前以为只有 TJSONBuilder 才支持链 阅读全文
posted @ 2018-06-16 11:55 塞翁失身 阅读(591) 评论(0) 推荐(0)
摘要:RAD Studio 10.2.2 提供从 TDataSet 映射到 JSON ,增加了对JavaScript 客户端支持。 RAD Studio 10.2.2 为 FireDAC BatchMove 架构添加新组件的 :TFDBatchMoveJSONWriter。该组件可以轻松从TDataSet 阅读全文
posted @ 2018-01-03 10:24 塞翁失身 阅读(856) 评论(0) 推荐(0)
摘要:今天在盒子闲逛,无意中看到有人说XE7自带的Json对象序列化很慢,帖子在这里:http://bbs.2ccc.com/topic.asp?topicid=464378 ;经过测试的确如此。 但是 D10.2后,自带的 Json 做了优化,性能大大的提高了100多倍。 和其他json库对比了序列化和 阅读全文
posted @ 2017-12-02 15:04 塞翁失身 阅读(6450) 评论(1) 推荐(1)
摘要:运行效果如图: 阅读全文
posted @ 2017-09-01 19:07 塞翁失身 阅读(1750) 评论(0) 推荐(0)