QDAC 是由 QDAC 开发组为大家提供的一套 Delphi/C++ Builder 跨平台开源组件库,名称取自英文 Quick Data Access Components 的首字母。它支持 Delphi/C++ Builder 2007 以上的版本的开发环境,目标是为大家提供一套高效稳定的跨平台快速数据访问组件,替代系统实现的低效组件。
既然是快速数据访问组件,QDAC 对速度会比较重视,但出于跨平台的考虑,QDAC 是用纯 Pascal 源码编写,没有使用任何汇编代码,所以性能上,理论上不会比使用纯汇编优化的版本强,但也远远高于一般的实现。同时,QDAC 也很重视稳定性,希望大家多多参与测试,保证在速度优化的同时,稳定性上不会存在问题。
QDAC 项目目前包含以下组件(QDB、QSocket、QScript 目前未完成):
QWorker
QWorker 是一个基于作业视角的跨平台并行编程框架,提供丰富的功能和接口。进一步了解可以浏览 QWorker 专题 。
QJson
QJson 是一套快速方便,兼容性好的 JSON 格式跨平台管理单元,提供丰富功能的接口支持。与 SuperObject 等方案相比,速度更胜一筹。进一步了解可以浏览 QJson 专题 的内容。
QXML
QXML 是一套快速方便,兼容性好的 XML 格式跨平台管理单元,提供丰富功能的接口支持。与 NativeXML 等方案相比,速度更胜一筹。更详细的信息,可以参考源码中相关注释说明。
QMsgPack
QMsgPack 是一套快速方便,兼容性好的 Message Pack 协议跨平台管理单元,提供丰富功能的接口支持,并完整支持 Message Pack 协议的扩展数据类型。速度依然很快,而且是目前 Delphi 下最完整的 Message Pack 协议实现。进一步了解可以浏览 QMsgPack 专题 的内容。
QLog
QLog 是一套跨平台的异步日志记录单元,支持Linux 标准的 SyslogD 协议。通过采用异步方式,将对程序速度的影响降低到最低。具备日志自动分卷压缩功能。
QMacros
QMacros 是一套跨平台的模板替换库,与原始的 StringReplace 函数相比,要替换的内容越多,性能优势越明显。具体相关内容可以查看QMacros 专题 。
QAES
QAES 是一套跨平台的 Delphi 原生 AES 加密实现,封装的接口更加简单易用。更详细的信息,可以参考源码中相关注释说明。
QDigest
QDigest 是一套跨平台的 Delphi 原生 MD5 和 SHA 哈希摘要实现,同时也封装了简单易用的各种接口。更详细的信息,可以参考源码中相关注释说明。
QMemStatics
QMemStatics 是一套 Windows 下的内存分配分析工具,用于统计内存中不同尺寸的内存块分配情况,方便用户在设计服务程序时,合理的规划设计对象池的类型及大小。
QRBTree
QRBTree 包含了红黑树和哈希桶的 Delphi 实现,这两类数据结构的信息,请自行百度。本项目中许多单元如 QWorker 都引用了 QRBTree 单元。
QSimplePool
QSimple 提供一个简单的池实现,可以用于内存池和对象池。
QPlugin
QPlugin 是由群友 冰晰空气 为大家带来的一套开源插件框架,目前暂时只支持 Windows 平台,将来会融合 天地弦 的 MyBean 等开源框架思想和模式,形成跨平台的开源 Delphi 插件框架。
QDB
QDB 用于提供一套开源的跨平台数据库直接访问解决方式,计划支持 SQLite、 PostgreSQL、MSSQL、Oracle、MySQL 等常见数据库在跨平台直接访问。同时提供的 TQDataSet 会提供丰富复制、克隆、过滤、分组、导入、导出等接口的支持。目前该部分正在开发中,预计 2015 年初能够投入内测中。
QSocket
QSocket 用于提供一套开源的跨平台网络通讯支持框架,在 Windows 下将基于 IOCP ,在 Andriod 下将基于 EPoll,在OSX/iOS中将基于 KQueue 技术架构,同时会提供 P2P 和基于 UDP 的可靠网络传输实现(模拟TCP)。QSocket 还将提供和 QWorker 的信号相结合的网络信号解决方案,支持远程触发广播特定的信号。目前该框架在规划中,计划 2015 年投入开发和测试中。
QScript
QScript 用于提供一套高效的开源跨平台脚本解释引擎框架实现,目标是实现真编译环境50%以上的效率。但目前该框架同样只是在规划中,计划 2016 年投入研发。
上一篇文章中介绍了如何在 Delphi 中创建 Linux 守护进程,而这篇文章则试图将上文的操作简单化,不要再去考虑那么多事事非非。 【基础入门】 1、引入 qconsole_looper.pas 单元,这个单元本身原来是为了能够在控制台程序中运行主线程函数而引入的,换句话说,引用它后可以保证 QWorker 在控制台程序中正常运行。同时,它加入了等待循环,这样就像 Application.Ru
QDAC GITHUB: svn://www.qdac.cc/QDAC3 包括QMsgPack\QJson\QWoker...等序列和事件调度控件。 转载于:https://www.cnblogs.com/hnxxcxg/p/9435066.html
上一篇文章中介绍了如何在 Delphi 中创建 Linux 守护进程,而这篇文章则试图将上文的操作简单化,不要再去考虑那么多事事非非。 【基础入门】 1、引入 qconsole_looper.pas 单元,这个单元本身原来是为了能够在控制台程序中运行主线程函数而引入的,换句话说,引用它后可以保证 QWorker 在控制台程序中正常运行。同时,它加入了等待循环,这样就像 Application.Ru
DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP 程序员搞任何语言的程序开发上升到一定的层次,要想进步,必须要接触和学习使用优秀的开源框架。 MORMOT封装了WINDOWS最新的HTTPS.SYS、JSON、各种数据库引擎。。。 DIOCP封装了WINDOWS的IOCP,数据序列支持JSON、MSGPACK、BIN。。。 QDAC封装了数据库引擎、JSON、MSGPACK、XM
DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP 程序员搞任何语言的程序开发上升到一定的层次,要想进步,必须要接触和学习使用优秀的开源框架。 1、MORMOT封装了WINDOWS最新的HTTPS.SYS、JSON、各种数据库引擎。。 MORMOT 下载地址:https://github.com/synopse/mORMot 2、DIOCP封装了WINDOWS的IOCP,
使用方法: 声明 AJ:TQTson; 定义空间,释放 AJ := TQJson.Create; AJ.Free; 使用 try finally 网上找的例子: var AJson: TQJson; begin AJson := TQJson.Create; try AJson.AsVariant := ClientDataSet1.Data; if SaveDialog1.Execute th
Delphi用QJSON解析JSON格式的数据 https://www.cnblogs.com/railgunman/p/10805625.html 利用QJSON将FDQuery转成JSON串 https://www.cnblogs.com/codingnote/p/4103657.html Delphi实现ERP单据列表栏目设置 https://www.cnblogs.com/wuxi1
项目描述: 数据访问组件,提供了一组类库和一个代码生成工具,使.net项目中数据访问更简化. 功能: 多种数据库支持. 提供DataSet, DataTable 和数据实体查询. 执行SQL脚本及存储过程. 条件表达式. 常用SQL方法, 如MAX, MIN等可能被应用在查询中. 数据实体代码及XML文件生成. 使用: 基本功能:1. 使用 "EntitiesGenerator" 生成工具生成实体
本章节提供了光环板硬件部分的一些开源资料。
The Libra Blockchain is powered by open-source software. The first implementation of the Libra protocol — the technology behind the blockchain — is Libra Core, which is an open-source project managed
在建筑师的培养过程中,他们要看上千座建筑,并研究大师们对这些建筑的评议。但在软件行业,开发者却缺乏这样的经验,使得他们无法利用彼此的成功,只能重复彼此的错误。这两本书恰恰提供了一个了解历史的机会。48位开源软件作者站出来,解说他们的软件是如何架构的,以及为什么这么做? 如果你刚刚入门,想要学习前辈的思想,这两本书是个好开头。如果你是一位中级或高级开发者,想要了解同行们是如何解决难题的,它们同样有帮
制造开源软件,如何成功运营自由软件项目,优秀的自由软件本身就是极有价值的目标,我希望那些在本书中寻找创造成功软件方法的读者能够得到满意的答案。
开关允许用户选择选择项。一共有三种类型的开关:复选框、单选按钮和 on/off 开关。 注释:下面示例中所示的图形环代表一个动画,并不是实际按钮的外观。 复选框 复选框允许用户从一组选项中选择多个。 如果需要在一个列表中出现多个 on/off 选项,复选框是一种节省空间的好方式。 如果只有一个 on/off 选择,不要使用复选框,而应该替换成 on/off 开关。 通过主动将复选框换成勾选标记,可
Assets are the models, textures, sounds and all other "content" files from which you make your game. 资源就是模型,纹理,声音和所有其他"内容",制作游戏所用的文件。 This section describes Components for all asset types. For a gener
光源组件定义了光源的类型,颜色,强度以及产生的阴影类型,在场景中加入光源能使模型渲染得更加立体。具体可参考 光照 章节。 点击 属性检查器 下面的 添加组件 按钮,然后从 渲染组件 中选择 Light,即可添加 Light 组件到节点上。 Light 属性 属性 功能说明 Type 支持的光源类型,包括 DIRECTIONAL(平行光)、POINT(点光源)、SPOT(聚光灯)和 AMBIENT