【前言】 写这个教程的原因,是因为要实现下面的场景: 1、通过 THttpClient 从网络上下载压缩包到内存流中。 2、将内存流中的 ZIP 格式压缩数据中的特定扩展名文件,在内存中直接解压处理,而不是解压到磁盘,再加载。 【实现流程】 1、下载压缩包到内存流中,这个本身直接通过 THttpClient.Get 或
[教程] Delphi 自带异步模型详解
Delphi 在新版中引入了一个新的异步编程模型,一个新的接口 IAsyncResult 被包含在 System.Types 里。我们先来大概说下 Delphi 自己这个异步编程模型的思路: 1、异步编程的函数名,官方是以 BeginXXX打头,比如 BeginReceive、BeginWrite 等等 ,它们负责开始
[更新说明]RAD Studio 11.1 更新内容简译
原文链接 IDE IDE 做了一些改进,优化了视觉和操作体验(包含欢迎页、新建工程、项目管理、DPI处理、GetIt等),另外集成了 IDE Fix Pack 的少部分功能。 编译器 ASLR、DEP/NX和TSAWARE支持 C++ 编译器和工具链做了重大改变,以住的库在新版本需要重新编译才能使用,RTL做了许多增强
[转]ESXi找回并重新挂载丢失的数据存储
文章来源:在下天锦 是在一张1TB的硬盘上安装了ESXi系统,并且默认建立了一个VMFS6的数据存储datastore1。开学后从家带到学校换到了另一台物理机上面,发现网络出现故障,Ping不通主机,随即尝试重置管理网络,不料将整个系统重置……网络是恢复了,能够进到Web Client,但是发现系统中的数据存储全部丢失
[教程]Lazarus 在 Linux 下中文输入法问题的临时解决办法
这个真的很临时,Lazarus 中文输入法的本质问题是其代码编辑窗口使用的SynEdit控件在 Linux 操作系统下的处理逻辑问题。目前可以通过以下步骤解决不能输入的问题: 1、进入工具菜单中的配置构建 Lazarus 选项。 2、在弹出的对话框中,选择目标操作系统 Linux,目标 CPU x86_64。 3、选择
[教程]Delphi 中的匿名函数详解
Delphi 支持匿名函数已经很久了,在以前的文章中,我说过,Delphi 的匿名函数实际上是一个接口,当然这个接口是没有接口的GUID的。那么 Delphi 是如何动态生成这个接口类型的呢?我们以一个实际的例子和接口在内存中的布局来详细说明下: 1、首先,接口三大金刚(AddRef/Release/QueryInte
祝大家新年快乐,虎虎生威,事业有成,家庭幸福安康
QDAC 感谢大家过去一年的不离不弃,希望与您新一年共创辉煌!
[教程]程序保存数据的防断电处理策略
虽然现代社会,电力供应没有那么紧张,但每年因为线路或计划检修等原因,正常和非断电的情况还是有的。另外,室内电源接触不良,掉落等因素也会出现异常断电的情况。如果在此时,恰好数据写入一半,就可能造成程序数据写入异常,下次程序启动时,如果调用这种数据就可能出现某些非预期的错误。 实际上解决这类问题,有一个简单的策略: 1、将
[教程]TWICImage 创建灰度图像拷贝
啥也不说,两句代码: ATargetImage 里存的就是原始图像的灰度图像了.
[付费]数据集内容输出 JSON 格式数据
嗯,这是一个试验性的收费产品,它是做为 TQJsonOutputChannel 的附属品存在的,信赖于 qjson_output_channel 单元,提供数据集转换为 JSON 数据内容的格式化输出支持。收费标准定为 200 元,含源码、示例和用法一对一指导。 【使用方法】 一如既往的简单,直接引用 qjson_da
[教程]使用 TQJsonOutputChannel 写入 JSON 数据到流中
TQJsonOutputChannel 的主要作用是用来快速写入大型的 JSON 数据到文件中,所以整体是面向写入过程设计的,不要试图用它来控制内容的修改。 假设我们要将数据内容写入到目标数据流 AStream 中: 第一步:我们需要定义一个 IQJsonStreamEncoder 的实例,它是一个结构体,所以直接在栈
[教程]使用 TQJsonInputChannel 来重复获取 JSON 对象
TQJsonInputChannel 是 QJson 新增的对象,目的是解决连续的JSON序列读取和超长的JSON数据内容读取处理的问题。 【基本步骤】 1、根据源的编码,创建对应的序列对象并设置相关事件: 2、从源中读取一块数据,然后推到 TQJsonInputChannel 实例中,不需要关心读取的块是否完整,TQ
[荐]DDNRuntime:Delphi 调用 .NET 库工具
DDNRuntime是一个用Delphi调用.NET的库。支持调用C#、VB.NET编写的程序集。支持自动导入.net dll,并创建.net接口。 官方QQ群:712048702 特性 不需要COM的支持。 支持.NET Framework和.NET Core Runtime 使用非常的简单,只需要在Delphi中申
[教程]使用平板控制远程PC时Linux被控端匹配平板分辨率
[测试平台] 1、平板:华为 MatePad Pro 12.6 +No Machine NX Player 6.1.9,物理分辨率2560×1600,设置适应客户端分辨率 2、被控端:Deepin Linux 20.2.4+No Machine NX 7.6.2,外接显示器位于 DP-1 ,原始分辨率 344
[译]RAD Studio 11 更新说明
原文链接:官方文档 官方ISO下载 Bug修复列表 注:本文为简译 IDE 高DPI支持 IDE 所有窗口都支持高 DPI 了,解决了高 DPI 缩放造成的模糊问题,有高分显示器,而且使用高 DPI 的开发者值得一试 VCL 窗口设计器支持定制 DPI(自动/96/自定义)缩放,FMX 本来就支持高 DPI 缩放 Op
[杂谈]OpenHarmony 路线图
这是在一篇文章中看到的,供大家参考: 目前知道的是,2.2 已经发布比原计划晚了一些,全力准备 3.0 版。早期的路标规划参考下图,传言接下来全力冲向3.0版本了,那将是一个值得纪念的版本:
[教程]修复 TNetHttpClient Windows 下Header 中包含UTF8编码字符时乱码的问题
[修复思路] 将编码转换回 ACP,然后再用 UTF-8 编码转换回来。 [修复代码] 如果引用 QString 单元,则直接 QString.Utf8Decode(PQCharA(QString.AnsiDecode(Value)),-1) 转换下就可以。 [问题原因] 该问题是由于 Windows 的 WinHtt
【杂谈】鸿蒙 OS 对开发人员带来的机遇和挑战-机遇篇上
1、家电行业鸿蒙互联为设备赋予额外的能力,这些能力将为我们的生活带来额外的方便,就已知的家电来说:-> 电视:电视机本身是一个联网的影音设备,所以本身提供的能力是显示和声音输出,而且现代电视一般提供 USB 存贮、HDMI、DP接口、有线接口,甚至部分设备提供蓝牙连接能力,所以电视本身可以提供存贮能力和影像输入能力。-
[公告] QDAC Next:我们在路上
QDAC 项目从 2012 年开始,已经开发了超过 10 年的时间了,前一段时间转入纯维护阶段,不再增加新的功能,主要以修复 Bug 为主和修改兼容问题。 一路陪伴,不负期许,随着国内外大环境的变化,我们也在纠结中,决定和大家一起继续 QDAC 之路,由此诞生了 QDAC 下一个版本的发展和规划。 新的版本,将不再在我
【教程】一种远程控制电脑的方法和实践
【硬件准备】 支持网络唤醒(WOL)的电脑主机一台(笔记本还是台式机随意,使用有线连接,无线网卡),开启网络唤醒功能: 硬件设置:进入BIOS,将“Power Management Setup”中的“Wake Up On LAN”或“Resume by LAN”项设置为“Enable”或“On”,类似于这样,因为主板不