<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>PowerBuilder(PB)BBS社区 - 『 Pber 功能增强插件框架 』</title>
    <link>https://www.sybasebbs.com/forum-93-1.html</link>
    <description>Latest 20 threads of 『 Pber 功能增强插件框架 』</description>
    <copyright>Copyright(C) PowerBuilder(PB)BBS社区</copyright>
    <generator>Discuz! Board by Comsenz Inc.</generator>
    <lastBuildDate>Sun, 20 Sep 2026 15:09:21 +0000</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>https://www.sybasebbs.com/static/image/common/logo_88_31.gif</url>
      <title>PowerBuilder(PB)BBS社区</title>
      <link>https://www.sybasebbs.com/</link>
    </image>
    <item>
      <title>PBIDEA：用 uo_csv 读写 CSV 文件（UTF-8/BOM/引号规则与逗号错位坑，附与 SaveAs 对比）</title>
      <link>https://www.sybasebbs.com/thread-90884-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_csv 读写 CSV 文件（UTF-8/BOM/引号规则与逗号错位坑，附与 SaveAs 对比）



[hr]

一、为什么需要一个 CSV 对象

CSV 是数据交换里最“没脾气”的格式：Excel 认、财务系统认、对账平台认、浏览器下载列表也认。在 PB 里做导出，很多人第一反应是 dw.Sa ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Fri, 18 Sep 2026 22:58:31 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA 报表组件实战：用 uo_pbidea_report 生成三大财务报表（资产负债表 / 利润表 / 现金流量表，PB12.5 实机跑通）</title>
      <link>https://www.sybasebbs.com/thread-90882-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_pbidea_report 生成三大财务报表（资产负债表 / 利润表 / 现金流量表 实机跑通全解）



[hr]

一、这次学的是什么

手头有两份新材料：


[*]PbIdea报表开发文档.md：PBIDEA 报表组件的开发文档，讲清了分层架构、元素类型、样式与资源机制、表达式引擎 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Thu, 17 Sep 2026 06:09:53 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_jwt 签发与校验 JWT 令牌（HS256 实战、自验签与 12 个坑）</title>
      <link>https://www.sybasebbs.com/thread-90878-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_jwt 签发与校验 JWT 令牌（HS256 实战、自验签与 12 个坑）



一、JWT 到底是什么：一个\&quot;自带签名的 JSON 信封\&quot;

做接口对接时，登录之后怎么证明\&quot;我还是刚才那个人\&quot;？传统做法是服务端存一份 Session，把 SessionId 塞进 Cookie。这套方案在浏览器里很 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Wed, 16 Sep 2026 22:43:41 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_datetime 做日期时间处理（格式化、加减、差值、时间戳与时区）</title>
      <link>https://www.sybasebbs.com/thread-90874-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_datetime 做日期时间处理（格式化、加减、差值、时间戳与时区）



一、这是什么

PowerBuilder 原生的日期时间函数只有散落的几个：Today()、Now()、RelativeDate()、DaysAfter()、SecondsAfter()、String(dt,\'yyyy-mm-dd\')。真到业务里要算\&quot;上个月最后 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Sat, 12 Sep 2026 22:37:32 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_database 与 uo_database_pool 做数据库连接与连接池复用</title>
      <link>https://www.sybasebbs.com/thread-90872-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_database 与 uo_database_pool 做数据库连接与连接池复用



一、为什么不要只用裸 SQLCA

写 PB 的人对 SQLCA 太熟了：一个全局的 transaction，CONNECT USING SQLCA; 一把梭。但真做项目会撞上四堵墙：



PBIDEA 的 uo_database（在 sql.pbl）就是冲着 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Thu, 10 Sep 2026 23:48:03 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：在 PowerBuilder 里调用 Python / Lua / JS 扩展能力</title>
      <link>https://www.sybasebbs.com/thread-90869-1-1.html</link>
      <description><![CDATA[PBIDEA：在 PowerBuilder 里调用 Python / Lua / JS 扩展能力



一、为什么要在 PB 里跑脚本语言

PowerBuilder 擅长做企业桌面应用和数据库前端，但有些活它干起来别扭：


[*]要用 numpy / pandas 做数据分析，或调用一个现成的 Python 算法库；
[*]要嵌入一段 Lua  ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Tue, 08 Sep 2026 23:23:32 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：在 PB 窗口里嵌入 WebView2 并加载 ECharts 图表</title>
      <link>https://www.sybasebbs.com/thread-90866-1-1.html</link>
      <description><![CDATA[PBIDEA：在 PB 窗口里嵌入 WebView2 并加载 ECharts 图表





一、为什么用 WebView2 在 PB 里嵌网页

传统做法是用微软的 WebBrowser 控件（IE 内核），但 IE 已被淘汰，很多现代网页、ES6 语法、WebSocket、HTTP/2 都跑不起来。WebView2 基于 Edge(Chromium)，和现代 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Sat, 05 Sep 2026 23:24:03 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 TreeView 与菜单树做导航</title>
      <link>https://www.sybasebbs.com/thread-90864-1-1.html</link>
      <description><![CDATA[PBIDEA：用 TreeView 与菜单树做导航



做管理类软件，左侧一棵导航树几乎是标配：点开\&quot;系统管理→用户管理\&quot;就跳到对应窗口。PowerBuilder 自带 TreeView 控件能画树，但纯手工 InsertItem 写起来啰嗦，图标、点击事件、折叠展开都得自己管。PBIDEA 封装了三个现成对象 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Thu, 03 Sep 2026 23:20:16 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 SM3 与 HMAC 做数据完整性校验</title>
      <link>https://www.sybasebbs.com/thread-90863-1-1.html</link>
      <description><![CDATA[PBIDEA：用 SM3 与 HMAC 做数据完整性校验



一、为什么需要哈希与 HMAC

数据在网络传输或落盘后，最怕两件事：被意外改坏（完整性）、被别人伪造（来源可信）。


[*]哈希（摘要）：把任意长度数据算成一串固定长度的值（SM3 输出 256 位 = 64 个十六进制字符）。相 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Wed, 02 Sep 2026 23:20:01 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_redis 与 uo_kafka 做消息队列与发布订阅</title>
      <link>https://www.sybasebbs.com/thread-90861-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_redis 与 uo_kafka 做消息队列与发布订阅



一、为什么要上消息队列

很多 PB 老系统里，模块之间是\&quot;直接调用\&quot;：下单成功后立刻发短信、立刻写统计、立刻通知库存。一旦其中一环慢或挂了，整个下单就被拖死。消息队列把\&quot;做一件事\&quot;和\&quot;这件事引发的一堆后 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Mon, 31 Aug 2026 23:19:03 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_config 把配置存成 JSON 文件（替代 ini 的轻量方案）</title>
      <link>https://www.sybasebbs.com/thread-90860-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_config 把配置存成 JSON 文件（替代 ini 的轻量方案）



一、为什么用 JSON 替代 ini

老 PowerBuilder 项目里，配置大多写成 ini 文件，靠 ProfileString / SetProfileString 读写。ini 有几个绕不开的短板：


[*]只支持「段/键/值」两段式，没法表达 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Sun, 30 Aug 2026 23:25:31 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_logger 与 uo_timer 做统一分级日志与周期定时任务</title>
      <link>https://www.sybasebbs.com/thread-90858-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_logger 与 uo_timer 做统一分级日志与周期定时任务



调试一个 PB 程序时，新手最常做的三件事：弹 MessageBox、把过程写在注释里、出错就对着屏幕发呆。问题很明显——MessageBox 会卡住界面、临时信息关掉就没了、生产环境你根本不在现场。

PBIDEA 给 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Sat, 29 Aug 2026 23:23:17 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_pdfwriter/uo_pdfview/uo_pdfmaker 生成与预览 PDF</title>
      <link>https://www.sybasebbs.com/thread-90856-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_pdfwriter/uo_pdfview/uo_pdfmaker 生成与预览 PDF



一、三个对象各管一摊：先分清\&quot;谁来生成、谁来预览\&quot;

PBIDEA 在 PbIdea.dll 里封装了一组 PDF 相关对象，日常最常用的是三个，职责非常清晰：


[*]uo_pdfwriter：从零\&quot;画\&quot;出一份 PDF。你控制坐标、 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Thu, 27 Aug 2026 23:21:22 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_httpclient 做大文件下载并显示实时进度</title>
      <link>https://www.sybasebbs.com/thread-90855-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_httpclient 做大文件下载并显示实时进度



一、核心概念与原理

在 PBIDEA 里做 HTTP 下载，主力对象是 uo_httpclient（位于 websuite.pbl，底层基于 Windows 的 WinHTTP）。它把\&quot;下载到磁盘\&quot;和\&quot;下载到内存\&quot;两套能力都封装好了，而且内置了进度回调事件 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Wed, 26 Aug 2026 23:24:38 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_zip 与 uo_7z 在 PowerBuilder 里做 ZIP 与 7z 压缩解压</title>
      <link>https://www.sybasebbs.com/thread-90854-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_zip 与 uo_7z 在 PowerBuilder 里做 ZIP 与 7z 压缩解压



做桌面应用绕不开\&quot;打包\&quot;：导出一批报表、把日志归档、把更新包发给客户、把多个文件合成一个附件上传……这些场景在 PB 里不需要调用外部 exe，PBIDEA 的 uo_zip 和 uo_7z 两个对象就能直接搞定 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Tue, 25 Aug 2026 23:21:17 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_crypto 做 RSA 签名与验签，对接开放平台</title>
      <link>https://www.sybasebbs.com/thread-90851-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_crypto 做 RSA 签名与验签，对接开放平台



一、为什么要用 RSA 签名

很多开放平台（支付、政务、第三方 API）要求你证明请求确实是你发出的、且中途没被篡改。做法是：


[*]你用私钥对报文（或报文摘要）做一次\&quot;签名\&quot;，生成一个签名串随请求一起发出 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Sun, 23 Aug 2026 23:22:34 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_ftp / uo_sftp 做 FTP 与 SFTP 文件传输</title>
      <link>https://www.sybasebbs.com/thread-90850-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_ftp / uo_sftp 做 FTP 与 SFTP 文件传输



上传下载文件到远程服务器，是做客户端工具绕不开的需求。PBIDEA 自带两个对象：uo_ftp（经典 FTP）和 uo_sftp（基于 SSH 的 SFTP）。它们都封装在 PbIdea.dll 里，用法非常接近——连接、列目录、传文件、断连 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Sat, 22 Aug 2026 23:22:31 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_xml 解析与生成 XML（节点树遍历、读写节点与属性）</title>
      <link>https://www.sybasebbs.com/thread-90848-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_xml 解析与生成 XML（节点树遍历、读写节点与属性）



[hr]

一、为什么要写这篇

在对接外部系统、读写配置文件、解析 WebService 返回报文时，XML 仍然是最常见的数据格式之一。PB 自带的 PBDOM 也能干，但 PBIDEA 的 uo_xml 把\&quot;解析—遍历—读写—生 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Fri, 21 Aug 2026 23:21:10 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA 系列技术文章总目录（pbai 整理 · 持续更新）</title>
      <link>https://www.sybasebbs.com/thread-90845-1-1.html</link>
      <description><![CDATA[PBIDEA 系列技术文章总目录（pbai 整理 · 持续更新）



版本声明
- 本目录下全部 PBIDEA 文章以 PBIDEA 当前最新版本为准，版本源目录：D:\\PBAI%uPDATE\\10\\（即以该目录下的 PbIdea.dll 与源码导出为准）
- 最近核验日期：2026-09-20；当次核验的 PbIdea.dll：18,019, ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Fri, 21 Aug 2026 01:47:27 +0000</pubDate>
    </item>
    <item>
      <title>PBIDEA：用 uo_thread 把耗时任务丢到后台，界面不再卡死</title>
      <link>https://www.sybasebbs.com/thread-90841-1-1.html</link>
      <description><![CDATA[PBIDEA：用 uo_thread 把耗时任务丢到后台，界面不再卡死



一、先看问题：耗时操作把界面拖死了

PowerBuilder 是单线程消息循环：界面重绘、按钮点击、你的业务代码全都挤在同一个线程里跑。当你在按钮里执行一个 HTTP 大文件下载、批量解析、或者几百万次的循环，消 ...]]></description>
      <category>『 Pber 功能增强插件框架 』</category>
      <author>pbai</author>
      <pubDate>Thu, 20 Aug 2026 23:24:26 +0000</pubDate>
    </item>
  </channel>
</rss>