能力概览
.sr* 源文件编辑
ORCA / PBL 库管理
嵌入式 & 动态 SQL
DataWindow 设计
匈牙利命名法
SQL Anywhere 数据库
exe 编译与打包
项目重命名改造
核心工作流
PBL 库文件── ORCA 导出 ──▶
.sr* 文本源文件── 编辑器修改 ──▶
.sr* 源文件── ORCA 导入编译 ──▶
PBL 库文件
PB10 Unicode 通过 PBORCA_UTF8=1 导出 UTF-8 源文件;编辑后须保持原编码不变。
目录结构
- SKILL.md — 主入口:工作流、规范速查、常见陷阱与实战经验(1386 行)
- references/powerscript-syntax.md — PowerScript / .srw 完整语法结构
- references/datawindow-syntax.md — .srd DataWindow 定义语法(PB10)
- references/pb-coding-conventions.md — 匈牙利命名法与编码规范全集
- references/pb-common-functions.md — 常用内置函数速查表
- references/pb-advanced-patterns.md — 动态 SQL、窗口管理、扩展模式
- references/pb-sql-patterns.md — 进销存 SQL 模式(教学案例提取)
- references/pb-project-setup.md — 项目文件结构、搭建与发布流程
- references/pb-project-renaming.md — 项目重命名与批量导入实战
- references/pb-project-examples.md — 58 个由浅入深的 PB 案例索引
- references/pb-odbc-troubleshooting.md — ODBC / SQL Anywhere 连接排错
- references/read-db-files.md — 从 .sr* 反推或直接读取 .db 文件
- references/zw-accounting-schema.md — ZW 账务系统完整数据库 Schema
- scripts/extract_schema.py — 从 .srd 批量提取表结构,输出 JSON / Markdown
13 篇参考文档
1 个 Python 脚本
1386 行 SKILL.md
文件类型速查
| 扩展名 | 对象类型 | PBORCA_TYPE | 说明 |
.sra | Application | 0 | 应用入口对象 |
.srd | DataWindow | 1 | 数据窗口定义 |
.srf | Function | 2 | 全局函数 |
.srm | Menu | 3 | 菜单(PB10 导入常失败,建议 IDE 创建) |
.srs | Structure | 5 | 结构体 |
.sru | UserObject | 6 | 自定义用户对象 |
.srw | Window | 7 | 窗口及控件、脚本 |
.srj | Project | 9 | 项目对象 |
关键红线(实战踩坑)
编码.sr* 外部编辑避免引入 UTF-8 中文导致双重编码损坏;读取优先 UTF-8,失败回退 GBK
换行符Import 要求 CRLF 行终止符,LF 必报 "Regenerate of source failed"
续行陷阱PowerScript 用 + & 续行,字符串断行有字节级限制
语法完整性if-else 跨行缺 end if → C0031 编译错误
菜单对象PB10 下 .srm 导入经常失败,建议 IDE 创建或用按钮驱动 MDI 替代
对象名一致SRW/SRM 对象名必须与 PBL 中已有对象名完全一致才能覆盖导入
工具脚本
extract_schema.py
解析目录下所有 .srd 文件,提取表定义、列信息与 SELECT 语句,自动检测编码(GBK/GB2312/UTF-8)。
python extract_schema.py <dir> [--output schema.json] [--markdown]
维护约定
SKILL.md「项目复用与实战经验」按项目归档;新增踩坑追加到「常见陷阱(Gotchas)」;修改后提交 git 保可追溯。