随笔分类 -  Pascal Lazarus

lazarus,freepascal,delphi
摘要:关于Quick.logger的一点点补充 用 Quick.logger 一直有个需求需要用到对多种Provider更新时,自动更新TMemo 之类TStrings相关的显示见面。 一直想用 Quick.Logger.Provider.StringList,然后指定页面里面的 TMemo.lines 阅读全文
posted @ 2024-08-22 22:27 海利鸟 阅读(26) 评论(0) 推荐(0) 编辑
摘要:Pascal语法中记录常量声明 type TMyRec = record Val1: integer; end; TRec2 = record Val1: integer; Val2: integer; end; TRec3 = record Val1: integer; Val2: string; 阅读全文
posted @ 2024-07-10 16:35 海利鸟 阅读(34) 评论(0) 推荐(0) 编辑
摘要:Modern Pascal 仍在竞赛中 作者:Arnaud Bouchez,2022年11月26日。永久链接 Pascal 编程 博客 集合 跨平台 数据库 Delphi FPC 垃圾回收器 泛型 Go 优秀实践 元编程 mORMot mORMot2 性能 RTTI Rust 最近在Lazarus/ 阅读全文
posted @ 2024-05-27 18:05 海利鸟 阅读(113) 评论(0) 推荐(0) 编辑
摘要:QuickLib 是一个快速开发库 QuickLib是一个快速开发库,它提供了诸如AutoMapper、LinQ、IOC依赖注入、MemoryCache、计划任务、Json和Yml配置、序列化程序等多种功能。这个库特别支持Delphi和Firemonkey的多平台开发,包括Windows、Linux 阅读全文
posted @ 2024-05-13 06:52 海利鸟 阅读(244) 评论(0) 推荐(1) 编辑
摘要:Quick Logger 强大的企业级异步记录器 这是一个用于在文件、控制台、内存、电子邮件、rest、事件日志、Syslog、slack、telegram、Redis、logstash、elasticsearch、influxdb、graylog、Sentry、Twilio 上记录日志,并为 De 阅读全文
posted @ 2024-05-07 16:59 海利鸟 阅读(134) 评论(0) 推荐(0) 编辑
摘要:mormot2 生成和解析json 本文非完全原创,本文部分内容来自博客园,作者:{咏南中间件} 前综合示例,整个示例是建立在mORMot特有的实现模式的基础上,非常用的序列化反序列化,但又有别于字符串拼接,据说效率极高。 unit Unit1; interface uses Windows, Me 阅读全文
posted @ 2024-04-24 16:46 海利鸟 阅读(436) 评论(0) 推荐(0) 编辑
摘要:一句话,TPrecisionTimer 等同于Delph定义在Diagnostics单元的里面的秒表 TStopwatch 。 mORMot 2 的实现是Record,定义在mormot.core.perf单元。使用方式类似! 整个单元的定位是 -性能计数器 -TSynMonitor进程信息类 -T 阅读全文
posted @ 2022-04-03 11:55 海利鸟 阅读(223) 评论(0) 推荐(0) 编辑
摘要:这是一个古老的问题,其他语言里面几乎没有,C#、C++中有类似的概念,但思想是不同。Pascal中的Record是复制型赋值,Class是引用复制。这个基础逻辑很关键。涉及到延伸的功能实现产生的错误。delphi中有一个声明在Diagnostics的秒表功能,是以Record记录的方式实现的,即 T 阅读全文
posted @ 2022-03-30 13:31 海利鸟 阅读(596) 评论(0) 推荐(0) 编辑
摘要:Delphi xe2以前的样式或风格编辑器叫vcl Style 之后改为 BMP Style,同时支持VCL和FMX,Delphi本身的设计是超前的,在多年后其他的语言或环境里才有类似的技术,比如微软的WPF的XMAL相关思想,以及android Studio 相关的界面方案。这里提到的是这个配置怎 阅读全文
posted @ 2022-01-29 12:04 海利鸟 阅读(736) 评论(0) 推荐(0) 编辑
摘要:Delphi或者Lazarus(FPC),编译环境有一个自动增加版本信息的功能,应用程序在运行时显示往往是调用windows API,整合成标准函数格式如下。function GetApplicationVersion: String; // Added 取得程序版本号 var FileName : 阅读全文
posted @ 2021-12-30 12:02 海利鸟 阅读(234) 评论(0) 推荐(0) 编辑
摘要:目的:程序启动运行时,可以在启动过程中将默认数据库创建。方向:使用Zeos 的 TZSQLProcessor,处理批量SQL脚本,其他的组建也是有相关的类。为了批量方便,这里定义了两种类型的的SQL,虽然都是DDL 但,后者与存储过程相关。zDDLScript : TZSQLProcessor; z 阅读全文
posted @ 2021-12-13 17:23 海利鸟 阅读(305) 评论(0) 推荐(1) 编辑
摘要:这个问题要从最近一个项目谈起,服务器端要求UTF8编码,Delphi内部是UTF16编码,为了避免风险我将代码中数据都定义为AnsiString,但实际还是除了些问题。delphi7下buffer是tbytes型,temp是string型temp := string(pointer(buffer)) 阅读全文
posted @ 2021-11-14 21:48 海利鸟 阅读(1630) 评论(0) 推荐(0) 编辑
摘要:记得我是在delphi2005里面看到Record可以和Class一样定义方法(Function、Procedure)的,最近几年不像年轻时太爱看语言新特性了。Delphi XE2将正则表达式加入到了系统,成为体系的一部分 System.RegularExpressions,但是它表现出来的是TRegEx记录,对,是记录,不是类,也许是为了效率考虑,之后也从没有看过实现,虽然我们大家都知道Delh... 阅读全文
posted @ 2020-02-20 06:35 海利鸟 阅读(704) 评论(0) 推荐(0) 编辑
摘要:前几天看到一个帖子,讨论两个记录复制,贴主提出了一个解决方案,但是不想用,希望大家集思广益,让人没想到的是方法还真的挺多,这里罗列一下。这是需要复制的的两种记录TypeA = record value1 : word; value2 : word; value3 : word; end;TypeB = record b1 : byte; b2 : byte; end;方案1:... 阅读全文
posted @ 2020-02-20 05:46 海利鸟 阅读(335) 评论(0) 推荐(0) 编辑
摘要:由于Lazarus从1.2版开始默认字符集就是UTF8,如果要转到系统正常显示或文本保存,就必须对字符集进行转换。Lazarus提供了很多函数。如题。那么这里面有什么关系呢?UTF8ToSys 需要 启用编译参数 –dDisableUTF8RTL,否则还是UTF8,如果变码还是Utf8ToAnsi, 阅读全文
posted @ 2019-05-19 11:08 海利鸟 阅读(1412) 评论(0) 推荐(0) 编辑
摘要:MultiLog是一种同时以灵活性和低开销为目标的日志系统。顾名思义,它可用于将日志实例到多个目标,如文本文件、可视控件或其他应用程序。添加新的日志目标使用两个方法就可以实现了,其中一个方法是可选的。 MultiLog通常类似于CodeSite、Smart Inect、Overseer和EstLog 阅读全文
posted @ 2019-05-12 09:47 海利鸟 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:作者:岑心 该文已经收藏,写得太好了,备份一份作者原处:http://www.cnblogs.com/shangdawei/p/4058452.html引 言 相信有些计算机知识的朋友都应该听说过“DLL”。尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎 阅读全文
posted @ 2018-03-07 13:08 海利鸟 阅读(2167) 评论(0) 推荐(0) 编辑
摘要:由于项目历史原因所开发的功能需要提供给.NET环境下应用使用。这个应该算是难点,C#、dot NET 是托管代码,资源的释放,是GC完成的。简单数据类型可以按对应声明,复杂的数据就更麻烦了。 这里要再他谈字符集。 windows NT及之后系统内部用UNICODE作为默认字符集,这也就是看到很多Wi 阅读全文
posted @ 2017-01-23 12:37 海利鸟 阅读(110) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2017-01-20 15:07 海利鸟 阅读(59) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2016-12-30 09:38 海利鸟 阅读(42) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示