117 lines
5.2 KiB
Markdown
117 lines
5.2 KiB
Markdown
# Uft30ChangeCode(UFT30 代码转换工具)
|
||
|
||
一款基于 **Qt 6 + MinGW** 开发的桌面工具,用于将 UF20 业务代码转换为 UFT3 格式,并提供功能查询、代码检索、元数据更新、数据映射等配套能力。UI 采用 [ElaWidgetTools](3rd/ElaWidgetTools) 组件库。
|
||
|
||
- 当前版本:**v1.4.0**
|
||
- 运行平台:Windows
|
||
- 界面框架:Qt Widgets + ElaWidgetTools
|
||
|
||
## 功能特性
|
||
|
||
| 模块 | 说明 |
|
||
| --- | --- |
|
||
| 业务转码 | 将 UF20 函数批量转换为 UFT3 函数格式,支持进度显示与中止 |
|
||
| 功能查询 | UF20 / UFT3 功能(函数)查找,支持 2.0 账户功能查询 |
|
||
| 代码检索 | "转码业务" / "非转码业务" 调用链路分析,支持涉及文件与调用链导出 |
|
||
| 元数据更新 | 更新 UF20 / UFT3 标准字段、数据类型、接口数据等,支持增量更新与强制全量更新 |
|
||
| 数据映射 | 表映射、函数映射 |
|
||
| 设置 | 配置 UFT30 / UF20 项目路径、账户环境路径、转码生成路径等 |
|
||
| 其它 | 在线帮助文档、关于页、版本更新提示;全局文字可选中复制、表格 Ctrl+C 导出 |
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
Uft30ChangeCode/
|
||
├─ main.cpp # 程序入口,安装全局文字可复制过滤器
|
||
├─ Uft30ChangeCode.pro # qmake 工程文件
|
||
├─ build.bat # 一键构建脚本(Release)
|
||
├─ build_advanced.bat # 进阶构建脚本
|
||
├─ config/
|
||
│ └─ change_code.ini # 默认配置模板(构建时按需部署到 bin/uf2touft3/)
|
||
├─ src/
|
||
│ ├─ mainwindow/ # 主窗口
|
||
│ ├─ pages/ # 各功能页面(batchconvert / codesearch / functionsearch / metadatupdate / datamapping / settings / about)
|
||
│ ├─ metadataupdate/ # 元数据扫描与处理(UF2 / UFT3 接口、数据类型、字段等)
|
||
│ ├─ pythonrunner/ # 调用外部转码工具(uf2touft3.exe)
|
||
│ ├─ components/ # 自定义控件
|
||
│ └─ utils/ # 公共工具(日志、配置读取、调用链分析、版本检查、常量等)
|
||
├─ 3rd/ # 第三方库(ElaWidgetTools 等)
|
||
├─ resources/ resources.qrc # 图标等资源
|
||
├─ help/ # 帮助文档(Writerside)
|
||
└─ update_info.json # 版本发布说明
|
||
```
|
||
|
||
## 构建
|
||
|
||
### 环境要求
|
||
|
||
- Qt 6.6.2(mingw_64)
|
||
- MinGW 11.2.0(Qt Tools 自带)
|
||
|
||
`build.bat` 中默认路径如下,如与本机不一致请自行修改:
|
||
|
||
```bat
|
||
set QT_PATH=D:\01.InstallInfo\InstallPath\QT\6.6.2\mingw_64
|
||
set MINGW_PATH=D:\01.InstallInfo\InstallPath\QT\Tools\mingw1120_64
|
||
```
|
||
|
||
### 一键构建
|
||
|
||
```bat
|
||
build.bat
|
||
```
|
||
|
||
脚本会依次执行:关闭正在运行的程序 → 清理旧构建产物 → `qmake` → `mingw32-make release` → `windeployqt` 部署 Qt 运行库 → 按需部署默认 `change_code.ini`。
|
||
|
||
构建产物:`bin\Uft30ChangeCode.exe`
|
||
|
||
> 注意:外部转码工具 `bin\uf2touft3\uf2touft3.exe` 需自行放置,程序运行时依赖它完成实际转码。
|
||
|
||
### 手动构建
|
||
|
||
```bat
|
||
qmake Uft30ChangeCode.pro -spec win32-g++
|
||
mingw32-make release
|
||
```
|
||
|
||
## 配置说明(`config/change_code.ini`)
|
||
|
||
构建时若 `bin/uf2touft3/change_code.ini` 不存在,会从 `config/change_code.ini` 拷贝一份默认模板;已存在则保留用户配置不覆盖。
|
||
|
||
### `[codeSearch]` 代码检索路径
|
||
|
||
| 键 | 说明 |
|
||
| --- | --- |
|
||
| `convertPath` | 转码业务代码检索路径 |
|
||
| `searchPath` | 非转码业务代码检索路径 |
|
||
|
||
### `[log]` 日志配置
|
||
|
||
| 键 | 默认值 | 说明 |
|
||
| --- | --- | --- |
|
||
| `level` | `INFO` | 日志等级:`DEBUG` < `INFO` < `WARNING` < `ERROR`,等级越高输出越少 |
|
||
| `path` | `./logs` | 日志输出目录(相对路径基于 exe 目录,绝对路径直接生效) |
|
||
| `file` | `change_code.log` | 日志文件名 |
|
||
| `fileEnabled` | `true` | 是否写入日志文件 |
|
||
| `maxSize` | `10MB` | 单个日志文件最大大小(支持 `B`/`KB`/`MB`/`GB`,`0` 表示不限制) |
|
||
| `maxFiles` | `100` | 日志文件轮转保留数量 |
|
||
| `maxAge` | `30` | 日志文件保留天数(`0` 表示不限制) |
|
||
| `console` | `true` | 是否在控制台打印日志 |
|
||
| `caller` | `false` | 是否在日志中附加调用堆栈(仅 Windows 生效) |
|
||
| `format` | `text` | 日志格式:`text` / `json` |
|
||
| `timeFormat` | `2006-01-02 15:04:05.000` | 时间格式(支持 Go 风格布局或 Qt 格式) |
|
||
|
||
## 帮助文档
|
||
|
||
更多使用说明见 `help/` 目录(Writerside 工程),涵盖业务转码、功能查询、代码检索、元数据更新、数据映射、设置等模块的图文操作指引。
|
||
|
||
## 版本记录
|
||
|
||
| 版本 | 主要更新 |
|
||
| --- | --- |
|
||
| v1.4.0 | 提升业务转码性能;元数据更新支持增量/强制全量;新增代码检索与函数调用链路分析;支持全局文字选中复制及表格 Ctrl+C 导出 |
|
||
| v1.3.0 | 修复设置路径不生效;修复元数据更新后转码函数检查状态异常 |
|
||
| v1.2.0 | 新增数据映射(表映射、函数映射);新增版本更新提示 |
|
||
| v1.1.0 | 支持 2.0 账户功能查询及业务转码 |
|
||
| v1.0.0 | 首个版本:业务转码、UF20/UFT3 功能查找、帮助文档、接口元数据更新、设置 |
|