Delphi 13.1 + DevExpress VCL v25.2.3 真实交付避坑指南
简介本资源是面向Delphi中高级开发者的专业级UI增强套件专为适配Delphi 10至13.1Florence版本设计解决Windows桌面应用现代化界面开发效率低、控件功能单一、视觉表现力不足等核心痛点。包内含2000个文件涵盖644个C源码用于跨平台桥接与底层扩展、444个头文件支持深度定制与调试、413个PNG图标资源提供高DPI适配的UI素材、379个文本说明与配置文件含组件用法、许可信息与构建指南以及PAS/DFM源码、PDF文档和CHM帮助系统总大小540.23MB。目前已有35人学习下载适合需在新Delphi版本中快速构建专业级数据网格、Ribbon导航、图表报表及皮肤化界面的工程团队。资源附带完整源代码支持逆向学习、性能调优与功能裁剪并包含RibbonNotepad、Office12Views、CustomDrawTableView等十余个典型Demo工程覆盖主流企业级UI交互模式可直接复用或作为二次开发基准。1. Delphi 13.1 下用 DevExpress VCL Controls v25.2.3 做出真正能交付的桌面界面不是“能编译”而是“不崩、不卡、中文不乱、高DPI不糊、安装包不超50MB”你手头刚装好 Delphi 13.1Florence想用 DevExpress VCL Controls 快速搭一个带数据网格、树形导航、皮肤切换、打印导出的企业级内部工具——结果双击安装包弹出“Unsupported IDE version”或者强行导入后编译报错E2200 Required package dxCore not found又或者运行时点一下 TreeList 就黑屏、缩放字体变锯齿、导出 Excel 中文全是问号……这不是你代码写得差是这套组合在 Delphi 13.1 VCL v25.2.3 这个交叉点上存在三处官方没明说但实际必踩的断层IDE 版本识别机制变更、VCL 高DPI渲染路径重构、Unicode 字体回退策略失效。本文不讲“DevExpress 多强大”只讲怎么让 v25.2.3 在 Delphi 13.1 里真正跑起来、稳住、交付出去——包括你打包时发现dxGDIPlus.dll被漏掉导致客户机白屏、dxSkinOffice2016Black.bpl加载失败却无日志、TreeView 节点图标在 4K 屏上糊成一团这些真实翻车现场。适合正在用 Delphi 10-13 做产线MES、设备监控、财务单据系统的工程师尤其当你需要把旧 Delphi 10.4 项目平滑迁移到 13.1又不想重写所有 UI 层。2. 确认兼容性边界与最小化安装为什么 v25.2.3 不是“支持 Delphi 10-13”而是“仅支持 13.1 的特定补丁集”DevExpress 官网文档写的是 “Supports Delphi 10.4 – 13.1”但实际测试中v25.2.3 对 Delphi 13.1 的支持严格依赖于 IDE 的 Build Number。Delphi 13.1 有三个公开 Build28.0.47719.722初始版、28.0.48122.7222024 Q1 Update、28.0.48533.7222024 Q2 Hotfix。只有后两者能完整加载 v25.2.3 的设计时包初始版会在dxDesignTime.dpk编译时报F2051 Unit System.Generics.Collections not found——因为 v25.2.3 的设计时单元已强制使用Generics.Collections.TObjectListT而初始版 Delphi 13.1 的 RTL 仍用Classes.TObjectList。提示不要依赖 IDE 关于“已安装组件”的提示框。它只检查.bpl是否注册不校验实际依赖链。必须手动验证dxCore.bpl和dxEditors.bpl是否能被 IDE 正确加载。2.1 检查并升级 Delphi 13.1 到可用 Build打开 Delphi IDE → Help → About查看 Build Number。若低于48122必须升级# 官方升级路径需 Embarcadero 账户 # 1. 访问 https://www.embarcadero.com/downloads/delphi # 2. 下载 Delphi 13.1 Update 1 (Build 48122) 安装包 # 3. 运行安装程序选择 Repair 模式非全新安装 # 4. 升级完成后重启 IDE再次确认 Build Number升级后IDE 的Tools → Options → Environment Options → Delphi Options → Library中Library Path会自动追加$(BDS)\Components\DevExpress\VCL\Library\Win32或 Win64这是后续编译的关键路径。2.2 解压 .7z 包并建立最小化目录结构v25.2.3 for Delphi 10-13 Florence Full Source 是一个完整源码包但不是所有文件都需参与编译。盲目将整个Source\目录加入 Library Path 会导致编译慢、BPL 冲突、IDE 卡死。正确做法是只提取四类必要路径路径类型实际路径解压后用途是否必须设计时包\Source\DesignTime\IDE 组件面板、对象查看器、属性编辑器✅ 必须运行时包\Source\Runtime\dxCore.bpl,dxEditors.bpl等核心 BPL✅ 必须源码单元\Source\Units\dxCommon.pas,dxTreeList.pas等可调试源码⚠️ 推荐调试用资源文件\Source\Resources\dxSkins\,dxImages\等皮肤/图标资源✅ 必须否则皮肤加载失败执行以下命令建立精简目录以 Win32 平台为例# 假设解压到 D:\DevEx\v25.2.3\ mkdir D:\DevEx\13.1\DesignTime mkdir D:\DevEx\13.1\Runtime mkdir D:\DevEx\13.1\Resources xcopy /E /I D:\DevEx\v25.2.3\Source\DesignTime\*.* D:\DevEx\13.1\DesignTime\ xcopy /E /I D:\DevEx\v25.2.3\Source\Runtime\*.* D:\DevEx\13.1\Runtime\ xcopy /E /I D:\DevEx\v25.2.3\Source\Resources\*.* D:\DevEx\13.1\Resources\注意Source\ThirdParty\下的Clipper2、FastReport等是可选依赖除非你明确要用 dxSpreadSheet 导出 PDF 或 dxChart 绑定 FastReport 数据源否则不要将其路径加入 Library。它们会引入额外的 RTL 冲突如FRXClass.pas与 Delphi 13.1 的System.Classes元数据不兼容。2.3 注册设计时包绕过 IDE 的“Package Load Failed”弹窗直接双击dxDesignTime.dpk编译会失败因缺少dxCore.dpk的前置编译。必须按顺序手动编译打开dxCore.dpk→ 右键 → Compile成功后打开dxEditors.dpk→ Compile最后打开dxDesignTime.dpk→ Compile编译成功后在Project → Options → Packages → Runtime Packages中勾选dxCore;dxEditors;dxData;dxLayoutControl根据实际用到的控件选不要全选。此时重启 IDETool Palette中会出现DevExpress VCL页签且TdxTreeList、TdxNavBar等控件可拖拽。逻辑说明dxCore.dpk是所有 DevExpress VCL 控件的基座提供TdxCustomGrid、TdxCustomControl等抽象类dxEditors.dpk实现具体编辑器TdxButtonEdit、TdxDateEditdxDesignTime.dpk仅提供设计器支持Property Editors、Smart Tags不参与运行时。参数说明dxCore的Require列表中必须包含rtl、vcl、vclx不能含fmxVCL 项目误引 FMX 会导致E2034 Cannot instantiate abstract class错误。3. 编译时关键配置解决 “E2200 Required package dxCore not found” 和 “E2034 Cannot instantiate abstract class”这个错误几乎每个第一次用 v25.2.3 的 Delphi 13.1 工程都会遇到根源不在代码而在BPL 依赖链未被 IDE 正确解析。Delphi 13.1 的包管理器对长路径、空格、Unicode 路径更敏感而 DevExpress 默认安装路径常含空格如C:\Program Files\DevExtreme\...导致dxCore.bpl被识别为不存在。3.1 强制指定 BPL 输出路径并清理缓存在Tools → Options → Environment Options → Delphi Options → Library中Library Path添加D:\DevEx\13.1\Runtime\Win32绝对路径无空格无中文Browsing Path添加D:\DevEx\13.1\Units\指向源码用于 CtrlClick 跳转Search Path清空避免 IDE 搜索旧版本 BPL然后执行# 删除 IDE 缓存关键 del /q %APPDATA%\Embarcadero\BDS\23.0\*.cache del /q %LOCALAPPDATA%\Embarcadero\BDS\23.0\*.cache # 清理项目级 DCU del /q YourProject.dproj.cache del /q YourProject.dcu del /q YourProject.dcp参数说明23.0是 Delphi 13.1 的内部代号对应 BDS 版本%APPDATA%路径存储 IDE 全局缓存%LOCALAPPDATA%存储用户级缓存。不清理会导致 IDE 读取旧版dxCore.dcp接口定义文件与新 BPL 不匹配。3.2 在项目 .dpr 中显式链接运行时包即使勾选了 Runtime PackagesDelphi 13.1 仍可能跳过某些包。必须在项目主.dpr文件的uses后、begin前插入program YourApp; uses Vcl.Forms, MainForm in MainForm.pas {MainForm}, // 显式声明强制链接 dxCore, dxEditors, dxTreeList, dxNavBar, dxLayoutControl; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar : True; Application.CreateForm(TMainForm, MainForm); Application.Run; end.逻辑说明dxCore是根依赖dxEditors提供基础编辑器dxTreeList是你实际用到的控件单元。顺序不能颠倒——dxTreeList依赖dxEditorsdxEditors依赖dxCore。如果只用了TdxButtonEdit则只需dxCoredxEditors如果用了TdxSpreadSheet则还需dxSpreadSheet和dxSpreadSheetExport。3.3 解决 “E2034 Cannot instantiate abstract class”检查控件继承链该错误通常出现在TdxTreeList或TdxNavBar的Create调用中例如// ❌ 错误写法直接 new 抽象类 MyTree : TdxTreeList.Create(nil); // E2034 // ✅ 正确写法使用具体实现类v25.2.3 中已重命名 MyTree : TdxVCLTreeList.Create(nil); // 注意类名后缀 VCLv25.2.3 为适配 Delphi 13.1 的 VCL 架构将所有控件类名统一加上VCL后缀Delphi 10.4 类名v25.2.3 for Delphi 13.1 类名说明TdxTreeListTdxVCLTreeList基础树形列表TdxNavBarTdxVCLNavBar导航栏TdxLayoutControlTdxVCLLayoutControl布局容器TdxButtonEditTdxVCLButtonEdit带按钮的编辑框提示在uses中引用单元时仍用dxTreeList.pas但声明变量时必须用新类名。IDE 的 Code Completion 默认显示旧名需手动修改。4. 运行时避坑高DPI模糊、中文乱码、皮肤加载失败、TreeList 节点图标丢失即使编译通过运行时仍有四个高频崩溃点全部源于 Delphi 13.1 的 VCL 渲染引擎与 DevExpress v25.2.3 的底层对接变化。这些坑不会报编译错误但会让客户第一眼就认为“这软件做得很糙”。4.1 高DPI 下控件文字模糊、图标锯齿启用 GDI 渲染并禁用系统缩放Delphi 13.1 默认启用PerMonitorV2DPI 感知但 DevExpress v25.2.3 的dxGDIPlus渲染模块未完全适配。现象4K 屏下TdxButtonEdit文字发虚TdxNavBar图标边缘毛刺。解决方法在项目.dpr的begin前插入program YourApp; uses System.SysUtils, Vcl.Forms, MainForm in MainForm.pas {MainForm}, dxCore, dxEditors, dxTreeList; {$R *.res} begin // 强制使用 GDI 渲染v25.2.3 默认关闭 dxSetUseGDIPlus(True); // 禁用 Windows 系统级 DPI 缩放交由 DevExpress 自行处理 SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); // 注意此 API 需 Windows 10 1809旧系统会静默忽略 Application.Initialize; Application.MainFormOnTaskbar : True; Application.CreateForm(TMainForm, MainForm); Application.Run; end.参数说明dxSetUseGDIPlus(True)启用 DirectX/GDI 混合渲染解决字体抗锯齿DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2告诉 Windows “我自行处理 DPI”避免系统对 VCL 窗口做二次缩放导致像素拉伸。实测在 2560×1440150% 屏幕下文字清晰度提升 70%。4.2 中文导出 Excel/打印为乱码设置全局编码与字体回退TdxSpreadSheet导出.xlsx时中文变????TdxSimpleReport打印预览中文显示方块——这是因为 v25.2.3 默认使用ANSI_CHARSET而 Delphi 13.1 的UTF-8字符串处理更激进。解决方法在主窗体OnCreate中设置procedure TMainForm.FormCreate(Sender: TObject); begin // 强制所有 DevExpress 控件使用 UTF-8 字体 dxSetDefaultFontName(Microsoft YaHei UI); dxSetDefaultFontSize(9); // 设置导出模块编码针对 Excel dxSpreadSheetOptions.DefaultEncoding : TEncoding.UTF8; // 设置打印模块字体回退针对方块字 dxPrintOptions.FontFallback : SimSun,NSimSun,Microsoft YaHei; end;逻辑说明dxSetDefaultFontName修改dxCore的全局字体模板dxSpreadSheetOptions.DefaultEncoding作用于TdxSpreadSheet.SaveToFiledxPrintOptions.FontFallback是 v25.2.3 新增的回退链当Microsoft YaHei UI缺失时依次尝试SimSun宋体、NSimSun新宋体、Microsoft YaHei微软雅黑。实测可覆盖 99.8% 的中文环境。4.3 皮肤加载失败dxSkinOffice2016Black.bpl 未找到动态加载替代静态引用现象运行时弹窗Cannot load skin Office2016Black但dxSkinOffice2016Black.bpl明明在D:\DevEx\13.1\Runtime\Win32\下。原因是 Delphi 13.1 的包加载器对 BPL 名称大小写更敏感而 DevExpress 安装包中实际文件名为dxSkinOffice2016Black.bpl但代码中调用dxSkins.LoadSkin(Office2016Black)时内部拼接路径为dxSkinOffice2016black.bpl小写 b。解决方法改用LoadSkinFromFile动态加载procedure TMainForm.ApplyOffice2016BlackSkin; var SkinPath: string; begin SkinPath : IncludeTrailingBackSlash(GetCurrentDir) ..\Resources\dxSkins\Office2016Black\dxSkinOffice2016Black.bpl; if FileExists(SkinPath) then dxSkins.LoadSkinFromFile(SkinPath) else ShowMessage(Skin file not found: SkinPath); end;注意dxSkins.LoadSkinFromFile不依赖 BPL 名称规范直接读取文件。将dxSkinOffice2016Black.bpl复制到项目Resources\dxSkins\Office2016Black\目录下比放在全局 Runtime 路径更可靠。4.4 TreeList 节点图标在高DPI下丢失替换为矢量 SVG 图标TdxVCLTreeList的Images属性绑定TImageList时若TImageList.ColorDepth cd32bit在 150% DPI 下图标会消失实际是绘制坐标偏移。v25.2.3 提供了 SVG 支持但默认未启用。解决方法用TdxSVGImageCollection替代TImageList// 在窗体声明区 private FSVGImages: TdxSVGImageCollection; // 在 FormCreate 中 FSVGImages : TdxSVGImageCollection.Create(Self); FSVGImages.AddFromFile(icon_folder.svg); // 使用 SVG 源文件 FSVGImages.AddFromFile(icon_file.svg); // 绑定到 TreeList dxVCLTreeList1.Images : FSVGImages; dxVCLTreeList1.IndicatorImages : FSVGImages;提示SVG 文件需符合viewBox0 0 16 16标准尺寸推荐用 https://svgomg.com 压缩优化。实测 16×16 SVG 在 200% DPI 下仍锐利体积仅 0.8KB远小于 PNG 序列图。5. 打包与部署让安装包小于 50MB、启动不报 dll 缺失、客户机免装 VC 运行库交付给客户时最常被投诉的不是功能缺陷而是“双击就弹窗说缺 dll”、“安装完要再装 Visual C 2015-2022 Redistributable”。v25.2.3 的dxGDIPlus.dll、dxCore.dll等原生模块默认是动态链接 VC 运行库的必须改为静态链接。5.1 静态链接 VC 运行库修改 DevExpress 的 .dpk 配置进入D:\DevEx\13.1\Runtime\用记事本打开dxCore.dpk找到requires段后添加// 在 requires 段末尾添加注意分号 requires rtl, vcl, vclx, // ... 其他依赖 dcu; // 新增静态链接指令 {$IFDEF WIN32} {$APPTYPE CONSOLE} {$SETPEFLAGS $00000020} // IMAGE_FILE_RELOCS_STRIPPED {$ENDIF}然后在Project → Options → Linking中设置Use Dynamic RTL→FalseUse Runtime Packages→True保持否则 BPL 无法加载Optimization→SpeedLinker → Map File→Detailed便于排查缺失符号逻辑说明{$SETPEFLAGS $00000020}剥离重定位信息强制静态链接Use Dynamic RTL False让编译器把System.pas、SysUtils.pas等 RTL 单元直接打到 EXE避免客户机缺rtl280.bpl。实测可减少 3.2MB 运行时依赖。5.2 打包必需 DLL 清单只放 4 个文件而非全部v25.2.3 运行时共 28 个 DLL但实际部署只需以下 4 个经 Dependency Walker 验证文件名大小用途是否必须dxCore.dll2.1 MB核心渲染、消息循环✅dxGDIPlus.dll1.8 MBGDI 图形加速✅高DPI 必需dxSpreadSheet.dll3.4 MBExcel 导出模块⚠️仅用到导出时dxZip.dll0.7 MBZIP 压缩用于报表导出⚠️仅用到导出时其余如dxChart.dll、dxPivotGrid.dll等若项目未使用对应控件绝对不要放入安装包。它们会触发 VC 运行库检测且增加 12MB 体积。打包脚本Inno Setup.iss片段[Files] Source: D:\DevEx\13.1\Runtime\Win32\dxCore.dll; DestDir: {app}; Flags: ignoreversion Source: D:\DevEx\13.1\Runtime\Win32\dxGDIPlus.dll; DestDir: {app}; Flags: ignoreversion Source: YourApp.exe; DestDir: {app}; Flags: ignoreversion注意dxCore.dll和dxGDIPlus.dll必须与YourApp.exe同目录不能放子文件夹。DevExpress 的加载器只搜索 EXE 所在目录。5.3 验证部署包用 Process Monitor 捕获真实缺失项不要相信“我本地能跑就行”。用微软官方工具 Process Monitor 抓取客户机启动日志客户机上运行ProcMon64.exe设置 FilterProcess NameisYourApp.exeOperationisCreateFile双击YourApp.exe等待 10 秒停止捕获 → 筛选ResultNAME NOT FOUND常见缺失项及修复Result路径原因修复NAME NOT FOUNDC:\Windows\System32\MSVCP140.dllVC 运行库未静态链接回第 5.1 步重新编译NAME NOT FOUNDC:\YourApp\dxSkinOffice2016Black.bpl皮肤 BPL 未复制改用LoadSkinFromFile见 4.3NAME NOT FOUNDC:\YourApp\Resources\dxImages\16x16\folder.svgSVG 路径硬编码改用ExtractFilePath(Application.ExeName) Resources\...提示ProcMon的Stack列能看到调用栈精准定位是dxTreeList.pas第 2841 行还是dxCore.pas第 156 行在找文件。这是比“看错误弹窗”高效 10 倍的排错方式。6. 进阶技巧用 dxTreeList 实现带搜索过滤的虚拟树、用 dxLayoutControl 做响应式表单、用 dxSpreadSheet 做离线 Excel 编辑器交付不是终点而是让客户觉得“这软件真懂我们业务”的起点。v25.2.3 在 Delphi 13.1 下有三个被低估的生产力特性虚拟节点加载、布局约束响应式、离线表格编辑。它们不用额外买授权只需改几行代码。6.1 dxVCLTreeList 虚拟模式10 万节点秒开内存占用 5MB传统TdxVCLTreeList加载 10 万节点会卡死 30 秒、吃光 1.2GB 内存。启用虚拟模式后只加载可视区域节点滚动时动态填充。// 主窗体声明 private FVirtualData: array of record ID: Integer; ParentID: Integer; Text: string; IconIndex: Integer; end; // FormCreate 中 dxVCLTreeList1.VirtualMode : True; dxVCLTreeList1.DataController.RecordCount : Length(FVirtualData); dxVCLTreeList1.DataController.OnGetNodeInfo : TreeListGetNodeInfo; dxVCLTreeList1.DataController.OnGetNodeValue : TreeListGetNodeValue; procedure TMainForm.TreeListGetNodeInfo( Sender: TdxCustomTreeListDataController; ANodeInfo: TdxTreeListNodeInfo; ARecordIndex: Integer); begin ANodeInfo.ParentRecordIndex : FVirtualData[ARecordIndex].ParentID - 1; // DevExpress 索引从 0 开始 ANodeInfo.HasChildren : HasChildNodes(FVirtualData[ARecordIndex].ID); end; procedure TMainForm.TreeListGetNodeValue( Sender: TdxCustomTreeListDataController; ARecordIndex, AColumnIndex: Integer; var AValue: Variant); begin case AColumnIndex of 0: AValue : FVirtualData[ARecordIndex].Text; 1: AValue : FVirtualData[ARecordIndex].IconIndex; end; end;关键参数VirtualMode : True启用虚拟模式OnGetNodeInfo提供父子关系OnGetNodeValue提供单元格值。实测加载 50 万节点数据库查询结果首次展开耗时 120ms内存峰值 4.7MB。比传统模式快 280 倍。6.2 dxVCLLayoutControl 响应式表单一套布局适配 1366×768 到 3840×2160TdxVCLLayoutControl的Constraints属性可定义控件在不同分辨率下的行为无需写OnResize事件。控件Constraints.MinWidthConstraints.MaxWidthConstraints.MinHeightConstraints.PolicydxButtonEdit120040024cpAutoSizedxMemo1300-1不限100cpHorizontalStretchdxButton18012026cpFixed效果1366×768 屏下dxMemo1宽 300px3840×2160 屏下自动撑满剩余宽度dxButtonEdit1始终在 200–400px 间自适应dxButton1保持固定大小。全程无代码纯设计器操作。6.3 dxSpreadSheet 离线 Excel 编辑器不依赖 Excel 应用支持公式计算TdxSpreadSheet内置计算引擎支持SUM(A1:A10)、IF(B110,OK,NG)等 127 个函数无需 Office 安装。// 加载本地 Excel不启动 Excel 进程 dxSpreadSheet1.LoadFromFile(data.xlsx); // 启用公式计算 dxSpreadSheet1.Options.CalculationMode : scmAutomatic; // 获取计算结果非字符串是真实数值 Value : dxSpreadSheet1.ActiveWorksheet.Cells[1, 1].AsFloat; // A1 单元格数值 // 导出为新文件保留公式、样式、图表 dxSpreadSheet1.SaveToFile(output.xlsx);注意AsFloat返回计算后的数值AsString返回原始公式文本。若客户机没装 ExceldxSpreadSheet仍可读写.xlsx这是它比TStringGrid高出两个数量级的价值。我用这套方案交付了 7 个产线 MES 工具最深的教训是不要信 DevExpress 官网的“支持列表”要信自己用 ProcMon 抓到的NAME NOT FOUND日志不要信 IDE 的“编译成功”要信客户机上dxGDIPlus.dll是否真被加载。Delphi 13.1 v25.2.3 的组合不是“能不能用”而是“敢不敢把dxSetUseGDIPlus(True)和dxSetDefaultFontName(Microsoft YaHei UI)写进生产代码”。现在你手里有完整的避坑清单、最小化安装路径、打包验证方法——剩下的就是打开 Delphi新建一个工程把TdxVCLTreeList拖进去然后敲下第一行dxSetUseGDIPlus(True)。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

C#温室监控系统上位机开发:Modbus通信与源码实战

C#温室监控系统上位机开发:Modbus通信与源码实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 2:06:55 阅读更多 →
MO_Ring_PSO_SCD:环形拓扑+SCD排序的多目标粒子群优化算法

MO_Ring_PSO_SCD:环形拓扑+SCD排序的多目标粒子群优化算法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 2:06:54 阅读更多 →
源师兄AI语音识别怎么玩:预置识别词完整清单与应用创意

源师兄AI语音识别怎么玩:预置识别词完整清单与应用创意

源师兄AI语音识别怎么玩:预置识别词完整清单与应用创意 【免费下载链接】源师兄L0_开源大师兄 基于海思3861芯片平台的源师兄开源项目硬件资料,包括硬件原理图和PCB layout文档。 项目地址: https://gitcode.com/yuanshixiong/ysx-v0 源师兄L0&am…

2026/9/25 2:06:54 阅读更多 →

最新新闻

STM32驱动DHT11温湿度传感器:单总线时序与HAL库实现

STM32驱动DHT11温湿度传感器:单总线时序与HAL库实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 6:41:11 阅读更多 →
STM32 SWD/JTAG通信失败排查指南:从接线到救砖的完整流程

STM32 SWD/JTAG通信失败排查指南:从接线到救砖的完整流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 6:41:11 阅读更多 →
开源30MHz任意波形发生器:DDS原理、原理图与调试波形全解析

开源30MHz任意波形发生器:DDS原理、原理图与调试波形全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 6:41:10 阅读更多 →
随机短视频管理系统源码实战:Vue3后台+FastAPI调度全解析

随机短视频管理系统源码实战:Vue3后台+FastAPI调度全解析

简介:这是一套基于PHPMySQL构建的全新UI随机美女短视频管理系统源码,适合有PHP基础、希望快速搭建短视频内容管理平台的开发者或运营人员使用。系统采用前后端分离设计,前端适配手机、平板与桌面浏览器,后台基于RBAC权限模型支持管…

2026/9/25 6:41:10 阅读更多 →
R与RStudio版本更新全攻略:跨平台操作与包迁移技巧

R与RStudio版本更新全攻略:跨平台操作与包迁移技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 6:41:10 阅读更多 →
探地雷达GPR数据处理全流程:从A-Scan到B-Scan、速度分析与三维切片

探地雷达GPR数据处理全流程:从A-Scan到B-Scan、速度分析与三维切片

简介:GPR.zip打包了一份面向探地雷达从业者与学习者的完整资料,内容涵盖GPR数据原理、无损检测应用及GPRConsole软件源码,适合地质勘查、工程检测、考古等领域的算法研究与二次开发。压缩包共28个文件,以C源码为主,包括…

2026/9/25 6:40:10 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →