Delphi
文章平均质量分 73
记录Delphi使用过程中的一些经历,失败的教训,成功的喜悦等
海纳老吴
一个喜欢编程的程序员!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Delphi】Microsoft Store 上架指南(五):TPath.GetHomePath 等函数返回的路径是否包含最后一个 \
Delphi的TPath.GetHomePath返回路径不包含末尾反斜杠\。建议使用TPath.Combine安全拼接路径,它会自动处理分隔符问题。若需手动拼接,应使用PathDelim常量。特别注意MSIX沙盒环境下,GetHomePath指向可读写私有目录,而GetLibraryPath指向只读安装目录。创建多级目录时,需先调用TDirectory.CreateDirectory确保路径存在。原创 2026-01-20 21:04:18 · 336 阅读 · 0 评论 -
【Delphi】Microsoft Store 上架指南(四):程序数据、资源处理
MSIX容器化环境下处理资源文件的核心原则是将只读资源与可写数据分离。静态资源(如DLL、图标等)应通过Delphi的DeploymentManager打包进MSIX内部,存放在只读的安装目录中。程序需使用TPath类动态获取路径,避免硬编码。对于需要写入的文件(如配置文件),必须存储在应用私有数据目录(沙盒区)。开发者应通过GetCurrentPackageFullName API判断程序是否运行在MSIX环境中,以便正确处理路径重定向和资源加载问题。这种区分处理机制确保了程序在容器化和传统环境下的兼容性原创 2026-01-20 20:52:10 · 482 阅读 · 0 评论 -
【Delphi】Microsoft Store 上架指南(三):本地证书配置
本文介绍了在Microsoft Store上架程序前的本地测试证书配置方法。主要内容包括:1)选择Adhoc模式生成本地测试证书;2)证书生成步骤,需填写Windows发布者ID和设置密码;3)通过certmgr.msc导入证书到受信任的根证书颁发机构;4)强调测试时使用Adhoc证书,实际上架时必须切换为Store模式。该流程帮助开发者在正式上架前完成本地测试验证。原创 2026-01-20 08:53:41 · 285 阅读 · 0 评论 -
【Delphi】Microsoft Store 上架指南(二):下载SDK并安装
本文介绍了Windows SDK的下载安装指南。下载地址为微软官方文档页面,需注意选择"适用于OEM和合作伙伴"版本。安装时务必勾选全部组件,默认安装目录为C:\ProgramFiles(x86)\WindowsKits\10\bin\。安装程序名称为winsdksetup.exe,建议用户按照上述步骤优先完成SDK的安装。文中特别强调了两点注意事项:版本选择和组件全选,以确保SDK完整安装。原创 2026-01-20 08:30:25 · 469 阅读 · 0 评论 -
【Delphi】更换和提取exe文件主图标小工具
这篇文章介绍了一个用Delphi开发的应用程序,可以提取和替换EXE文件中的主图标(.ico格式)。该工具能够处理包含不同尺寸和颜色深度的图标文件,适用于日常开发需求。文章提供了可执行程序的下载链接,并说明源代码需付费获取。原创 2025-11-07 18:16:25 · 330 阅读 · 0 评论 -
【Delphi】一键图片转icon(程序图标)
本文介绍了.ico图标文件的特点及其重要性。.ico文件包含多个不同分辨率图片叠加而成,在Windows系统中能自动适配不同显示需求。针对普通用户制作.ico文件的困难,作者开发了一键转换工具,简化了png/jpg图片转为.ico格式的流程。该工具解决了专业图像软件操作复杂的问题,提供了便捷的图标制作解决方案。原创 2025-11-06 18:14:22 · 511 阅读 · 1 评论 -
【delphi】修改exe文件版本信息程序(RT_VERSION)
本文介绍了如何修改已编译exe文件的版本信息。通过右键查看属性-详细信息可获取版本信息,包括文件版本、公司名称等多项内容。使用TEXE_Version类提供的API函数可实现版本信息的读写操作:Read_exe_Version读取现有信息,Write_exe_Version写入新信息,并支持备份原文件。文中详细说明了版本信息结构和相关操作函数,包括字符串转换、内存读写对齐处理等核心功能实现。该方法基于Windows API实现,适用于需要修改已编译程序版本信息的场景。原创 2025-11-06 09:42:08 · 591 阅读 · 0 评论 -
【Delphi】再谈给EXE文件动态添加数据(附加大数据 2G)
本文介绍了在Delphi中实现向EXE文件附加大数据的方法。相比之前使用TBytes受内存限制的解决方案,新方法采用TFileStream支持附加大文件(如2GB)。文章详细说明了四个核心函数:AppendFileToExe/ExtractFileFromExe(文件操作)和AppendBytesToExe/ExtractBytesFromExe(内存流操作)。关键技术包括:1)使用TPayloadFooter水印结构;2)通过校验和增强数据可靠性;3)支持随机数验证的校验机制。该方法既保留了对TBytes原创 2025-11-03 20:14:02 · 815 阅读 · 0 评论 -
【Delphi】获取电脑唯一码(一机一码)
本文介绍了通过Windows管理规范(WMI)获取设备唯一标识码的方法。WMI是微软提供的系统管理接口,可用于查询硬件信息如CPU序列号、硬盘序列号等。文中详细解析了WMI的架构组成(包括CIM对象管理器、命名空间和WQL查询语言)及其在系统监控、批量管理等方面的应用场景。同时提供了一个Delphi实现样例,展示了如何通过WMI接口编程获取硬件参数。相比使用第三方控件,此方法直接调用系统原生接口,具有更高的灵活性和可控性。作者指出虽然该方法不能保证绝对唯一性,但能满足大多数场景下的设备标识需求。原创 2025-11-03 16:13:07 · 1240 阅读 · 0 评论 -
【Delphi】操纵EXE文件中的主图标(MAINICON)
RT_GROUP_ICON是Windows可执行文件中管理图标资源的关键结构,作为资源类型14(0x0E)的图标目录,它与RT_ICON资源配合使用。RT_GROUP_ICON存储图标元数据,通过GRPICONDIR和GRPICONDIRENTRY结构描述图标属性和对应的RT_ICON资源ID,而实际图像数据存储在RT_ICON中。与ICO文件不同,RT_GROUP_ICON采用资源ID引用而非直接存储图像数据。开发者可通过Windows API处理这些资源结构,实现图标资源的读取和更新。理解这种机制对于W原创 2025-10-27 19:24:57 · 598 阅读 · 0 评论 -
模态窗体被隐藏及状态栏图标闪动函数
《GetLastActivePopup函数使用指南》 该Windows API函数用于获取指定主窗口所属的最后一个活动弹出窗口句柄(包括对话框、菜单等)。通过传入主窗口句柄参数,函数会返回该窗口层级中最近被激活的弹出窗口,若无则返回0。典型应用场景包括:检查是否有打开对话框、程序激活时处理弹出窗口、关闭程序前清理窗口等。需注意该函数仅适用于Windows平台,仅搜索直接弹出窗口(不包括子窗口),且是线程安全的。与GetForegroundWindow等函数不同,它专门针对主窗口的弹出窗口层级进行操作。文中还原创 2025-10-23 18:21:32 · 320 阅读 · 0 评论 -
【Delphi】如何在可执行文件中动态添加数据
本文介绍一种给EXE文件附加数据文件的方法,实用,可靠,简便。原创 2025-10-23 11:02:15 · 847 阅读 · 0 评论 -
.ico 文件格式
ICO文件结构解析:ICO文件由文件头、图标目录项和图像数据三部分组成。文件头(16字节)包含资源类型和图标数量;每个图标目录项(16字节)记录尺寸、颜色深度等元信息;图像数据支持传统位图(含像素和掩码数据)或现代PNG格式。CUR文件结构与ICO类似,但目录项中增加了光标热点坐标字段。解析这些结构可实现ICO文件的读取、修改和创建。原创 2025-10-19 12:15:23 · 817 阅读 · 0 评论 -
【Delphi】模拟心电图声音,存粹好玩,记录下来
Delphi 实现模拟蜂鸣器功能,完美!原创 2025-09-08 17:09:18 · 363 阅读 · 0 评论 -
【Delphi】中通过索引动态定位并创建对应窗体类实例
介绍通过类名动态创建对象的方法原创 2025-08-26 13:47:05 · 398 阅读 · 0 评论 -
【Delphi】代码化 LiveBinding
通过代码实现livebinding原创 2025-08-15 17:49:26 · 252 阅读 · 0 评论 -
【Delphi】TDBGrid中的Helper定制:斑马纹、记录行号
在用 Delphi 开发数据表显示时,经常会用到TDBGrid控件,利用三方控件可以看到实现非常美观漂亮的斑马纹,那么不使用第三方的控件,可否也能方便的实现斑马纹以及数据记录行号的显示呢?当然是可以的,而且只需一行代码即可实现。 本文介绍通过Delphi的Helper来实现通用TDBGird显示斑马纹和行号。原创 2025-08-10 11:54:32 · 542 阅读 · 0 评论 -
比例阀输入输出散列计算
数据散列原创 2025-06-30 10:23:08 · 273 阅读 · 0 评论 -
【Delphi】实现在多显示器时指定程序运行在某个显示器上
介绍如何使程序运行在指定的显示器上原创 2025-06-02 20:58:30 · 1015 阅读 · 0 评论 -
【Delphi】接收windows文件夹中文件拖拽
介绍一种非常简单的Delphi程序控件接收来自windows文件夹中文件的拖动原创 2025-06-02 20:49:25 · 387 阅读 · 0 评论 -
【Delphi】常用的几个资源
Delphi中开源图像处理单元 TImage32等下载地址原创 2025-03-24 09:26:38 · 635 阅读 · 1 评论 -
【Delphi】平台状态(2025-03-17 Delphi 12.3)
介绍Delphi 的各个版本发布时间及重要功能点原创 2025-03-18 09:32:39 · 2279 阅读 · 0 评论 -
【Delphi】如何解决使用webView2时主界面置顶,而导致网页选择文件对话框被覆盖问题
因为文件选择按键获取焦点的同时只要点击,就立即失去了焦点,所以没有解决问题,这就需要配合Delphi的TApplicationEvents控件中的OnActivate事件来共同处理。可以通过在 WebView2 中注入 JavaScript 代码来监听文件选择窗口的打开和关闭事件,然后通过 WebView2 的事件机制将这些事件传递到 Delphi 端。由于WebView2通过H5打开文件选择窗口时,Delphi无法直接获取到事件通知,因为文件选择时由浏览器进程管理的,所以需要使用一些技巧来解决。原创 2025-03-02 19:43:15 · 823 阅读 · 0 评论 -
【Delphi】程序如何判断运行在管理员模式
Delphi语言判断程序是否运行在管理员模式原创 2025-02-13 10:42:23 · 351 阅读 · 0 评论 -
【Inno Setup】去除系统菜单中的About
【代码】【Inno Setup】去除系统菜单中的About。原创 2025-01-14 20:35:39 · 246 阅读 · 0 评论 -
【Delphi】中COM对应Delphi原生数据类型表
通常,当类型前面有指针时,ElemDesc IDL标志不会用IDL_FIN或IDL_FOUT标记。在这些情况下,您可能会在变量标识符旁边看到注释,例如{IDL_None}或{IDL_In}。以下类型在COM开发的类型库中有效。保存类型库时,变量参数的关联ElemDesc的IDL标志标记为IDL_FIN或IDL_FOUT。在类型库编辑器中,根据您使用的是IDL还是Delphi,您可以使用不同的类型标识符。除了这些IDL类型之外,在库中定义或在引用的库中定义的任何接口和类型都可以在类型库定义中使用。原创 2025-01-07 09:23:16 · 976 阅读 · 0 评论 -
【Delphi】创建COM服务器供浏览器(WebView)使用的操作步骤
【代码】【Delphi】创建COM服务器供浏览器(WebView)使用的操作步骤。原创 2025-01-06 16:05:11 · 580 阅读 · 0 评论 -
【Delphi】创建简单的 COM 服务器 - 概述
无论您是使用自动化对象向导创建新的自动化服务器,还是使用COM对象向导创建其他类型的COM对象,您遵循的过程都是相同的。Design设计 COM 对象。使用 COM 对象向导或自动化对象向导创建服务器对象。定义对象向客户端暴露的接口。注册 COM 对象。测试和调试应用程序。原创 2025-01-06 09:55:05 · 406 阅读 · 0 评论 -
【Delphi】开发COM应用程序(理论)
COM是一种独立于语言的软件组件模型,它支持软件组件和在Windows平台上运行的应用程序之间的交互。COM最重要的方面是,它通过明确定义的接口实现了组件之间、应用程序之间以及客户端和服务器之间的通信。接口为客户端提供了一种在运行时询问COM组件支持哪些功能的方法。要为组件提供其他功能,只需为这些功能添加一个额外的接口。应用程序可以使用称为分布式COM(DCOM)的机制访问与应用程序位于同一台计算机上的COM组件的接口,也可以访问网络上另一台计算机的COM组件接口。COM既是一种规范,也是一种实现。原创 2025-01-05 11:44:56 · 855 阅读 · 0 评论 -
【Delphi】modbus-TCP 协议库
介绍Delphi开发modbus-TCP协议控件原创 2024-12-02 14:00:44 · 1542 阅读 · 0 评论 -
【Delphi】中的变量:Variables
变量是一种标识符,其值可以在运行时改变。换句话说,变量是内存中某个位置的名称;你可以使用该名称读取或写入内存位置。变量就像是数据的容器,由于变量是类型化的,所以它可以告诉编译器如何解释所保存的数据。原创 2024-11-25 19:27:09 · 955 阅读 · 0 评论 -
【delphi】常用语言特性:接口、匿名方法、泛型
Delphi 自第 7 版以来已经有了长足的进步,目前已经到了最新版本的Delphi 12.2。当然也包括其他语言特性,例如多态性。原创 2024-11-21 19:00:37 · 1468 阅读 · 0 评论 -
【delphi】线程终的Synchronize和Queue的区别
我们经常在做程序开发的时候会使用到线程,但是线程如果需要操作UI界面元素,则需要使用到Queue和Synchronize方法,这两个方法都会安全的在主线程中执行任务,但是她们的区别是什么呢?原创 2024-11-09 11:31:36 · 774 阅读 · 0 评论 -
【Delphi】详谈Indy中的线程控件:TIdThreadComponent
不管什么语言,编写线程函数或者架构总是据一项基本功,对于Delphi语言也不例外,Delphi原生提供有线程对象TThread,直接使用TThread也没有问题,当然对于高版本的Delphi 也还提供了TTask等多任务对象,包括匿名线程等等,但是本文将详细介绍Delphi中大名鼎鼎的Indy中的线程控件:。使用非常方便,只需要就简单的书写时间函数即可。原创 2024-10-26 16:17:00 · 1335 阅读 · 0 评论 -
htmx 是什么?
HTMX 提供了一种轻量级的方式来构建动态网页,使得开发者可以更专注于 HTML 和后端逻辑,而不是繁琐的 JavaScript 代码。它非常适合于快速开发需要动态更新的应用程序。懂得就懂了,不懂得也就不明白了!原创 2024-10-25 19:57:10 · 957 阅读 · 0 评论 -
【Delphi】压缩解压缩zip文件,包含密码功能
Delphi 中压缩解压缩zip文件,包含密码功能源程序原创 2024-10-10 16:58:50 · 1007 阅读 · 0 评论 -
【Delphi】使用并行数组和有序字典加快 Delphi RTL 速度(D12.2)
介绍Delphi 12.2中的新功能:使用并行数组和有序字典加快 Delphi RTL 速度原创 2024-10-09 20:25:53 · 1100 阅读 · 0 评论 -
【Delphi】扩展现有组件创建新的 FireMonkey 组件(步骤二)
介绍Delphi FMX 制作Component组件示例原创 2024-09-24 15:38:28 · 686 阅读 · 0 评论 -
【Delphi】扩展现有组件创建新的 FireMonkey 组件(步骤一)
Delphi 中如何创建FMX component详细示例原创 2024-09-24 15:27:49 · 844 阅读 · 0 评论 -
【Delphi】Delphi 中的 LiveBindings 使用场景与概念
LiveBindings 适用于需要快速绑定 UI 控件和数据源的场景,尤其在数据库应用、对象模型绑定等场景中发挥作用。你可以使用 LiveBindings Designer 进行可视化的绑定,也可以通过代码实现更灵活的绑定。LiveBindings 既支持数据库字段的绑定,也支持普通对象和列表的绑定。LiveBindings 通过提供一种灵活、动态的数据绑定机制,极大地简化了 Delphi 应用程序中的数据交互。原创 2024-09-21 21:12:58 · 1252 阅读 · 0 评论
分享