- 博客(244)
- 资源 (21)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 关于本博客:Delphi 的点滴经验
用 Delphi 很多年,平时有些经验,随便写写。之前没有发在 csdn。现在发现 csdn 的博客,比较适合贴代码,版面比较干净,方便阅读。经常网上搜关于 Delphi 的技术问题时,搜到的文章,出现得最多的是 csdn 和另外一家博客。所以,干脆开通 csdn 博客,专发关于 Delphi 编程的问题。各位同好,如果有什么问题,也可以在这里交流。最近几年,D
2017-04-06 11:19:10
1294
原创 把别人发来的 JSON 解析为 Delphi 的对象
这个 JSON 是其它语言生成的,在 Delphi 程序里面,如果能把它变成对象,后继的代码就会更简单。
2024-07-21 03:16:42
323
原创 使用Delphi做蓝牙BLE开发的一个问题
Delphi 的 BLE 开发,拖一个 TBlueToothLe 到界面上,使用这个控件,就可以进行 BLE 的开发,比如去连接一个蓝牙手环。Delphi 自带的 Demo 里面,有一个 BLEScanner 程序,可以作为开发的起点。
2024-07-09 02:01:17
694
原创 Windows Server 远程桌面显示登录界面而不是直接登录进入的问题
通常情况下是在远程桌面客户端里面输入用户名和密码,点【连接】按钮,就直接登录进入远程桌面了。但是,有时候,不能直接进入,而是远程服务器的登录界面出现了,然后我们要做登录界面里面输入用户名和密码。如何把这种状态,改为直接在远程桌面客户端里面输入用户名和密码就能登录的状态?
2024-06-18 19:05:54
1284
原创 基于 Delphi 的前后端分离:之四,使用 HTMX 让页面元素组件化
对于 HTML5 的页面,使用 HTMX 就可以很容易把各路开源的页面代码,组件化,实现模块化开发,简化代码,方便维护。
2024-06-15 02:41:51
1092
原创 Windows OpenVPN的安装之服务器自动启动连接
1. 概念:OpenVPN 安装了一个服务叫做 OpenVPNService,可以在 Windows 系统的服务里面看到;这个服务需要的配置文件放在 config-auto 目录下;配置文件的名称可以是任意文件名,后缀是 .ovpn 就说明它是 OpenVPN 的配置文件。2. 如果上述两个条件(1. 服务自动运行;2. 配置文件在正确目录下),仍然不行,应该去看 log 目录底下的 log 文件,看看问题在哪里。
2024-06-14 00:37:08
1591
原创 基于 RTTI 的 TFrame 的创建和管理
1. 通过上述方式,可以简化大型应用程序的代码,减少出错机会。2. 其实用不着 RTTI,虽然我的代码里面使用了 RTTI。
2024-05-14 10:05:25
866
原创 一个基于 VCL 的模仿安卓 Toast 的提示消息控件
在别人已经实现的代码基础上,做一些简单的修改,来来回回也花了不少时间。中间还有一个版本有严重的 BUG。写好代码不容易,人都会犯错,人写的程序没有 BUG 才是奇怪。
2024-05-13 02:00:59
340
原创 Delphi 多线程的阻塞和线程之间的同步
1. TEvent 声明在:System.SyncObjs;2. 多个不同的线程可以有多个不同的 TEvent 的实例来进行各自的阻塞;3. TEvent.SetEvent 解除阻塞后,必须执行一次 TEvent.ResetEvent;否则就再也阻塞不住了;4. ResetEvent 由任何一个线程来执行都可以;5. 如果 TEvent 是超时导致的阻塞解除,不需要做 ResetEvent;
2024-03-28 00:50:34
423
原创 用 Delphi 做 FTP 服务器以及如何配置防火墙
使用 Delphi 的 TIdFTPServer 这个控件,做一个 FTP 服务器很简单。可以直接拿官方提供的 FTP Server 的那个 Demo 程序来修改。
2024-03-19 15:30:02
594
原创 Delphi v11 安卓权限申请
上述代码中,DoGotPermissions 方法,用于调用这个模块的地方,当用户在申请权限的界面上通过了权限申请后,要执行的代码,通过这个事件方法调用。同样,上面这个函数里面的 TArray<string> 更改为:TClassicStringDynArray;我把代码封装到一个单独的 DataModule 里面了。这样方便在不同的项目里重复使用。Delphi 10.4 的安卓权限申请代码,在 Delphi 11 下面编译无法通过。原因是里面有几个变量类型的定义有所不同。
2024-02-19 23:54:41
621
原创 Python4Delphi: Delphi 程序使用 Python 抓取网页
在 Delphi 里面通过使用 Python4Delphi 控件,可以在 Delphi 程序里面调用 Python 的代码去执行 HTTP 访问。
2024-02-15 22:51:05
633
原创 Python4Delphi: 使用Delphi代码调用Python代码里面的类
1. 首先调用 PythonEngine1.ExecStrings 加载运行有这个 Python 类的 Python 代码;2. 使用 MainModule.类名() 的方式,直接就创建了 Python 类。在 Delphi 里面,Python 类创建的对象保存到一个 Variant 变量里面。3. 有了对象,就可以用【对象.方法()】的方式调用这个对象的方法了。这里需要注意,方法有没有参数都要加上括号。
2024-02-08 01:03:34
681
原创 Delphi 程序直接调用 Python 的函数
在这篇文章里面,我提到,一个 Python 的函数,我用 Delphi 无法直接调用它,所以我对它做了一个 Python 的包装。原因是,那是我第一次学习使用 Python4Delphi 这个控件。那时候要执行 Python 代码,我只会使用 PythonEngine1.ExecStrings(Python代码) 这样的方式。这样做,就是在 Delphi 的程序里面,加载了 Python 的环境,并在这个环境里面去执行了代码里面的可执行的部分。
2024-02-06 23:59:07
1228
3
原创 用 Delphi 程序调用 Python 代码画曲线图 -- 数据来自 Delphi 程序
接本博客上一篇文章,使用 Python 的 matplotlib 库画曲线。上次是为了实现调用该库,数据是直接写死在 Python 代码里面的。既然是 Delphi 调用 Python 的库,数据应该是 Delphi 的程序传递给 Python 的代码,然后 Python 的代码利用 Python 库把图画出来。比如,数据可能来自数据库。做数据库编程,Delphi 非常擅长啊。上述 Python 代码,是把很多数字,给了一个数组类型的变量。
2024-02-06 01:21:22
465
原创 用 Delphi 程序调用 Python 代码画曲线图
因为同样的代码在 PyScripter 里面能够正常运行,所以我首先怀疑 PyScripter 运行的 Python 环境和我的 Delphi 的程序运行的 Python 环境不一致。把以上代码,放进 PyScripter 这个 Python 的开发工具 IDE 里面,点三角形小箭头图标(Run 按钮),或者按 F9 (Run 快捷键),代码运行起来,弹出一个窗口,里面是曲线。实际上,我搞了几个小时。因为,按照上面的步骤搞完,我点击 Button1,运行 Python 程序,出现异常错误。
2024-02-05 19:32:43
1042
原创 Python4Delphi 之用 Delphi 写 Python 模块
在 Delphi 程序和 Python 程序的交互,可以用 Delphi 实现一个 Python 模块,用 Delphi 实现这个模块的函数,然后在 Python 里面的代码来调用。实现这个功能的简单架构:1. PythonModule1 用来代表一个可以给 Python 调用的模块。2. Delphi 实现的函数,通过的方式成为 Python 的模块的函数。3. 被 Delphi 的 PythonEngine1 执行的 Python 代码,可以import这个模块并执行里面的函数。
2024-02-05 00:12:24
1453
原创 Delphi 程序员初学 Python 笔记
一直想学 Python 但一直没真正去摸索。入门书倒是买了几本也大概看了一下。但不真正动手写点程序,是没法入门的。作为熟悉 Delphi 编程的人,当然想在 Delphi 的程序里面调用 Python 的一大堆库的功能,比如现如今火爆的 AI 库。首先,学习 Python 需要一个编程工具,可能一般人用文本编辑器或者用 VSCode 的比较多。但作为熟悉 Delphi 的人,发现有一个开源工具 PythonScripter 非常好用。
2024-01-31 03:03:12
1077
4
原创 Delphi 的 DataSetProvider.Options 里面的 poCascadeUpdates 修改嵌套表的主键
假设主表和从表的非主键字段的值在客户端同时被修改,提交后,会在服务器端的 DataSetProvider1.BeforeUpdateRecord 触发事件。可以在事件里面判断当前触发的是主表还是从表。因为程序员知道每个表的字段名称,因此可以针对当前触发事件的表的记录的每个字段,进行权限控制,或者值的修改,等等。也就是业务逻辑控制在服务器端,安全性更高。
2023-10-12 23:12:18
299
原创 把 TObjectList 序列化为 JSON
以前测试过使用 TJson.ObjectToJsonString 和 TJson.JsonToObject,发现好像有 BUG,不稳定。
2023-08-10 13:27:21
504
原创 Delphi FastReport 的一点小功能总结
FastReport 是一套功能非常强大的报表控件,在 Delphi 的 IDE 里面,可以直接可视化设计报表页面;在运行期允许用户预览报表后再决定是否打印。还可以将报表内容输出为 JPG 图片或者 PDF 格式的文件,非常好用。
2023-03-24 06:59:24
1648
原创 把多层次的 XML 文档解析为 TreeView 显示
肉眼阅读 XML 比较累,需要去对付一堆的尖括号。用 Delphi 程序把它显示为一个 TreeView 的树结构,比较容易用眼睛去看。XML 文档是一个有多层树形节点的文档。因为节点数不确定,所以要跟踪每个节点,需要用到递归。以下是我的代码,基于 Delphi 10.4 没使用第三方控件。
2023-02-22 16:13:00
513
原创 手机 APP 的卖货界面
网上买菜的微信小程序,其典型界面是左侧一个列表显示商品分类,右侧一个列表,显示商品明细。左侧列表要显示当前选中的是哪条分类记录(高亮这条记录)。右侧列表滑到底部后,往上再滑一次,自动切换到下一个分类,此时左侧列表的选中画面也同时要更新(高亮下一条记录)。
2022-09-20 08:44:26
502
原创 再谈 FireBird 的自增字段用 FireDAC 来处理
基于 MIDAS 的多层架构的数据库程序,客户端是 ClientDataSet,数据库服务器是 FireBird,服务器端采用 FireDAC 的数据库控件,如何处理数据库端的自增字段。之前我有博客文章介绍具体做法。这里更新一下另外一种做法,。
2022-09-17 01:58:52
752
原创 FireMonkey 做界面的一个小技巧
小技巧就是,要让一个东西随鼠标指过去颜色变深,鼠标离开颜色变回正常,以获得对鼠标的响应,可以给那个东西上面罩一个 TRectangle,设置其透明度让它半透明。然后在鼠标事件里面,设置这个 TRectangle 的 Visible 属性来改变它显示或者不显示。
2022-09-10 00:56:59
571
原创 Delphi FireMonkey TMemo 修改背景颜色和边框颜色
修改 TMemo 的背景颜色和边框颜色,有两种办法(如果还有其它办法,我现在不知道)。办法一:设计期对它的 style 进行修改编辑。大概意思就是改它的 style 里面的图片或者其它什么鬼。办法二:运行期用代码实现。
2022-09-08 05:11:41
814
原创 Skia4Dephi 的 Demo 程序界面架构分析
虽然 Skia4Delphi 的 Demo 程序中,运行在 Windows 上的 VCL 程序以及可以运行在手机上的 FMX 程序,都采用了相同的类似手机 APP 的层叠界面的设计模式,但最实用的还是手机 APP,因为屏幕太小,不可能一屏里面还划分几个区域,只能是一层一层的界面叠加。因此,这样的设计模式,在做手机 APP 的时候非常值得学习。实际上它的 FMX 的 Demo 程序的框架,可以直接用于我们自己开发的手机 APP。......
2022-08-29 21:41:05
5100
1
Delphi ACM Component,ACM 控件用于声音采集和播放,含全部源代码和使用例子
2023-03-24
Delphi FireMonkey TListView 做手机APP的主从列表的 Demo 源代码
2022-09-20
本人原创 Delphi 版本的 HTML 编辑器源代码
2022-03-30
发光按钮-基于Delphi FireMonkey的例子代码
2020-04-06
MVVM_LiveBinding.7z
2020-02-13
文本差异检查及显示的源码
2018-10-13
Delphi APP 使用 iOS 的 BackgroundFetch 的例子源代码
2017-10-10
Win7 远程桌面多用户补丁
2017-10-08
本人原创源代码:Delphi APP 内置 WebBroker 让界面显示HTML5
2017-09-30
本人原创:基于Delphi WebBroker 的 CMS源代码
2017-09-18
Delphi WebBroker 网页上传文件的 Demo 源码
2017-05-02
WebBroker StandAlone 模式当 Web Server 用的源代码 by pcplayer
2017-04-05
Delphi LiveBinding对象及对象序列化为JSON的例子
2016-11-24
Delphi 在 DBGrid 里面显示分组统计的源代码
2016-11-03
Indy10 WEB Server Demo代码
2014-07-15
HotLog 源代码
2013-06-18
网络连接状态查看工具
2013-06-18
Dspack for XE3
2013-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人