Delphi开发技术分享
文章平均质量分 60
Delphi开发技术分享
月巴月巴白勺合鸟月半
2004年获得Borland亚洲区技术专家称号。
2007年研发的笔迹鉴定系统在黑龙江公安厅、中国刑警学院、福建警察学院等单位上线。
2008年研发的EHR系统通过NIST(美国国家标准与技术研究院)的认证。
2014年研发的医疗语音识别和电子病历服务在同类服务中排名全球第三。
2018年研发了美国加州政府社会福利系统。
2022年研发的DocPrep项目已经有300多家医院客户,每年处理2.1亿页的PDF。
2022年研发的Coding项目已经有320多家医院客户。
2023年Coding和DocPrep项目为美国150,000多名临床医生提供服务。
2025年获得微软最有价值专家MVP称号
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RS232串口通讯的那些事
串口通讯这件事,说简单吧,235三根线搞明白了就ok。说复杂吧,这里边的段子就多了。俺刚参加工作时,主要的工作就是搞这个的。那几年,连接了上百种不同型号的设备。RS232程序的开发基本上常用的IDE工具都有串口通讯控件。C#下有,Delphi下用、、(TMS是一整套控件包),Android下有很多jar。”,添加一对互联的串口。这样可以方便在开发中调试(很久以前没有这个软件的时候,那时的台式机一般是有2个串口的。俺们就焊一根2、3交叉连接的线,插在机器的两个串口上)。的还是的。程序的调试”......原创 2022-07-30 13:01:30 · 5586 阅读 · 0 评论
-
关于Delphi的一次吵架的后续
摘要:通过优化数组赋值操作,将多个单独赋值合并为一个整体赋值,减少了赋值次数和内存操作。测试数据显示性能显著提升,执行时间从95-100毫秒降至45-55毫秒。这证明了数组索引操作的开销不容忽视。作者表示将从这次优化经验中学习,专注提升Delphi编程技能。原创 2025-11-01 21:02:40 · 177 阅读 · 0 评论 -
关于Delphi的一次吵架
文章摘要:年轻程序员在技术群因"不懂业务也能改代码"的观点与网友争执,最终通过实际代码优化证明了自己的观点。虽然不理解算法原理,但他针对Delphi语言特性进行了三处优化:1) 通过指针操作减少数组索引访问,性能提升5-8%;2) 重构数据结构实现批量赋值,减少30%循环操作;3) 消除嵌套循环简化逻辑。这些改动未改变算法但显著提升了执行效率(最高30%),展示了代码优化的价值。作者最终反思表示今后避免无谓争吵。原创 2025-10-31 23:47:51 · 982 阅读 · 0 评论 -
Delphi的自带的皮肤
Delphi通过TStyleManager和Vcl.Themes单元实现皮肤功能,支持静态和动态两种方式切换界面样式。主要特性包括:内置36种.vsf格式皮肤文件(如Windows10Dark、AquaLightSlate等);静态设置通过项目配置直接应用默认皮肤;动态切换需引用Vcl.Themes单元调用TStyleManager方法;需注意第三方控件支持和跨版本兼容性问题。优势在于无需第三方库,支持运行时动态切换,减少程序体积。原创 2025-09-20 09:58:00 · 314 阅读 · 0 评论 -
一座山的诞生
程序员小李接手一个万行古早代码任务,面对文档与实现不符的困境,他四处请教却只得到模糊答案。在领导要求下,他硬着头皮修改代码,反复测试后仍出现80多个bug。最终他的修改被注释搁置,而这段经历让他逐渐成长为能解答新人问题的"老李"。故事展现了程序员面对遗留代码的无奈,以及技术传承中不断叠加的注释与妥协,如同一圈圈记录着行业变迁的年轮。原创 2025-08-23 02:52:22 · 455 阅读 · 0 评论 -
今天和网友关于开发的讨论
摘要:两则关于软件开发的幽默对话。第一则调侃产品式与项目式开发的差异,用咸甜豆腐脑作比喻说明习惯差异带来的冲突;第二则以《出延津记》为引子,戏称看完能"一句代码顶5000句",用文学来反衬开发效率问题。对话展现了程序员特有的冷幽默,将专业话题与生活化比喻结合,既点明开发中的常见矛盾,又保持了轻松调侃的风格。原创 2025-08-15 17:58:44 · 237 阅读 · 0 评论 -
回答网友一个delphi的chart的问题
摘要:本文介绍了在图表控件中如何处理值为0的数据点显示问题。通过使用clnone颜色设置,可以让值为0的点只显示标签而不与相邻点连接。具体实现有两种方法:1)直接为每个数据点指定颜色,如将0值点颜色设为clnone;2)使用ColorRange函数批量设置特定值范围(如-0.01到0.01)的数据点颜色为clnone。文中提供了Delphi代码示例,演示了如何在TChart控件中应用这些方法,并设置Y轴范围为0-100。原创 2025-06-28 21:59:39 · 430 阅读 · 0 评论 -
翻到了一段2005年写的关于需求的文字
翻到了一段2005年写的关于需求的文字原创 2025-05-18 20:15:07 · 665 阅读 · 0 评论 -
发布时将多个bpl 打包成一个bpl的方法,或者说:不需要vcl60.bpl情况下 18.5K的exe 照常可以运行。
文章讨论了在Delphi开发中,将多个BPL(Borland Package Library)文件打包成一个BPL文件的方法。通过这种方式,开发者可以在不依赖VCL60.BPL等外部包的情况下,使EXE文件正常运行。具体步骤包括新建一个包,将相关DCU文件添加进去,并确保其他依赖基于RTL60和这个新BPL。这种方法可以减少依赖,简化发布流程,并提高维护效率。虽然有人质疑其实际意义,但作者强调,对于特定项目,这种打包方式具有显著优势。原创 2025-05-18 19:48:51 · 726 阅读 · 0 评论 -
一个变量生命周期的问题
一个变量生命周期的问题原创 2025-04-22 10:55:30 · 706 阅读 · 0 评论 -
回答网友的一个 TEdgeBrowser 加载本地文件问题
回答网友的一个 TEdgeBrowser 加载本地文件问题原创 2025-04-19 22:51:36 · 623 阅读 · 0 评论 -
一种动态地址的查询
当我们注入一个进程,通过函数地址进行call时经常会遇到这样的一个问题。对方程序每周四会自动更新。更新后之前的函数地址就变化了,然后需要重新找地址。所以,我就使用了一个动态查询的方式。原创 2025-02-17 23:46:45 · 645 阅读 · 0 评论 -
一种棋牌网游的玩法
答案就是“猜”。这个网游刚好没有加密,而俺也刚好猜出来了。中间记录了大量的网络包的日志。猜来猜去就猜出来了。原创 2025-02-17 22:12:56 · 1020 阅读 · 0 评论 -
一种简单信息提取
信息来自QQ群、微信群、论坛、同类软件的内存。这是另外一个故事。这是说的是信息的提前。类似这样的信息: 要分开成多条:依据是: 遇到吨(或方)到逗号,结束 判断为一条, 一条里有:出发地和到达地:出发地信息里没有的 不用管,函数里的出发地参数没有吨(方)的,看有没米 米一般指车的大小 如下这样分开:宁晋->济南大桥镇有6吨货,求车;宁晋->营口大石桥有2吨货800元,求车;宁晋->银川有25吨货,求13米车宁晋-> 西安有38-40吨饲料,求车;宁晋-> 石埠有9方货,求车;原创 2025-02-05 00:41:38 · 335 阅读 · 0 评论 -
一个GPS协议转换的处理
一个GPS协议转换的处理 ,GPS车载机,通过转换对应协议适用公司的GPS平台。原创 2024-12-24 09:52:37 · 796 阅读 · 0 评论 -
新技术新框架的建议
新技术新框架的建议原创 2024-12-24 09:10:56 · 382 阅读 · 0 评论 -
一种寻路的应用
利用长途车进行货物转运的寻路计算。例如从深圳到大连。可以走有很多条长途车的路线。需要根据需求计算出最合适路线。不同的路线的总里程数、总价、需要的时间不一样。客户根据需求进行选择原创 2024-12-23 17:02:58 · 799 阅读 · 0 评论 -
一个物流的消息处理
一个物流的消息处理,Server端使用IOCP。原创 2024-12-23 11:39:18 · 1124 阅读 · 0 评论 -
一道Delphi的面试题
一道Delphi的面试题。原创 2024-12-22 20:22:48 · 514 阅读 · 0 评论 -
一个签名笔迹量化分析专家辅助系统
一个签名笔迹量化分析专家辅助系统原创 2024-12-21 23:41:30 · 432 阅读 · 0 评论 -
《“提高录入效率”在一些领域的历史和现状》
“提高录入效率”在一些领域的历史和现状 “单点登录”远没有CCOW有用。CCOW(Clinical Context Object Workgroup)原创 2022-07-21 21:23:47 · 438 阅读 · 0 评论 -
一个设备的控制程序
一个设备的控制程序。原创 2022-08-03 01:04:18 · 134 阅读 · 0 评论 -
怀旧之应届毕业生考试题目
showmessage(format('%f秒', [(GetTickCount - b) / 1000]));showmessage(format('%f秒', [(GetTickCount - b) / 1000]));showmessage(format('%f秒', [(GetTickCount - b) / 1000]));3. 用最优算法实现1+1/2+1/4+1/8+1/16+…自:hfghfghfg, 时间:2004-02-29 10:48, ID:2476492。原创 2023-01-06 23:46:52 · 562 阅读 · 0 评论 -
一个抠脚大汉的话痨心声
这些年 一个人,风也过 雨也走,有过泪 有过错,还记得坚持什么?参加工作有22年了,期间经历过3个公司。第一家公司是一家外企,其实全是中国人,是一个留学生开的。俺在这家公司差不多18年。从公司的开始到被收购。俺在的第2家,是一个本地的小公司,因为副总是俺在第一家公司时的上司。后来这家公司搬到很远的地方。俺就到第3家公司了,这家公司的老板,是俺在第一家公司时的师傅。废话说完了,开始直抒胸臆了。“爱好和工作一致,这是人生最幸福的事情”。这不是俺说的,是一个喜欢写“此处省略5000字”的大神说的。此处省略 若干原创 2022-07-04 13:15:52 · 194 阅读 · 0 评论 -
新闻总是抄袭历史
另外2000年以前就有memoryDB的做法,我是在csdn的杂志看到的,有一系列的产品,另外xml的xpath查询。这些Searcher服务器使用Linux操作系统或者MicrosoftWindows服务器(2000和2003),每台服务器都在内存中装载各自部分的XML数据,以备在没有索引的情况下高速的查询。与此相同,一旦一台刀片服务器损坏,它的数据段将会自动地分发至其余的刀片服务器。今天,无意中翻了一下以前的文章,原来很多年前的时候,俺们也是在讨论这个。...原创 2022-07-25 22:47:46 · 255 阅读 · 0 评论 -
怀念一下刚参加工作的那家公司
没啥好说的,就是怀念一下那家公司。俺从2000-07-15加入这家公司。2018年离开了这家公司(被收购,关门了)。为啥怀念呢?因为翻到了这份邮件:Subject: Progress report (07/15/2016)Current Week task (07/11/2016 to 07/15/2016) 1.开始用VS2015处理FnetRecorder。2.将FNEHR,Coding platform升级到VS2015。3.修改FNCAC。 ------------------------原创 2022-07-09 13:44:08 · 552 阅读 · 0 评论 -
打印、报表和文档-家谱树
FastReport不同的版本,在不同的语言下的是不一样的。FastReport3和4功能是多了,但是就设计报表来说,比FastReport2.53难用很多,主要是设计器改了。这个报表的工作量主要是在数据自动布局的计算上,好在FastReport在这方面特别方便。整个报表的生成大约在2秒左右(俺指赛扬433的CPU,内存512M的配置)。大约有5000页,因为树形结构是2维的,所以每页的“上接”是一个,但是“下接”可以是多个。这个报表的布局、字体等在右下角的设置中可以调整。...原创 2022-07-21 16:06:03 · 316 阅读 · 0 评论 -
回答网友一个数据显示的问题
俺在一个C# 群里,一个问:"打开form2,可以同步显示form1的表格内容,在form2增删改表格内容之后,可以同步到form1中"。 俺 打开 delphi 放了几个 数据敏感控件,演示了一下。还说了 一行代码都不用写。原创 2024-09-28 17:45:45 · 412 阅读 · 0 评论 -
怀旧之技术书籍
hfghfghfg。原创 2023-01-07 11:35:47 · 120 阅读 · 0 评论 -
打印监控程序
打印监控原创 2023-04-25 01:46:21 · 221 阅读 · 0 评论 -
一个游戏工具
其实 就是把 CheatEngine 的部分源码复制过来的。CheatEngine是个很不错的开源项目,有很多地方可以拿来用。原创 2023-10-25 01:02:52 · 144 阅读 · 0 评论 -
一个比较特别的串口工具
这是08年写的一个 并网带电池逆变器 的通讯工具,和普通的串口调试器相比,多了一个【脚本】功能。#00040H 频率异常S1 = 40, S2 = 00。主设备运行参数设定 (命令=10H) 共33个字节。DSP回复50命令给PC类型同01命令。DSP回复03命令给PC格式同01命令。#02300H PV母线过压。#02400H PV母线欠压。或 10H, 30H, 50H。#01300H 手动关机。#00001H 电池过压。#00008H 交流过压。原创 2023-10-28 00:52:40 · 311 阅读 · 0 评论 -
关于FTP的一些往事
不同语音的实时性要求是不一样的,有些要求6小时内完成(TAT=6) ,有些则是12小时。中美之间的网速又特别慢,所以,如何更快的从美国下载语音就成了很重要的事情。用了市面上常见的ftp工具,都不理想。这个工具可以根据业务上的有优先级,先下载紧急的语音。下载的进度、速度以及待下载的语音数都会实时更新到数据库中,便于运维进行监控。再后来,开发苹果下的APP (FnetRecorder),语音上传也是走ftp,然后发现 XCODE里的自带的FTP指令不全,如果要断点续传就要自己走socket,自己处理通讯。原创 2023-10-29 10:25:50 · 157 阅读 · 0 评论 -
那些年耍过的无赖
然后网友给出了一个测试文件就是一个全是大写字母的文件,就是一个巨大的字符串。大家就开始提出各种优化方案,冒泡、快速排序、分区快速排序。大家优化的不亦乐乎。俺提出了一个思路 ,反正就是 A到Z 一个26 个字母(这个题目规定的),所以俺不排序了,俺统计一下每个字母出现的次数,然后再输出一下。原创 2023-12-01 22:55:36 · 1030 阅读 · 0 评论 -
一个地图数据的显示
在QQ群里聊,有个网友说显示数据文件中的点比较慢。分布在一个263乘193的平面上。采样的间隔是0.02米。当俺打算准备生成一下测试数据时,发现,其实就是一个13150*9650的位图。于是俺就生成了一个位图,然后随机绘制了160万个点。发现160万个点 在这么大的图上,实在是太少了,于是俺就绘制了1200万个点。生成bmp + 绘制1200个点+显示 一共0.6秒左右。缩放、移动没有卡顿。原创 2024-01-02 22:56:28 · 492 阅读 · 0 评论 -
文书智能助手
司法、医疗等行业存在着大量的文书,一份文书或者卷宗少则几十页,多则几万页。在查看和检查这些文书时,会遇到大量的信息。当需要查询进一步的详细内容时,往往需要选择一下文字,然后再在各种系统中 查询详细的信息。客户就提出了一个思路:“文书智能助手”。文书智能助手:在Word 或者 记事本 或者 其他软件中,使用鼠标框选选中一段文字后,根据“选中的文字”在各种系统中检索数据,自动显示相关的数据项。并可以向Word插入文字和图片内容。原创 2024-08-20 14:08:42 · 501 阅读 · 0 评论 -
一个通讯处理的优化
其实只考虑bcp数据插入,用sql server 是可以承受更多的数据插入的,但是还要保证数据查询不要过慢,所以我的那个网友最好只好每台服务器负责1万辆车的数据了。下面我开始说说,我是如何处理的,我的方法其实不是一个好的方法,也没有用任何技术,用的写法是任何一个大学二年级的学生都曾经写过的写法(甚至是非计算机系的学生)。一般的情况下,我也是直接相加。这个函数是提取文本里的具体数据的,这里我一样没有用string,基本的写法和ReadReciveData相似,不过这里用了一个自己写的函数fromHex。原创 2024-08-21 22:12:56 · 1251 阅读 · 0 评论 -
LUA的使用
LUA刚流行起来的时候,想学习一下LUA。就找了一款使用LUA脚本引擎的游戏玩。希望从中了解LUA的使用。原创 2024-08-22 13:38:33 · 896 阅读 · 0 评论 -
关于一次速度优化的往事
关于一次速度优化的往事原创 2024-09-08 00:38:41 · 352 阅读 · 0 评论 -
回答一个网友的文本编辑问题
高度可定制化:SynEdit提供了大量的接口和事件处理机制,允许开发者根据需求调整编辑器的行为,如设置字体、颜色方案,添加额外的快捷键,或者实现自定义的语法解析器。教学与学习辅助工具:对于教学和学习编程的平台,SynEdit可以提供实时的代码反馈和高亮,帮助学生更好地理解和编辑代码。良好的性能:由于其底层的优化,即使在处理大文件时,SynEdit也能保持流畅的响应速度,减少内存占用,保证了用户体验。文档编辑应用:即使是非代码相关的文本编辑任务,SynEdit的可定制性和丰富的特性也可满足特定的需求。原创 2024-10-13 19:30:00 · 394 阅读 · 0 评论
分享