Files
geomative/GeomativeStudio/.qoder/repowiki/zh/content/安装与配置/配置说明/配置说明.md
T
coco df489d5640 a
2026-07-03 16:05:30 +08:00

11 KiB
Raw Blame History

配置说明

**本文档引用的文件** - [config.ini](file://config.ini) - [Install\Geomative Studio\config.ini](file://Install/Geomative Studio/config.ini) - [database_modify.xml](file://database_modify.xml) - [version_info.txt](file://version_info.txt) - [cpp\Main\GeoMative.cpp](file://cpp/Main/GeoMative.cpp) - [cpp\Tools\checkupdate.cpp](file://cpp/Tools/checkupdate.cpp)

目录

  1. 项目结构
  2. 核心配置文件分析
  3. 配置加载与优先级
  4. 版本管理与更新机制
  5. 数据库变更管理
  6. 配置最佳实践

项目结构

GeomativeStudio项目的目录结构清晰地分为多个功能区域,包括缓存、数据库、安装包、日志、发布版本和源代码等。项目根目录下的config.ini文件是主要的配置文件,而Install目录下也包含了一个config.ini副本,用于安装过程中的配置。

graph TD
A[GeomativeStudio] --> B[CACHE]
A --> C[DB]
A --> D[Install]
A --> E[LOG]
A --> F[Release]
A --> G[cpp]
A --> H[h]
A --> I[res]
A --> J[tools]
A --> K[config.ini]
A --> L[database_modify.xml]
A --> M[version_info.txt]
D --> N[GD_10]
D --> O[Geomative Studio]
O --> P[LOG]
O --> Q[tools]
O --> R[config.ini]
O --> S[database_modify.xml]
O --> T[version_info.txt]
F --> U[DB]
F --> V[config.ini]

Diagram sources

Section sources

核心配置文件分析

UI配置节

[UI]配置节主要控制用户界面的语言设置。Language参数决定了应用程序的显示语言。

  • Language: 语言设置参数,值为1表示中文,2表示英文。该参数在程序启动时被读取,并通过WM_CHANGE_LANGUAGE消息通知主窗口切换语言。
[UI]
Language=1

Section sources

传输信息配置节

[TRANSFER_INFO]配置节定义了软件更新和主页的URL地址。

  • Url: 自动更新服务器的URL地址,用于检查和下载新版本。
  • HomePage: 公司官方网站地址,用于用户访问更多信息。
[TRANSFER_INFO]
Url=http://update.geomative.com/Upgrade/software/V2.0
HomePage=http://www.geomative.com/

Section sources

数据导出配置节

[EXPORT_DATA]配置节控制数据导出的样式设置。

  • 2dDataExpStyle: 二维数据导出样式,值为0表示默认样式。
[EXPORT_DATA]
2dDataExpStyle=0

Section sources

在线设备配置节

[ONLINE_DEVICE]配置节定义了远程设备连接的网络参数。

  • RemoteType: 远程传输类型,值为2表示云传输模式。
  • IP: 远程服务器IP地址。
  • Port: 远程服务器端口号。
[ONLINE_DEVICE]
RemoteType=2
IP=120.31.131.181
Port=8769

Section sources

用户信息配置节

[USER_INFO]、[USER_Pwd]、[USER_Save]和[USER_Auto]配置节共同管理用户认证信息。

  • UserID: 用户ID,用于身份识别。
  • UserPwd: 用户密码,用于身份验证。
  • UserSave: 是否保存密码,1表示保存,0表示不保存。
  • UserAuto: 是否自动登录,1表示自动登录,0表示手动登录。
[USER_INFO]
UserID=12345637

[USER_Pwd]
UserPwd=123456

[USER_Save]
UserSave=1

[USER_Auto]
UserAuto=0

Section sources

跨孔测量配置节

[CROSS_HOLE_CFG]配置节定义了跨孔测量的配置组,包含多个CFG_n子节。

  • Number: 配置组数量,表示有多少个CFG_n配置节。
  • CFG_n: 每个配置组包含Name、FirstPoleDep和HoleSpace三个参数。
[CROSS_HOLE_CFG]
Number=6

[CFG_1]
Name=1_2
FirstPoleDep=1
HoleSpace=2.66

[CFG_2]
Name=1_3
FirstPoleDep=1
HoleSpace=2.78

Section sources

配置加载与优先级

GeomativeStudio的配置加载遵循特定的优先级规则。根目录下的config.ini文件优先于安装目录中的副本。程序启动时,会从根目录的config.ini文件中读取配置信息。

配置加载过程如下:

  1. 程序启动时,首先读取config.ini文件中的各种配置参数。
  2. 使用Windows API GetPrivateProfileStringGetPrivateProfileInt函数读取INI文件中的字符串和整数参数。
  3. 对于跨孔测量配置,程序会先读取[CROSS_HOLE_CFG]节的Number参数,然后循环读取每个[CFG_n]节的配置。
  4. 如果配置文件中缺少必要的参数,程序会记录错误日志并可能显示错误消息。
sequenceDiagram
participant App as 应用程序
participant Config as config.ini
participant Memory as 内存
App->>Config : 读取Language参数
Config-->>App : 返回1(中文)
App->>Memory : 设置语言为中文
App->>Config : 读取Transfer_Info
Config-->>App : 返回URL和主页
App->>Config : 读取Online_Device
Config-->>App : 返回IP和端口
App->>Config : 读取Cross_Hole_Cfg
Config-->>App : 返回配置数量
loop 每个CFG_n配置
App->>Config : 读取CFG_n参数
Config-->>App : 返回Name, FirstPoleDep, HoleSpace
App->>Memory : 存储配置
end

Diagram sources

Section sources

版本管理与更新机制

version_info.txt文件

version_info.txt文件用于存储软件的版本信息,支持自动更新功能。

geomative_version=2.4.1

该文件包含一个简单的键值对,geomative_version表示当前软件版本。在自动更新过程中,程序会读取此文件的版本号,并与服务器上的最新版本进行比较,以决定是否需要更新。

Section sources

自动更新流程

自动更新流程如下:

  1. 程序启动时读取version_info.txt中的当前版本号。
  2. config.ini中获取更新服务器URL。
  3. 连接到更新服务器,获取最新版本信息。
  4. 比较本地版本和服务器版本,如果服务器版本更高,则提示用户更新。
  5. 下载并安装新版本。

数据库变更管理

database_modify.xml文件

database_modify.xml文件记录了数据库结构的变更历史,用于数据库版本控制和迁移。

<?xml version="1.0" encoding="UTF-8"?>
<current_version value = "1.1.2">
    <pre_version value = "1.1.2">
	    <!-- modify_type值含义 1 : 增加表  2 : 删除表  3 : 修改表 -->
	    
		 <!--   列的属性在这里只为名称,主键,值的属性,索引信息,外键,和是否为空,其中是否压缩.
			    其中 vallue_type的值域 1: text 最多255个字节 2: Memo 最多65535个字节 3: Byte 
				  4: Integer 5: Long 6: Single 7: Double 8:Currency  9 AutoNumber 10 Date/Time
				  11 Yes/No 12  Ole Object 13 Hyperlink 暂时不支持Lookup Wizard 
				  其中在1,2 中,attribute_value表示的是字符的长度,其他值时,attribute_value没有含义。
				  index值得含义: 0 : 表示没有索引, 1: 有索引并允许重复  2: 有索引不允许重复
				  is_primary_key index is_foreign_keyis_empty is_compress默认值为0 -->
		 <table name = "test" modify_type= "1" >
		    <column name = "id" is_primary_key = "1" value_type = "9" attribute_value="1"   is_foreign_key = "0" is_empty="0" is_compress="0"/>
			<column name = "col1" value_type = "2" attribute_value="20"  is_empty="1" is_compress="1"/>
			<column name = "col2" value_type = "5" attribute_value="30" is_foreign_key = "0" refer_table_name="FK_test" refer_table_col="fk1"/>
			<column name = "col3" value_type = "5" index ="2" />
	    </table>
	</pre_version>
</current_version>

该XML文件的结构说明:

  • current_version: 当前数据库版本号。
  • pre_version: 前一版本号。
  • table: 表示一个数据库表的变更。
    • name: 表名
    • modify_type: 变更类型,1表示新增,2表示删除,3表示修改
  • column: 表示表中的一列。
    • name: 列名
    • value_type: 数据类型
    • is_primary_key: 是否为主键
    • index: 索引类型

Section sources

配置最佳实践

敏感信息保护

  1. 密码保护: 避免在配置文件中明文存储敏感密码,建议使用加密存储或环境变量。
  2. 用户ID管理: 用户ID不应包含敏感信息,建议使用随机生成的唯一标识符。
  3. 配置文件权限: 确保配置文件的访问权限受到限制,防止未授权访问。

多环境配置管理

  1. 开发/生产分离: 为不同环境(开发、测试、生产)维护不同的配置文件。
  2. 配置模板: 使用模板文件,通过脚本生成特定环境的配置。
  3. 环境变量: 将环境特定的配置(如数据库连接、API密钥)通过环境变量注入。

跨孔测量参数设置

正确设置跨孔测量参数的示例:

[CROSS_HOLE_CFG]
Number=3

[CFG_1]
Name=A_B
FirstPoleDep=1.5
HoleSpace=3.0

[CFG_2]
Name=A_C
FirstPoleDep=1.5
HoleSpace=4.5

[CFG_3]
Name=B_C
FirstPoleDep=1.5
HoleSpace=3.8

关键参数说明:

  • FirstPoleDep: 第一电极深度,单位为米,表示测量起始深度。
  • HoleSpace: 孔间距,单位为米,表示两个测量孔之间的距离。

网络通信参数设置

正确设置网络通信参数的示例:

[ONLINE_DEVICE]
RemoteType=2
IP=192.168.1.100
Port=8769

[TRANSFER_INFO]
Url=http://your-update-server.com/Upgrade/software/V2.0
HomePage=http://your-company.com/

注意事项:

  1. 确保IP地址和端口号正确无误。
  2. 更新服务器URL应使用HTTPS以保证安全。
  3. 在防火墙设置中开放指定端口。