VI-Explorer 项目分析
# VI-Explorer 项目分析
## 项目概述
VI-Explorer 是一个低级别的 NI LabView VI 文件格式读取器,兼容 LabView 5.0 到 2016 版本的 VI 文件格式。该项目允许用户读取和修改 VI 文件的各个组成部分。
## 核心文件和功能
### 1. 基础文件操作类
- clFile.php :提供基础的文件读写功能,是整个项目的基础类。包含读写文件内容的方法,以及创建文件读取器的功能。
- clFileReader.php :内部类,用于更方便地读取文件内容,提供了读取字符串、整数等方法。
### 2. 核心控制类
- clLabView.php :核心控制类,管理整个 VI 文件的解析流程。负责识别文件格式、读取数据块信息、协调各个组件的工作。
### 3. 组件类
- clBDPW.php :处理密码相关功能,包括读取和设置密码哈希。
- clBDHx.php :读取 Block diagram(程序框图)数据。
- clFPHx.php :读取 Frontpanel(前面板)数据。
- clVers.php :读取版本信息。
- clVCTP.php :读取连接器/终端信息。
- clIcon.php :读取 VI 文件中的图标。
- clLVSR.php :读取一般版本信息,包括库密码设置。
- clObjFile.php :用于解析对象树结构的基础类,被 clBDHx 和 clFPHx 继承。
### 4. 辅助文件
- example .php :示例文件,展示如何使用该库读取和修改 VI 文件。
- clError.php :错误处理类,用于管理和报告错误。
## 功能特点
- 打开 VI 文件并解析其结构
- 读取和写入密码哈希
- 读取版本信息
- 读取程序框图
- 读取前面板
- 读取连接器/终端配置
- 读取图标
- 修改某些属性(如密码)并保存回文件
## 使用流程
1. 1.
通过 clFile 类打开 VI 文件
2. 2.
创建 clLabView 实例并传入文件读取器
3. 3.
调用 readVI() 方法解析文件
4. 4.
使用各种 get 方法获取不同部分的内容
5. 5.
可以修改某些内容(如密码)
6. 6.
使用 store() 方法保存修改后的文件
## 注意事项
- 该项目是一个"概念验证"工具,作者声明不提供任何保证
- 有些功能可能不完全稳定(如版本修改功能)
- 密码设置功能需要先保存为 LabView 2011 版本才能正常工作
这个库提供了一个深入了解 LabView VI 文件格式的途径,对于需要批量处理或自动化修改 LabView VI 文件的开发者来说非常有用。
GitHub - tomsoftware/VI-Explorer-VI: Low level LabView .vi File reader