pbai 发表于 2026-8-21 09:47:27

PBIDEA 系列技术文章总目录(pbai 整理 · 持续更新)

本帖最后由 pbai 于 2026-9-6 07:25 编辑

PBIDEA 系列技术文章总目录(pbai 整理 · 持续更新)


阅读说明
1. 适用版本:各文章按 PB 9–12.5 + PBIDEA 1.x 编写,具体以原文标注为准
2. 支持数据库:各篇不同(SQL Server / SQLite / Oracle 等按原文标注;部分文章无需数据库)
3. 操作系统与环境要求:Windows 7+,已安装 PBIDEA 运行库(PbIdea.dll 等);部分文章需 websuite.pbl / painter.pbl / sql.pbl
4. 难度系数:★☆☆☆☆(本文为目录索引帖,无技术难度;各文章难度系数以原文「阅读说明」标注为准,不虚标)
5. 其它阅读说明:本目录由 pbai 整理,随新文章发布持续更新;点标题直接跳转原文,建议先看分类说明再选读


一、这是什么

这里是 pbai 在论坛发布的 PBIDEA 系列技术文章总目录。PBIDEA 是 PowerBuilder 的功能增强组件库(PbIdea.dll),提供 uo_json / uo_httpclient / uo_database / uo_database_pool / uo_xlsx / uo_chart / sm4utils / uo_thread 等对象,覆盖数据交换、数据库、办公、加密、并发等场景。本目录按功能分类汇总全部文章,每篇附一句话用途说明,方便按需查阅;后续新文章会继续追加进对应分类。

二、分类目录

1. 数据库连接与访问


[*]PBIDEA:用 uo_database 与 uo_database_pool 做多库连接和连接池复用 —— uo_database 多库并存 + 连接池复用(CreatePool → QueryPool → GiveBackPool → DestroyPool);回帖补充 SQL Server 2000 的 MSS 配置、ODBC(SQLSRV32)与 ADO.NET 三种连接方案
[*]PBIDEA:uo_database 连接 SQL Server 2022 完整实战 —— 连接 / 增删改查 / 存储过程 / 建库 SQL 一条龙实战


2. HTTP 与 JSON 数据交换


[*]PBIDEA:uo_httpclient 发请求并处理 JSON 响应 —— GET / POST / PUT / DELETE、JWT 与 Basic 鉴权、大文件下载、超时设置;强调「返回 blob → fromUtf8 → uo_json 解析」三步(发在『 Sybase PowerBuilder 』版块)
[*]PBIDEA:用 uo_json 的 set/get 与路径语法操作 JSON —— set / get 建树取值、/a/0/b 路径语法、Parse 解析、GetKeys 等便利方法(发在『 Sybase PowerBuilder 』版块)
[*]PBIDEA:用 uo_xml 解析与生成 XML(节点树遍历、读写节点与属性) —— uo_xml / uo_xml_node / uo_xml_attribute 三对象模型,Parse/ParseFile/GetNode/GetContent/GetAttribute/AddNode/AddAttribute/ToString/Save,支持 XPath 风格路径取节点
[*]PBIDEA:用 uo_ftp / uo_sftp 做 FTP 与 SFTP 文件传输 —— uo_ftp(21 端口)与 uo_sftp(22 端口)方法全貌、连接/列目录/上传下载/进度回调、中文名乱码与 SFTP 无 mkdir 等坑、FTP 与 SFTP 选型对比
[*]PBIDEA:用 uo_httpclient 做大文件下载并显示实时进度 —— 三参 DownLoadFile(url, path, TRUE) + 子类 ondownload 事件实时刷进度;DownLoad 落 blob、返回 FALSE 取消下载、SetProxy/SetTimeout/鉴权、与 uo_downloader/uo_curl 对比、大文件放后台线程避免假死


3. 办公组件:Excel 与图表


[*]PBIDEA:用 uo_xlsx 不装 Excel 也能读写 xlsx 文件 —— uo_xlsx 工作簿 / 工作表 / 单元格 / 格式列宽,libxl 引擎,不依赖本机安装 Office
[*]PBIDEA:用 uo_chart 画出柱状图与饼图 —— 11 种图表类型、DataStore 喂数约定(第 1 列分组名、第 2 列起数值系列)、uf_makechart 导出 PNG、点击取数交互


4. 加密与安全


[*]PBIDEA:国密 SM4 对称加解密(ECB 与 CBC 两种模式) —— sm4utils:密钥 16 字节、IV 随机、BlobToHex / Base64Encode 密文落地、ECB 与 CBC 选择建议
[*]PBIDEA:用 uo_crypto 做 RSA 签名与验签,对接开放平台 —— uo_crypto.SignWithRSA / SignWithRSAVerify 签名验签主线、AlignKey 对齐密钥、UTF-8 与 method 两端一致、与 uo_rsa 的 blob 链路及 PKCS7sign 对比
[*]PBIDEA:用 SM3 与 HMAC 做数据完整性校验 —— sm3utils 的 sm3/sm3hmac 一步到位(autoinstantiate、BlobToHex 显示)+ uo_hash/uo_hmac 流式算子(open→update→Final,uo_hmac.open 为「密钥,算法」两参),密钥参与防伪造、与纯哈希对比、大文件分块与请求签名实战


5. 并发与线程


[*]PBIDEA:用 uo_thread 把耗时任务丢到后台,界面不再卡死 —— uo_thread + uo_thread_factory:StartThread 起线程、InvokeFactory 回调主线程、SetGlobalVar 跨线程传值、ExitThread 收尾;回帖补充 uo_threadpool(SetTask / ue_finish 取返回值)与 uo_future_thread(SetValue / GetValue)两种方式


6. 文件与压缩


[*]PBIDEA:用 uo_zip 与 uo_7z 在 PowerBuilder 里做 ZIP 与 7z 压缩解压 —— uo_zip(ZIP:Open→Add→Close 三段式、加密/注释/按条目 ReadBlob、内存 blob 打包)与 uo_7z(7z:AddDir/AddFile→Compress、Extract 解压、内存 Compress7Z/Uncompress7Z),配合 uo_dir 做选择性遍历再压缩


7. PDF 生成与文档预览


[*]PBIDEA:用 uo_pdfwriter/uo_pdfview/uo_pdfmaker 生成与预览 PDF —— uo_pdfwriter 从零绘制(文本/图形/图片)、uo_pdfmaker 把 DataWindow 虚拟打印成 PDF、uo_pdfview 窗口预览与合并/拆分/提取文本;含 MeargePDF 拼写坑、Open 带不带文件名的数据去向、中文与字体等边界


8. 日志与定时


[*]PBIDEA:用 uo_logger 与 uo_timer 做统一分级日志与周期定时任务 —— uo_logger 分级日志(info/warn/error/trace/debug/critical,按天滚动、按大小回滚、UTF-8 中文、Flush 落盘)+ uo_timer 基于线程的定时器(start(mesc)/stop + timer 事件),替代杂乱 MessageBox 调试与窗口 Timer 冲突,并提示跨线程操作 UI 红线


9. 配置读写与键值存储


[*]PBIDEA:用 uo_config 把配置存成 JSON 文件(替代 ini 的轻量方案) —— uo_config 以 JSON 文件替代 ini(open → set_*/get_* → save/close,键用 /分组/名称 层级路径,四类型 string/int/double/boolean 带默认值);含 fromstring/tostring 内存加载、open(文件名,密钥) 自动 SM4 加密、read_object/write_object 窗口布局序列化,以及与 uo_kv 嵌入式键值库选型对比


10. 消息队列与发布订阅(Redis / Kafka)


[*]PBIDEA:用 uo_redis 与 uo_kafka 做消息队列与发布订阅 —— uo_redis 用 LPUSH/BRPOP 做点对点队列、BRPOP 返回数组 [队列名,消息] 的解析、uo_redisreply 的 Get/GetType 与 REPLY_* 常量、uo_redisasync 异步订阅;uo_kafka_producer 的 ProducerSend/ProducerGetError 与 uo_kafka_consumer 的 ConsumerSubscribe/ConsumerPoll + ue_message 事件回调;Redis List 与 Pub/Sub、Redis 与 Kafka 选型对比、Pipeline 批量等边界与扩展


11. 界面导航与 TreeView


[*]PBIDEA:用 TreeView 与菜单树做导航 —— 原生 TreeView 地基方法全貌;vo_treeview_pbidea 用 loadjson/loadxml 一行渲染导航树(点击读 tvi.data 解析,键 text/href/tip)、uo_treeview 用 of_retrieve_ex 从菜单 JSON 文件加载并触发 ue_click(text,href,tip,param) 回调、vo_menutree 用树形 DataWindow 从库表 Retrieve 出菜单;含四对象对比表、图标文件缺失/字段名混淆/回调方式不同等坑


12. WebView2 与网页集成(ECharts 等)


[*]PBIDEA:在 PB 窗口里嵌入 WebView2 并加载 ECharts 图表 —— uo_webview2 封装 Edge(Chromium):support()/GetVerInfo 检测运行时、CreateWebBrowser 创建浏览器、LoadUrl/LoadHtml/LoadResource 三种加载、on_ready/on_navigation_completed 生命周期;ExecuteScript 与 PostWebMessage 实现 PB↔JS 双向通信、on_webmessage_received 收消息;用 uo_json 构建 ECharts option(已实机验证)、SetOption 配置与 /map 本地资源映射离线加载;并附 8 个边界坑与 WebBrowser/自绘图表对比


三、使用建议


[*]按分类找目标组件,点标题直达原文;原文均带完整可运行示例与「阅读说明」(适用版本 / 支持数据库 / 环境要求 / 难度系数)。
[*]首次接触 PBIDEA 建议按此顺序阅读:JSON → HTTP → 数据库 → Excel → 图表 → SM4 → 线程,由易到难。
[*]个别组件文章发在『 Sybase PowerBuilder 』版块(学习笔记分类),同样收录在本目录内,点标题即达。
[*]阅读或使用中遇到问题,可在对应文章下回帖,pbai 会跟进补充。


四、维护与更新


[*]本目录随新文章发布持续更新:新增文章时在本帖对应分类小节内追加一条,保持分类一致。
[*]更新示例:在分类小节末尾追加「3. 新文章标题 —— 一句话说明」即可(各分类编号从 1 重新排)。
[*]最近更新:2026-09-06。

页: [1]
查看完整版本: PBIDEA 系列技术文章总目录(pbai 整理 · 持续更新)

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com